@@ -46,15 +46,20 @@ class CDirQuantCacheBase
46
46
47
47
Vector8u3 () : x (0u ),y (0u ),z (0u ) {}
48
48
Vector8u3 (const Vector8u3&) = default ;
49
- Vector8u3 (const core::vectorSIMDu32& val)
49
+ explicit Vector8u3 (const core::vectorSIMDu32& val)
50
+ {
51
+ operator =(val);
52
+ }
53
+
54
+ Vector8u3& operator =(const Vector8u3&) = default ;
55
+ Vector8u3& operator =(const core::vectorSIMDu32& val)
50
56
{
51
57
x = val.x ;
52
58
y = val.y ;
53
59
z = val.z ;
60
+ return *this ;
54
61
}
55
62
56
- Vector8u3& operator =(const Vector8u3&) = default ;
57
-
58
63
inline core::vectorSIMDu32 getValue () const
59
64
{
60
65
return core::vectorSIMDu32 (x,y,z);
@@ -72,16 +77,21 @@ class CDirQuantCacheBase
72
77
73
78
Vector8u4 () : x (0u ),y (0u ),z (0u ),w (0u ) {}
74
79
Vector8u4 (const Vector8u4&) = default ;
75
- Vector8u4 (const core::vectorSIMDu32& val)
80
+ explicit Vector8u4 (const core::vectorSIMDu32& val)
81
+ {
82
+ operator =(val);
83
+ }
84
+
85
+ Vector8u4& operator =(const Vector8u4&) = default ;
86
+ Vector8u4& operator =(const core::vectorSIMDu32& val)
76
87
{
77
88
x = val.x ;
78
89
y = val.y ;
79
90
z = val.z ;
80
91
w = val.w ;
92
+ return *this ;
81
93
}
82
94
83
- Vector8u4& operator =(const Vector8u4&) = default ;
84
-
85
95
inline core::vectorSIMDu32 getValue () const
86
96
{
87
97
return core::vectorSIMDu32 (x,y,z,w);
@@ -101,13 +111,19 @@ class CDirQuantCacheBase
101
111
102
112
Vector1010102 () : storage (0u ) {}
103
113
Vector1010102 (const Vector1010102&) = default ;
104
- Vector1010102 (const core::vectorSIMDu32& val)
114
+ explicit Vector1010102 (const core::vectorSIMDu32& val)
115
+ {
116
+ operator =(val);
117
+ }
118
+
119
+ Vector1010102& operator =(const Vector1010102&) = default ;
120
+ Vector1010102& operator =(const core::vectorSIMDu32& val)
105
121
{
106
122
constexpr auto storageBits = quantizationBits+1u ;
107
123
storage = val.x |(val.y <<storageBits)|(val.z <<(storageBits*2u ));
124
+ return *this ;
108
125
}
109
126
110
- Vector1010102& operator =(const Vector1010102&) = default ;
111
127
inline bool operator <(const Vector1010102& other) const
112
128
{
113
129
return storage<other.storage ;
@@ -136,15 +152,20 @@ class CDirQuantCacheBase
136
152
137
153
Vector16u3 () : x (0u ),y (0u ),z (0u ) {}
138
154
Vector16u3 (const Vector16u3&) = default ;
139
- Vector16u3 (const core::vectorSIMDu32& val)
155
+ explicit Vector16u3 (const core::vectorSIMDu32& val)
156
+ {
157
+ operator =(val);
158
+ }
159
+
160
+ Vector16u3& operator =(const Vector16u3&) = default ;
161
+ Vector16u3& operator =(const core::vectorSIMDu32& val)
140
162
{
141
163
x = val.x ;
142
164
y = val.y ;
143
165
z = val.z ;
166
+ return *this ;
144
167
}
145
168
146
- Vector16u3& operator =(const Vector16u3&) = default ;
147
-
148
169
inline core::vectorSIMDu32 getValue () const
149
170
{
150
171
return core::vectorSIMDu32 (x,y,z);
@@ -162,16 +183,21 @@ class CDirQuantCacheBase
162
183
163
184
Vector16u4 () : x (0u ),y (0u ),z (0u ),w (0u ) {}
164
185
Vector16u4 (const Vector16u4&) = default ;
165
- Vector16u4 (const core::vectorSIMDu32& val)
186
+ explicit Vector16u4 (const core::vectorSIMDu32& val)
187
+ {
188
+ operator =(val);
189
+ }
190
+
191
+ Vector16u4& operator =(const Vector16u4&) = default ;
192
+ Vector16u4& operator =(const core::vectorSIMDu32& val)
166
193
{
167
194
x = val.x ;
168
195
y = val.y ;
169
196
z = val.z ;
170
197
w = val.w ;
198
+ return *this ;
171
199
}
172
200
173
- Vector16u4& operator =(const Vector16u4&) = default ;
174
-
175
201
inline core::vectorSIMDu32 getValue () const
176
202
{
177
203
return core::vectorSIMDu32 (x,y,z,w);
0 commit comments