21 template<
typename T,
typename Allocator>
24 std::fill(this->begin(), this->end(), val);
27 #pragma hd_warning_disable
28 template<
typename T,
typename Allocator>
31 for(
auto& v:(*
this) )
37 #pragma hd_warning_disable
38 template<
typename T,
typename Allocator>
41 for(
auto& v:(*
this) )
47 #pragma hd_warning_disable
48 template<
typename T,
typename Allocator>
51 for(
auto& v:(*
this) )
57 #pragma hd_warning_disable
58 template<
typename T,
typename Allocator>
61 for(
auto& v:(*
this) )
67 #pragma hd_warning_disable
68 template<
typename T,
typename Allocator>
72 if(size() != v.
size() )
75 "the += operator is invalid, vector size of right side (" << v.
size() <<
76 ") is not equal to the left side (" << size() <<
").\n";
82 this->operator[](i) += v[i];
86 #pragma hd_warning_disable
87 template<
typename T,
typename Allocator>
91 if(size() != v.
size() )
94 "the -= operator is invalid, vector size of right side (" << v.
size() <<
95 ") is not equal to the left side (" << size() <<
").\n";
101 this->operator[](i) -= v[i];
105 #pragma hd_warning_disable
106 template<
typename T,
typename Allocator>
110 if(size() != v.
size() )
113 "the * operator is invalid, vector size of right side (" << v.
size() <<
114 ") is not equal to the left side (" << size() <<
").\n";
120 this->operator[](i) *= v[i];
124 #pragma hd_warning_disable
125 template<
typename T,
typename Allocator>
129 if(size() != v.
size() )
132 "the /= operator is invalid, vector size of right side (" << v.
size() <<
133 ") is not equal to the left side (" << size() <<
").\n";
139 this->operator[](i) /= v[i];
143 #pragma hd_warning_disable
144 template<
typename T,
typename Allocator>
157 #pragma hd_warning_disable
158 template<
typename T,
typename Allocator>
166 #pragma hd_warning_disable
167 template<
typename T,
typename Allocator>
170 Vector<T, Allocator> res(op2);
177 #pragma hd_warning_disable
178 template<
typename T,
typename Allocator>
181 if( op1.size() != op2.size() )
184 "the + operator is invalid, vector size of operand1 (" << op1.size() <<
185 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
189 Vector<T, Allocator> res(op1);
195 #pragma hd_warning_disable
196 template<
typename T,
typename Allocator>
199 Vector<T, Allocator> res(op1);
204 #pragma hd_warning_disable
205 template<
typename T,
typename Allocator>
208 Vector<T, Allocator> res(op2.size(), op1);
214 #pragma hd_warning_disable
215 template<
typename T,
typename Allocator>
218 if( op1.size() != op2.size() )
221 "the - operator is invalid, vector size of operand1 (" << op1.size() <<
222 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
226 Vector<T, Allocator> res(op1);
231 #pragma hd_warning_disable
232 template<
typename T,
typename Allocator>
235 Vector<T, Allocator> res(op1);
240 #pragma hd_warning_disable
241 template<
typename T,
typename Allocator>
244 Vector<T, Allocator> res(op2);
251 #pragma hd_warning_disable
252 template<
typename T,
typename Allocator>
255 if( op1.size() != op2.size() )
258 "the * operator is invalid, vector size of operand1 (" << op1.size() <<
259 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
263 Vector<T, Allocator> res(op1);
268 #pragma hd_warning_disable
269 template<
typename T,
typename Allocator>
272 Vector<T, Allocator> res(op1);
277 #pragma hd_warning_disable
278 template<
typename T,
typename Allocator>
281 Vector<T, Allocator> res(op2.size(), op1);
287 #pragma hd_warning_disable
288 template<
typename T,
typename Allocator>
291 if( op1.size() != op2.size() )
294 "the / operator is invalid, vector size of operand1 (" << op1.size() <<
295 ") is not equal to vector size of operand2 (" << op1.size() <<
").\n";
299 Vector<T, Allocator> res(op1);