MeVisLab Toolbox Reference
mlVector64.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #ifndef ML_VECTOR64_H
14 #define ML_VECTOR64_H
15 
17 
18 // Include system independent file and project settings.
19 #include "mlLinearAlgebraSystem.h"
20 #include "mlLinearAlgebraDefs.h"
21 #include "mlFloatingPointVector.h"
22 
23 // All declarations of this header will be in the ML_LA_NAMESPACE namespace.
24 ML_LA_START_NAMESPACE
25 
26 //--------------------------------------------------------------------
28 //--------------------------------------------------------------------
30 template <class DT>
31 class Tvec64 : public FloatingPointVector<DT,64>
32 {
33 public:
34 
37 
39  typedef DT ComponentType;
40 
41  //--------------------------------------------------------------------
44  //--------------------------------------------------------------------
47  inline explicit Tvec64(DT value=0) : Superclass(value)
48  {
49  }
50 
54  inline Tvec64(const Superclass &v) : Superclass(v)
55  {
56  }
57 
59  inline Tvec64(const DT x00, const DT x01, const DT x02, const DT x03,
60  const DT x04, const DT x05, const DT x06, const DT x07,
61  const DT x08, const DT x09, const DT x10, const DT x11,
62  const DT x12, const DT x13, const DT x14, const DT x15,
63  const DT x16, const DT x17, const DT x18, const DT x19,
64  const DT x20, const DT x21, const DT x22, const DT x23,
65  const DT x24, const DT x25, const DT x26, const DT x27,
66  const DT x28, const DT x29, const DT x30, const DT x31,
67 
68  const DT x32, const DT x33, const DT x34, const DT x35,
69  const DT x36, const DT x37, const DT x38, const DT x39,
70  const DT x40, const DT x41, const DT x42, const DT x43,
71  const DT x44, const DT x45, const DT x46, const DT x47,
72  const DT x48, const DT x49, const DT x50, const DT x51,
73  const DT x52, const DT x53, const DT x54, const DT x55,
74  const DT x56, const DT x57, const DT x58, const DT x59,
75  const DT x60, const DT x61, const DT x62, const DT x63)
76  {
77  assign(x00, x01, x02, x03, x04, x05, x06, x07,
78  x08, x09, x10, x11, x12, x13, x14, x15,
79  x16, x17, x18, x19, x20, x21, x22, x23,
80  x24, x25, x26, x27, x28, x29, x30, x31,
81  x32, x33, x34, x35, x36, x37, x38, x39,
82  x40, x41, x42, x43, x44, x45, x46, x47,
83  x48, x49, x50, x51, x52, x53, x54, x55,
84  x56, x57, x58, x59, x60, x61, x62, x63);
85  }
87 
88  //--------------------------------------------------------------------
91  //--------------------------------------------------------------------
93  inline void assign(const DT x00, const DT x01, const DT x02, const DT x03,
94  const DT x04, const DT x05, const DT x06, const DT x07,
95  const DT x08, const DT x09, const DT x10, const DT x11,
96  const DT x12, const DT x13, const DT x14, const DT x15,
97  const DT x16, const DT x17, const DT x18, const DT x19,
98  const DT x20, const DT x21, const DT x22, const DT x23,
99  const DT x24, const DT x25, const DT x26, const DT x27,
100  const DT x28, const DT x29, const DT x30, const DT x31,
101 
102  const DT x32, const DT x33, const DT x34, const DT x35,
103  const DT x36, const DT x37, const DT x38, const DT x39,
104  const DT x40, const DT x41, const DT x42, const DT x43,
105  const DT x44, const DT x45, const DT x46, const DT x47,
106  const DT x48, const DT x49, const DT x50, const DT x51,
107  const DT x52, const DT x53, const DT x54, const DT x55,
108  const DT x56, const DT x57, const DT x58, const DT x59,
109  const DT x60, const DT x61, const DT x62, const DT x63)
110  {
111  Superclass::_buffer[ 0]=x00; Superclass::_buffer[32]=x32;
112  Superclass::_buffer[ 1]=x01; Superclass::_buffer[33]=x33;
113  Superclass::_buffer[ 2]=x02; Superclass::_buffer[34]=x34;
114  Superclass::_buffer[ 3]=x03; Superclass::_buffer[35]=x35;
115  Superclass::_buffer[ 4]=x04; Superclass::_buffer[36]=x36;
116  Superclass::_buffer[ 5]=x05; Superclass::_buffer[37]=x37;
117  Superclass::_buffer[ 6]=x06; Superclass::_buffer[38]=x38;
118  Superclass::_buffer[ 7]=x07; Superclass::_buffer[39]=x39;
119  Superclass::_buffer[ 8]=x08; Superclass::_buffer[40]=x40;
120  Superclass::_buffer[ 9]=x09; Superclass::_buffer[41]=x41;
121  Superclass::_buffer[10]=x10; Superclass::_buffer[42]=x42;
122  Superclass::_buffer[11]=x11; Superclass::_buffer[43]=x43;
123  Superclass::_buffer[12]=x12; Superclass::_buffer[44]=x44;
124  Superclass::_buffer[13]=x13; Superclass::_buffer[45]=x45;
125  Superclass::_buffer[14]=x14; Superclass::_buffer[46]=x46;
126  Superclass::_buffer[15]=x15; Superclass::_buffer[47]=x47;
127  Superclass::_buffer[16]=x16; Superclass::_buffer[48]=x48;
128  Superclass::_buffer[17]=x17; Superclass::_buffer[49]=x49;
129  Superclass::_buffer[18]=x18; Superclass::_buffer[50]=x50;
130  Superclass::_buffer[19]=x19; Superclass::_buffer[51]=x51;
131  Superclass::_buffer[20]=x20; Superclass::_buffer[52]=x52;
132  Superclass::_buffer[21]=x21; Superclass::_buffer[53]=x53;
133  Superclass::_buffer[22]=x22; Superclass::_buffer[54]=x54;
134  Superclass::_buffer[23]=x23; Superclass::_buffer[55]=x55;
135  Superclass::_buffer[24]=x24; Superclass::_buffer[56]=x56;
136  Superclass::_buffer[25]=x25; Superclass::_buffer[57]=x57;
137  Superclass::_buffer[26]=x26; Superclass::_buffer[58]=x58;
138  Superclass::_buffer[27]=x27; Superclass::_buffer[59]=x59;
139  Superclass::_buffer[28]=x28; Superclass::_buffer[60]=x60;
140  Superclass::_buffer[29]=x29; Superclass::_buffer[61]=x61;
141  Superclass::_buffer[30]=x30; Superclass::_buffer[62]=x62;
142  Superclass::_buffer[31]=x31; Superclass::_buffer[63]=x63;
143  }
145 };
146 
147 
148 //-----------------------------------------------------------------------------------
151 //-----------------------------------------------------------------------------------
161 
162 
163 #if ML_DEPRECATED_SINCE(3,5,0)
168 ML_DEPRECATED typedef Tvec64<MLfloat> vecf64;
171 ML_DEPRECATED typedef Tvec64<MLdouble> vecd64;
174 ML_DEPRECATED typedef Tvec64<MLldouble> vecld64;
177 ML_DEPRECATED typedef Tvec64<MLdouble> vec64;
179 
180 #endif
181 
182 
183 ML_LA_END_NAMESPACE
184 
185 #endif //of __mlVector64_H
186 
187 
#define ML_DEPRECATED
Definition: CSOGroup.h:371
Template class for vector arithmetic with floating point data types.
A 64 dimensional vector class for floating point types.
Definition: mlVector64.h:32
Tvec64(const Superclass &v)
Copy constructor from FloatingPointVector.
Definition: mlVector64.h:54
Tvec64(DT value=0)
Default and value constructor.
Definition: mlVector64.h:47
FloatingPointVector< DT, 64 > Superclass
A typedef as a shorthand for the base class.
Definition: mlVector64.h:36
DT ComponentType
A typedef to "export" the type of components.
Definition: mlVector64.h:39
void assign(const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15, const DT x16, const DT x17, const DT x18, const DT x19, const DT x20, const DT x21, const DT x22, const DT x23, const DT x24, const DT x25, const DT x26, const DT x27, const DT x28, const DT x29, const DT x30, const DT x31, const DT x32, const DT x33, const DT x34, const DT x35, const DT x36, const DT x37, const DT x38, const DT x39, const DT x40, const DT x41, const DT x42, const DT x43, const DT x44, const DT x45, const DT x46, const DT x47, const DT x48, const DT x49, const DT x50, const DT x51, const DT x52, const DT x53, const DT x54, const DT x55, const DT x56, const DT x57, const DT x58, const DT x59, const DT x60, const DT x61, const DT x62, const DT x63)
Sets all components to the corresponding passed values.
Definition: mlVector64.h:93
Tvec64(const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15, const DT x16, const DT x17, const DT x18, const DT x19, const DT x20, const DT x21, const DT x22, const DT x23, const DT x24, const DT x25, const DT x26, const DT x27, const DT x28, const DT x29, const DT x30, const DT x31, const DT x32, const DT x33, const DT x34, const DT x35, const DT x36, const DT x37, const DT x38, const DT x39, const DT x40, const DT x41, const DT x42, const DT x43, const DT x44, const DT x45, const DT x46, const DT x47, const DT x48, const DT x49, const DT x50, const DT x51, const DT x52, const DT x53, const DT x54, const DT x55, const DT x56, const DT x57, const DT x58, const DT x59, const DT x60, const DT x61, const DT x62, const DT x63)
Builds the vector from the scalars x00, ... x63 to the components 0 to 63, respectively.
Definition: mlVector64.h:59
Tvec64< MLfloat > Vector64f
A vector with 64 components of type float.
Definition: mlVector64.h:153
Tvec64< MLldouble > Vector64ld
A vector with 64 components of type long double.
Definition: mlVector64.h:157
Tvec64< MLdouble > Vector64d
A vector with 64 components of type double.
Definition: mlVector64.h:155
Tvec64< MLdouble > Vector64
A vector with 64 components of type double.
Definition: mlVector64.h:159