ML Reference
MeVis/Foundation/Sources/MLLinearAlgebra/mlVector64.h
Go to the documentation of this file.
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