ML Reference
|
00001 // **InsertLicense** code 00002 //===================================================================================== 00004 00009 //===================================================================================== 00010 00011 #ifndef __mlVector10_H 00012 #define __mlVector10_H 00013 00014 // Include system independency file and project settings. 00015 #ifndef __mlLinearAlgebraSystem_H 00016 #include "mlLinearAlgebraSystem.h" 00017 #endif 00018 #ifndef __mlLinearAlgebraDefs_H 00019 #include "mlLinearAlgebraDefs.h" 00020 #endif 00021 #ifndef __mlFloatingPointVector_H 00022 #include "mlFloatingPointVector.h" 00023 #endif 00024 00025 // All declarations of this header will be in the ML_LA_NAMESPACE namespace. 00026 ML_LA_START_NAMESPACE 00027 00028 //-------------------------------------------------------------------- 00030 //-------------------------------------------------------------------- 00032 template <class DT> 00033 class Tvec10 : public FloatingPointVector<DT,10> { 00034 public: 00035 00037 typedef FloatingPointVector<DT,10> Superclass; 00038 00040 typedef DT ComponentType; 00041 00042 //-------------------------------------------------------------------- 00044 00045 //-------------------------------------------------------------------- 00048 inline explicit Tvec10(const DT value=0) : Superclass(value) 00049 { 00050 ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const DT value=0)"); 00051 } 00052 00054 inline Tvec10(const Tvec10<DT>& v) : Superclass(v) 00055 { 00056 ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const Tvec10<DT>& v)"); 00057 } 00058 00062 inline Tvec10(const Superclass &v) : Superclass(v) 00063 { 00064 ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const Superclass &v)"); 00065 } 00066 00069 inline Tvec10(const DT x, const DT y, const DT z, const DT c, 00070 const DT t, const DT u, const DT v, const DT w, 00071 const DT a, const DT b) 00072 { 00073 ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const DT x, ... , const DT b)"); 00074 00075 assign(x,y,z,c,t,u,v,w,a,b); 00076 } 00078 00079 //-------------------------------------------------------------------- 00081 00082 //-------------------------------------------------------------------- 00084 inline void assign(const DT x, const DT y, const DT z, const DT c, 00085 const DT t, const DT u, const DT v, const DT w, 00086 const DT a, const DT b) 00087 { 00088 ML_TRACE_IN_TIME_CRITICAL("Tvec10::assign(const DT x, ... , const DT b)"); 00089 00090 Superclass::_buffer[0] = x; 00091 Superclass::_buffer[1] = y; 00092 Superclass::_buffer[2] = z; 00093 Superclass::_buffer[3] = c; 00094 Superclass::_buffer[4] = t; 00095 Superclass::_buffer[5] = u; 00096 Superclass::_buffer[6] = v; 00097 Superclass::_buffer[7] = w; 00098 Superclass::_buffer[8] = a; 00099 Superclass::_buffer[9] = b; 00100 } 00102 }; 00103 00104 00105 //----------------------------------------------------------------------------------- 00107 00108 //----------------------------------------------------------------------------------- 00110 typedef Tvec10<MLfloat> Vector10f; 00112 typedef Tvec10<MLdouble> Vector10d; 00114 typedef Tvec10<MLldouble> Vector10ld; 00116 typedef Tvec10<MLdouble> Vector10; 00118 00119 00120 #ifdef ML_DEPRECATED 00121 00122 00123 00124 00125 ML_DEPRECATED typedef Tvec10<MLfloat> vecf10; 00128 ML_DEPRECATED typedef Tvec10<MLdouble> vecd10; 00131 ML_DEPRECATED typedef Tvec10<MLldouble> vecld10; 00134 ML_DEPRECATED typedef Tvec10<MLdouble> vec10; 00136 00137 #endif // ML_DEPRECATED 00138 00139 00140 ML_LA_END_NAMESPACE 00141 00142 #endif //of __mlVector10_H 00143 00144 00145