22 template<
typename T,
typename Allocator>
25 std::fill(this->begin(), this->end(), val);
28 template <
typename T,
typename Allocator>
32 for(
uint32 i=start; i<end; i++)
37 #pragma hd_warning_disable
40 for(
auto& v:(*
this) )
46 #pragma hd_warning_disable
47 template<
typename T,
typename Allocator>
50 for(
auto& v:(*
this) )
56 #pragma hd_warning_disable
57 template<
typename T,
typename Allocator>
60 for(
auto& v:(*
this) )
66 #pragma hd_warning_disable
67 template<
typename T,
typename Allocator>
70 for(
auto& v:(*
this) )
76 #pragma hd_warning_disable
77 template<
typename T,
typename Allocator>
81 if(size() != v.
size() )
84 "the += operator is invalid, vector size of right side (" << v.
size() <<
85 ") is not equal to the left side (" << size() <<
").\n";
89 for(
size_t i=0; i<v.
size(); i++)
91 this->operator[](i) += v[i];
95 #pragma hd_warning_disable
96 template<
typename T,
typename Allocator>
100 if(size() != v.
size() )
103 "the -= operator is invalid, vector size of right side (" << v.
size() <<
104 ") is not equal to the left side (" << size() <<
").\n";
108 for(
size_t i=0; i<v.
size(); i++)
110 this->operator[](i) -= v[i];
114 #pragma hd_warning_disable
115 template<
typename T,
typename Allocator>
119 if(size() != v.
size() )
122 "the * operator is invalid, vector size of right side (" << v.
size() <<
123 ") is not equal to the left side (" << size() <<
").\n";
127 for(
size_t i=0; i<v.
size(); i++)
129 this->operator[](i) *= v[i];
133 #pragma hd_warning_disable
134 template<
typename T,
typename Allocator>
138 if(size() != v.
size() )
141 "the /= operator is invalid, vector size of right side (" << v.
size() <<
142 ") is not equal to the left side (" << size() <<
").\n";
146 for(
size_t i=0; i<v.
size(); i++)
148 this->operator[](i) /= v[i];
152 #pragma hd_warning_disable
153 template<
typename T,
typename Allocator>
166 #pragma hd_warning_disable
167 template<
typename T,
typename Allocator>
175 #pragma hd_warning_disable
176 template<
typename T,
typename Allocator>
179 Vector<T, Allocator> res(op2);
186 #pragma hd_warning_disable
187 template<
typename T,
typename Allocator>
190 if( op1.size() != op2.size() )
193 "the + operator is invalid, vector size of operand1 (" << op1.size() <<
194 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
198 Vector<T, Allocator> res(op1);
204 #pragma hd_warning_disable
205 template<
typename T,
typename Allocator>
208 Vector<T, Allocator> res(op1);
213 #pragma hd_warning_disable
214 template<
typename T,
typename Allocator>
217 Vector<T, Allocator> res(op2.size(), op1);
223 #pragma hd_warning_disable
224 template<
typename T,
typename Allocator>
227 if( op1.size() != op2.size() )
230 "the - operator is invalid, vector size of operand1 (" << op1.size() <<
231 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
235 Vector<T, Allocator> res(op1);
240 #pragma hd_warning_disable
241 template<
typename T,
typename Allocator>
244 Vector<T, Allocator> res(op1);
249 #pragma hd_warning_disable
250 template<
typename T,
typename Allocator>
253 Vector<T, Allocator> res(op2);
260 #pragma hd_warning_disable
261 template<
typename T,
typename Allocator>
264 if( op1.size() != op2.size() )
267 "the * operator is invalid, vector size of operand1 (" << op1.size() <<
268 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
272 Vector<T, Allocator> res(op1);
277 #pragma hd_warning_disable
278 template<
typename T,
typename Allocator>
281 Vector<T, Allocator> res(op1);
286 #pragma hd_warning_disable
287 template<
typename T,
typename Allocator>
290 Vector<T, Allocator> res(op2.size(), op1);
296 #pragma hd_warning_disable
297 template<
typename T,
typename Allocator>
300 if( op1.size() != op2.size() )
303 "the / operator is invalid, vector size of operand1 (" << op1.size() <<
304 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
308 Vector<T, Allocator> res(op1);