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.
20#include "mlLinearAlgebraDefs.h"
22
23// All declarations of this header will be in the ML_LA_NAMESPACE namespace.
25
26//--------------------------------------------------------------------
28//--------------------------------------------------------------------
30template <class DT>
31class Tvec64 : public FloatingPointVector<DT,64>
32{
33public:
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
163
164#endif //of __mlVector64_H
165
166
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
Target mlrange_cast(Source arg)
Generic version of checked ML casts.