ML Reference
|
00001 // **InsertLicense** code 00002 //===================================================================================== 00004 00009 //===================================================================================== 00010 00011 #ifndef __mlVector32_H 00012 #define __mlVector32_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 Tvec32 : public FloatingPointVector<DT,32> { 00034 public: 00035 00037 typedef DT ComponentType; 00038 00039 //-------------------------------------------------------------------- 00041 00042 //-------------------------------------------------------------------- 00045 inline explicit Tvec32(DT value=0) : FloatingPointVector<DT,32>(value) 00046 { 00047 ML_TRACE_IN_TIME_CRITICAL("Tvec32::Tvec32(const DT value=0)"); 00048 } 00049 00051 inline Tvec32(const Tvec32<DT>& v) : FloatingPointVector<DT,32>(v) 00052 { 00053 ML_TRACE_IN_TIME_CRITICAL("Tvec32::Tvec32(const Tvec32<DT>& v)"); 00054 } 00055 00059 inline Tvec32(const FloatingPointVector<DT,32>& v) : FloatingPointVector<DT,32>(v) 00060 { 00061 ML_TRACE_IN_TIME_CRITICAL("Tvec32::Tvec32(const FloatingPointVector<DT,32>& v)"); 00062 } 00063 00065 inline Tvec32(const DT x00, const DT x01, const DT x02, const DT x03, 00066 const DT x04, const DT x05, const DT x06, const DT x07, 00067 const DT x08, const DT x09, const DT x10, const DT x11, 00068 const DT x12, const DT x13, const DT x14, const DT x15, 00069 const DT x16, const DT x17, const DT x18, const DT x19, 00070 const DT x20, const DT x21, const DT x22, const DT x23, 00071 const DT x24, const DT x25, const DT x26, const DT x27, 00072 const DT x28, const DT x29, const DT x30, const DT x31) 00073 { 00074 ML_TRACE_IN_TIME_CRITICAL("Tvec32::Tvec32(const DT x00, ..., const DT x31)"); 00075 00076 assign(x00, x01, x02, x03, x04, x05, x06, x07, 00077 x08, x09, x10, x11, x12, x13, x14, x15, 00078 x16, x17, x18, x19, x20, x21, x22, x23, 00079 x24, x25, x26, x27, x28, x29, x30, x31); 00080 } 00082 00083 //-------------------------------------------------------------------- 00085 00086 //-------------------------------------------------------------------- 00088 inline void assign(const DT x00, const DT x01, const DT x02, const DT x03, 00089 const DT x04, const DT x05, const DT x06, const DT x07, 00090 const DT x08, const DT x09, const DT x10, const DT x11, 00091 const DT x12, const DT x13, const DT x14, const DT x15, 00092 const DT x16, const DT x17, const DT x18, const DT x19, 00093 const DT x20, const DT x21, const DT x22, const DT x23, 00094 const DT x24, const DT x25, const DT x26, const DT x27, 00095 const DT x28, const DT x29, const DT x30, const DT x31) 00096 { 00097 ML_TRACE_IN_TIME_CRITICAL("Tvec32::assign(const DT x00, ..., const DT x31)"); 00098 00099 FloatingPointVector<DT,32>::_buffer[ 0]=x00; 00100 FloatingPointVector<DT,32>::_buffer[ 1]=x01; 00101 FloatingPointVector<DT,32>::_buffer[ 2]=x02; 00102 FloatingPointVector<DT,32>::_buffer[ 3]=x03; 00103 FloatingPointVector<DT,32>::_buffer[ 4]=x04; 00104 FloatingPointVector<DT,32>::_buffer[ 5]=x05; 00105 FloatingPointVector<DT,32>::_buffer[ 6]=x06; 00106 FloatingPointVector<DT,32>::_buffer[ 7]=x07; 00107 FloatingPointVector<DT,32>::_buffer[ 8]=x08; 00108 FloatingPointVector<DT,32>::_buffer[ 9]=x09; 00109 FloatingPointVector<DT,32>::_buffer[10]=x10; 00110 FloatingPointVector<DT,32>::_buffer[11]=x11; 00111 FloatingPointVector<DT,32>::_buffer[12]=x12; 00112 FloatingPointVector<DT,32>::_buffer[13]=x13; 00113 FloatingPointVector<DT,32>::_buffer[14]=x14; 00114 FloatingPointVector<DT,32>::_buffer[15]=x15; 00115 FloatingPointVector<DT,32>::_buffer[16]=x16; 00116 FloatingPointVector<DT,32>::_buffer[17]=x17; 00117 FloatingPointVector<DT,32>::_buffer[18]=x18; 00118 FloatingPointVector<DT,32>::_buffer[19]=x19; 00119 FloatingPointVector<DT,32>::_buffer[20]=x20; 00120 FloatingPointVector<DT,32>::_buffer[21]=x21; 00121 FloatingPointVector<DT,32>::_buffer[22]=x22; 00122 FloatingPointVector<DT,32>::_buffer[23]=x23; 00123 FloatingPointVector<DT,32>::_buffer[24]=x24; 00124 FloatingPointVector<DT,32>::_buffer[25]=x25; 00125 FloatingPointVector<DT,32>::_buffer[26]=x26; 00126 FloatingPointVector<DT,32>::_buffer[27]=x27; 00127 FloatingPointVector<DT,32>::_buffer[28]=x28; 00128 FloatingPointVector<DT,32>::_buffer[29]=x29; 00129 FloatingPointVector<DT,32>::_buffer[30]=x30; 00130 FloatingPointVector<DT,32>::_buffer[31]=x31; 00131 } 00133 }; 00134 00135 00136 //----------------------------------------------------------------------------------- 00138 00139 //----------------------------------------------------------------------------------- 00141 typedef Tvec32<MLfloat> Vector32f; 00143 typedef Tvec32<MLdouble> Vector32d; 00145 typedef Tvec32<MLldouble> Vector32ld; 00147 typedef Tvec32<MLdouble> Vector32; 00149 00150 00151 #ifdef ML_DEPRECATED 00152 00153 00154 00155 00156 ML_DEPRECATED typedef Tvec32<MLfloat> vecf32; 00159 ML_DEPRECATED typedef Tvec32<MLdouble> vecd32; 00162 ML_DEPRECATED typedef Tvec32<MLldouble> vecld32; 00165 ML_DEPRECATED typedef Tvec32<MLdouble> vec32; 00167 00168 #endif // ML_DEPRECATED 00169 00170 00171 ML_LA_END_NAMESPACE 00172 00173 #endif //of __mlVector32_H 00174 00175