48 #include "DenseLinAlgPack_DVectorAssign.hpp"
95 namespace DenseLinAlgPack {
109 void Vp_S(DVectorSlice* vs_lhs, value_type alpha);
111 void Vt_S(DVectorSlice* vs_lhs, value_type alpha);
113 void Vp_StV(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
120 void V_VpV(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
122 void V_VmV(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
124 void V_mV(DVector* v_lhs,
const DVectorSlice& vs_rhs);
126 void V_StV(DVector* v_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
133 void V_VpV(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
135 void V_VmV(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
137 void V_mV(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
139 void V_StV(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
149 void rot(
const value_type c,
const value_type s, DVectorSlice* x, DVectorSlice* y );
160 void abs(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
162 void asin(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
164 void acos(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
166 void atan(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
168 void atan2(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
170 void atan2(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs, value_type alpha);
172 void atan2(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
174 void cos(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
176 void cosh(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
178 void exp(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
180 void max(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
182 void max(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
184 void min(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
186 void min(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
188 void pow(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
190 void pow(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs, value_type alpha);
192 void pow(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs,
int n);
194 void pow(DVectorSlice* vs_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
196 void prod(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
198 void sqrt(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
200 void sin(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
202 void sinh(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
204 void tan(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
206 void tanh(DVectorSlice* vs_lhs,
const DVectorSlice& vs_rhs);
209 void abs(DVector* v_lhs,
const DVectorSlice& vs_rhs);
211 void asin(DVector* v_lhs,
const DVectorSlice& vs_rhs);
213 void acos(DVector* v_lhs,
const DVectorSlice& vs_rhs);
215 void atan(DVector* v_lhs,
const DVectorSlice& vs_rhs);
217 void atan2(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
219 void atan2(DVector* v_lhs,
const DVectorSlice& vs_rhs, value_type alpha);
221 void atan2(DVector* v_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
223 void cos(DVector* v_lhs,
const DVectorSlice& vs_rhs);
225 void cosh(DVector* v_lhs,
const DVectorSlice& vs_rhs);
227 void exp(DVector* v_lhs,
const DVectorSlice& vs_rhs);
229 void max(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
231 void max(DVector* v_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
233 void min(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
235 void min(DVector* v_lhs, value_type alpha,
const DVectorSlice& vs_rhs);
237 void pow(DVector* v_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
239 void pow(DVector* v_lhs,
const DVectorSlice& vs_rhs, value_type alpha);
241 void pow(DVector* v_lhs,
const DVectorSlice& vs_rhs,
int n);
243 void pow(DVector* v_lhs, value_type alpha,
const DVectorSlice& vs_rhs2);
245 void sqrt(DVector* v_lhs,
const DVectorSlice& vs_rhs);
247 void sin(DVector* v_lhs,
const DVectorSlice& vs_rhs);
249 void sinh(DVector* v_lhs,
const DVectorSlice& vs_rhs);
251 void tan(DVector* v_lhs,
const DVectorSlice& vs_rhs);
253 void tanh(DVector* v_lhs,
const DVectorSlice& vs_rhs);
255 void prod( DVector* vs_lhs,
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2 );
266 value_type dot(
const DVectorSlice& vs_rhs1,
const DVectorSlice& vs_rhs2);
268 value_type max(
const DVectorSlice& vs_rhs);
270 value_type min(
const DVectorSlice& vs_rhs);
272 value_type norm_1(
const DVectorSlice& vs_rhs);
274 value_type norm_2(
const DVectorSlice& vs_rhs);
276 value_type norm_inf(
const DVectorSlice& vs_rhs);
281 void swap(DVectorSlice* vs1, DVectorSlice* vs2);