ML Reference
|
00001 // **InsertLicense** code 00002 //===================================================================================== 00004 00009 //===================================================================================== 00010 00011 #ifndef __mlVector64_H 00012 #define __mlVector64_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 Tvec64 : public FloatingPointVector<DT,64> { 00034 public: 00035 00037 typedef FloatingPointVector<DT,64> Superclass; 00038 00040 typedef DT ComponentType; 00041 00042 //-------------------------------------------------------------------- 00044 00045 //-------------------------------------------------------------------- 00048 inline explicit Tvec64(DT value=0) : Superclass(value) 00049 { 00050 ML_TRACE_IN_TIME_CRITICAL("Tvec64::Tvec64(const DT value=0)"); 00051 } 00052 00054 inline Tvec64(const Tvec64<DT>& v) : Superclass(v) 00055 { 00056 ML_TRACE_IN_TIME_CRITICAL("Tvec64::Tvec64(const Tvec64<DT>& v)"); 00057 } 00058 00062 inline Tvec64(const Superclass &v) : Superclass(v) 00063 { 00064 ML_TRACE_IN_TIME_CRITICAL("Tvec64::Tvec64(const Superclass &v)"); 00065 } 00066 00068 inline Tvec64(const DT x00, const DT x01, const DT x02, const DT x03, 00069 const DT x04, const DT x05, const DT x06, const DT x07, 00070 const DT x08, const DT x09, const DT x10, const DT x11, 00071 const DT x12, const DT x13, const DT x14, const DT x15, 00072 const DT x16, const DT x17, const DT x18, const DT x19, 00073 const DT x20, const DT x21, const DT x22, const DT x23, 00074 const DT x24, const DT x25, const DT x26, const DT x27, 00075 const DT x28, const DT x29, const DT x30, const DT x31, 00076 00077 const DT x32, const DT x33, const DT x34, const DT x35, 00078 const DT x36, const DT x37, const DT x38, const DT x39, 00079 const DT x40, const DT x41, const DT x42, const DT x43, 00080 const DT x44, const DT x45, const DT x46, const DT x47, 00081 const DT x48, const DT x49, const DT x50, const DT x51, 00082 const DT x52, const DT x53, const DT x54, const DT x55, 00083 const DT x56, const DT x57, const DT x58, const DT x59, 00084 const DT x60, const DT x61, const DT x62, const DT x63) 00085 { 00086 ML_TRACE_IN_TIME_CRITICAL("Tvec64::Tvec64(const DT x00, ..., const DT x63)"); 00087 00088 assign(x00, x01, x02, x03, x04, x05, x06, x07, 00089 x08, x09, x10, x11, x12, x13, x14, x15, 00090 x16, x17, x18, x19, x20, x21, x22, x23, 00091 x24, x25, x26, x27, x28, x29, x30, x31, 00092 x32, x33, x34, x35, x36, x37, x38, x39, 00093 x40, x41, x42, x43, x44, x45, x46, x47, 00094 x48, x49, x50, x51, x52, x53, x54, x55, 00095 x56, x57, x58, x59, x60, x61, x62, x63); 00096 } 00098 00099 //-------------------------------------------------------------------- 00101 00102 //-------------------------------------------------------------------- 00104 inline void assign(const DT x00, const DT x01, const DT x02, const DT x03, 00105 const DT x04, const DT x05, const DT x06, const DT x07, 00106 const DT x08, const DT x09, const DT x10, const DT x11, 00107 const DT x12, const DT x13, const DT x14, const DT x15, 00108 const DT x16, const DT x17, const DT x18, const DT x19, 00109 const DT x20, const DT x21, const DT x22, const DT x23, 00110 const DT x24, const DT x25, const DT x26, const DT x27, 00111 const DT x28, const DT x29, const DT x30, const DT x31, 00112 00113 const DT x32, const DT x33, const DT x34, const DT x35, 00114 const DT x36, const DT x37, const DT x38, const DT x39, 00115 const DT x40, const DT x41, const DT x42, const DT x43, 00116 const DT x44, const DT x45, const DT x46, const DT x47, 00117 const DT x48, const DT x49, const DT x50, const DT x51, 00118 const DT x52, const DT x53, const DT x54, const DT x55, 00119 const DT x56, const DT x57, const DT x58, const DT x59, 00120 const DT x60, const DT x61, const DT x62, const DT x63) 00121 { 00122 ML_TRACE_IN_TIME_CRITICAL("Tvec64::assign(const DT x00, ..., const DT x63)"); 00123 00124 Superclass::_buffer[ 0]=x00; Superclass::_buffer[32]=x32; 00125 Superclass::_buffer[ 1]=x01; Superclass::_buffer[33]=x33; 00126 Superclass::_buffer[ 2]=x02; Superclass::_buffer[34]=x34; 00127 Superclass::_buffer[ 3]=x03; Superclass::_buffer[35]=x35; 00128 Superclass::_buffer[ 4]=x04; Superclass::_buffer[36]=x36; 00129 Superclass::_buffer[ 5]=x05; Superclass::_buffer[37]=x37; 00130 Superclass::_buffer[ 6]=x06; Superclass::_buffer[38]=x38; 00131 Superclass::_buffer[ 7]=x07; Superclass::_buffer[39]=x39; 00132 Superclass::_buffer[ 8]=x08; Superclass::_buffer[40]=x40; 00133 Superclass::_buffer[ 9]=x09; Superclass::_buffer[41]=x41; 00134 Superclass::_buffer[10]=x10; Superclass::_buffer[42]=x42; 00135 Superclass::_buffer[11]=x11; Superclass::_buffer[43]=x43; 00136 Superclass::_buffer[12]=x12; Superclass::_buffer[44]=x44; 00137 Superclass::_buffer[13]=x13; Superclass::_buffer[45]=x45; 00138 Superclass::_buffer[14]=x14; Superclass::_buffer[46]=x46; 00139 Superclass::_buffer[15]=x15; Superclass::_buffer[47]=x47; 00140 Superclass::_buffer[16]=x16; Superclass::_buffer[48]=x48; 00141 Superclass::_buffer[17]=x17; Superclass::_buffer[49]=x49; 00142 Superclass::_buffer[18]=x18; Superclass::_buffer[50]=x50; 00143 Superclass::_buffer[19]=x19; Superclass::_buffer[51]=x51; 00144 Superclass::_buffer[20]=x20; Superclass::_buffer[52]=x52; 00145 Superclass::_buffer[21]=x21; Superclass::_buffer[53]=x53; 00146 Superclass::_buffer[22]=x22; Superclass::_buffer[54]=x54; 00147 Superclass::_buffer[23]=x23; Superclass::_buffer[55]=x55; 00148 Superclass::_buffer[24]=x24; Superclass::_buffer[56]=x56; 00149 Superclass::_buffer[25]=x25; Superclass::_buffer[57]=x57; 00150 Superclass::_buffer[26]=x26; Superclass::_buffer[58]=x58; 00151 Superclass::_buffer[27]=x27; Superclass::_buffer[59]=x59; 00152 Superclass::_buffer[28]=x28; Superclass::_buffer[60]=x60; 00153 Superclass::_buffer[29]=x29; Superclass::_buffer[61]=x61; 00154 Superclass::_buffer[30]=x30; Superclass::_buffer[62]=x62; 00155 Superclass::_buffer[31]=x31; Superclass::_buffer[63]=x63; 00156 } 00158 }; 00159 00160 00161 //----------------------------------------------------------------------------------- 00163 00164 //----------------------------------------------------------------------------------- 00166 typedef Tvec64<MLfloat> Vector64f; 00168 typedef Tvec64<MLdouble> Vector64d; 00170 typedef Tvec64<MLldouble> Vector64ld; 00172 typedef Tvec64<MLdouble> Vector64; 00174 00175 00176 #ifdef ML_DEPRECATED 00177 00178 00179 00180 00181 ML_DEPRECATED typedef Tvec64<MLfloat> vecf64; 00184 ML_DEPRECATED typedef Tvec64<MLdouble> vecd64; 00187 ML_DEPRECATED typedef Tvec64<MLldouble> vecld64; 00190 ML_DEPRECATED typedef Tvec64<MLdouble> vec64; 00192 00193 #endif // ML_DEPRECATED 00194 00195 00196 ML_LA_END_NAMESPACE 00197 00198 #endif //of __mlVector64_H 00199 00200