27 template<
class TA,
class Tx,
class Tres,
class TDot,
class TElement>
28 friend inline Tres spsl_mv_mult(
const TA&,
const Tx&)
throw(OP_WITH_WRONG_DIM);
30 template<
class TA,
class Tx,
class Tres,
class TDot,
class TElement>
31 friend inline Tres spsl_mv_mult(
const TA&,
const Tx&)
throw();
35 template<
class TA,
class Tx,
class Tres,
class TDot,
class TElement>
36 friend inline Tres spsp_mv_mult(
const TA&,
const Tx&)
throw(OP_WITH_WRONG_DIM);
38 template<
class TA,
class Tx,
class Tres,
class TDot,
class TElement>
39 friend inline Tres spsp_mv_mult(
const TA&,
const Tx&)
throw();
43 template<
class TA,
class Tx,
class Tres,
class TDot>
44 friend inline Tres spf_mv_mult(
const TA&,
const Tx&)
throw(OP_WITH_WRONG_DIM);
46 template<
class TA,
class Tx,
class Tres,
class TDot>
47 friend inline Tres spf_mv_mult(
const TA&,
const Tx&)
throw();
51 template<
class TA,
class Tx,
class Tres,
class TDot>
52 friend inline Tres fsp_mv_mult(
const TA&,
const Tx&)
throw(OP_WITH_WRONG_DIM);
54 template<
class TA,
class Tx,
class Tres,
class TDot>
55 friend inline Tres fsp_mv_mult(
const TA&,
const Tx&)
throw();
59 template<
class TA,
class Tx,
class Tres,
class TDot>
60 friend inline Tres fsl_mv_mult(
const TA&,
const Tx&)
throw(OP_WITH_WRONG_DIM);
62 template<
class TA,
class Tx,
class Tres,
class TDot>
63 friend inline Tres fsl_mv_mult(
const TA&,
const Tx&)
throw();
67 template<
class TA,
class TB,
class Tres,
class TDot,
class TElement>
68 friend inline Tres spsp_mm_mult(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
70 template<
class TA,
class TB,
class Tres,
class TDot,
class TElement>
71 friend inline Tres spsp_mm_mult(
const TA&,
const TB&)
throw();
75 template<
class TA,
class TB,
class Tres,
class TDot>
76 friend inline Tres fsp_mm_mult(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
78 template<
class TA,
class TB,
class Tres,
class TDot>
79 friend inline Tres fsp_mm_mult(
const TA&,
const TB&)
throw();
83 template<
class TA,
class TB,
class Tres,
class TDot>
84 friend inline Tres spf_mm_mult(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
86 template<
class TA,
class TB,
class Tres,
class TDot>
87 friend inline Tres spf_mm_mult(
const TA&,
const TB&)
throw();
90 template<
class TA,
class Ts,
class Tres>
91 friend inline Tres sp_ms_div(
const TA&,
const Ts&);
93 template<
class TA,
class Ts,
class Tres>
94 friend inline Tres sp_ms_mult(
const TA&,
const Ts&);
96 template<
class Ts,
class TA,
class Tres>
97 friend inline Tres sp_sm_mult(
const Ts&,
const TA&);
100 template<
class TA,
class TB,
class Tres,
class TElement>
101 friend inline Tres spsp_mm_add(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
103 template<
class TA,
class TB,
class Tres,
class TElement>
104 friend inline Tres spsp_mm_add(
const TA&,
const TB&)
throw();
107 #if(CXSC_INDEX_CHECK) 108 template<
class TA,
class TB,
class Tres>
109 friend inline Tres spf_mm_add(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
111 template<
class TA,
class TB,
class Tres>
112 friend inline Tres spf_mm_add(
const TA&,
const TB&)
throw();
115 #if(CXSC_INDEX_CHECK) 116 template<
class TA,
class TB,
class Tres>
117 friend inline Tres fsp_mm_add(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
119 template<
class TA,
class TB,
class Tres>
120 friend inline Tres fsp_mm_add(
const TA&,
const TB&)
throw();
123 #if(CXSC_INDEX_CHECK) 124 template<
class TA,
class TB,
class Tres,
class TElement>
125 friend inline Tres spsp_mm_sub(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
127 template<
class TA,
class TB,
class Tres,
class TElement>
128 friend inline Tres spsp_mm_sub(
const TA&,
const TB&)
throw();
131 #if(CXSC_INDEX_CHECK) 132 template<
class TA,
class TB,
class Tres>
133 friend inline Tres spf_mm_sub(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
135 template<
class TA,
class TB,
class Tres>
136 friend inline Tres spf_mm_sub(
const TA&,
const TB&)
throw();
139 #if(CXSC_INDEX_CHECK) 140 template<
class TA,
class TB,
class Tres>
141 friend inline Tres fsp_mm_sub(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
143 template<
class TA,
class TB,
class Tres>
144 friend inline Tres fsp_mm_sub(
const TA&,
const TB&)
throw();
147 #if(CXSC_INDEX_CHECK) 148 template<
class TA,
class TB,
class Tres,
class TElement>
149 friend inline Tres spsp_mm_hull(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
151 template<
class TA,
class TB,
class Tres,
class TElement>
152 friend inline Tres spsp_mm_hull(
const TA&,
const TB&)
throw();
155 #if(CXSC_INDEX_CHECK) 156 template<
class TA,
class TB,
class Tres>
157 friend inline Tres spf_mm_hull(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
159 template<
class TA,
class TB,
class Tres>
160 friend inline Tres spf_mm_hull(
const TA&,
const TB&)
throw();
163 #if(CXSC_INDEX_CHECK) 164 template<
class TA,
class TB,
class Tres>
165 friend inline Tres fsp_mm_hull(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
167 template<
class TA,
class TB,
class Tres>
168 friend inline Tres fsp_mm_hull(
const TA&,
const TB&)
throw();
171 #if(CXSC_INDEX_CHECK) 172 template<
class TA,
class TB,
class Tres,
class TElement>
173 friend inline Tres spsp_mm_intersect(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
175 template<
class TA,
class TB,
class Tres,
class TElement>
176 friend inline Tres spsp_mm_intersect(
const TA&,
const TB&)
throw();
179 #if(CXSC_INDEX_CHECK) 180 template<
class TA,
class TB,
class Tres>
181 friend inline Tres spf_mm_intersect(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
183 template<
class TA,
class TB,
class Tres>
184 friend inline Tres spf_mm_intersect(
const TA&,
const TB&)
throw();
187 #if(CXSC_INDEX_CHECK) 188 template<
class TA,
class TB,
class Tres>
189 friend inline Tres fsp_mm_intersect(
const TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
191 template<
class TA,
class TB,
class Tres>
192 friend inline Tres fsp_mm_intersect(
const TA&,
const TB&)
throw();
195 template<
class TA,
class TB>
196 friend inline bool spsp_mm_comp(
const TA&,
const TB&);
198 template<
class TA,
class TB>
199 friend inline bool spf_mm_comp(
const TA&,
const TB&);
201 template<
class TA,
class TB>
202 friend inline bool fsp_mm_comp(
const TA&,
const TB&);
204 template<
class TA,
class TB,
class TType>
205 friend inline bool spsp_mm_less(
const TA&,
const TB&);
207 template<
class TA,
class TB,
class TType>
208 friend inline bool spf_mm_less(
const TA&,
const TB&);
210 template<
class TA,
class TB,
class TType>
211 friend inline bool fsp_mm_less(
const TA&,
const TB&);
213 template<
class TA,
class TB,
class TType>
214 friend inline bool spsp_mm_leq(
const TA&,
const TB&);
216 template<
class TA,
class TB,
class TType>
217 friend inline bool spf_mm_leq(
const TA&,
const TB&);
219 template<
class TA,
class TB,
class TType>
220 friend inline bool fsp_mm_leq(
const TA&,
const TB&);
222 template<
class TA,
class TB,
class TType>
223 friend inline bool spsp_mm_greater(
const TA&,
const TB&);
225 template<
class TA,
class TB,
class TType>
226 friend inline bool spf_mm_greater(
const TA&,
const TB&);
228 template<
class TA,
class TB,
class TType>
229 friend inline bool fsp_mm_greater(
const TA&,
const TB&);
231 template<
class TA,
class TB,
class TType>
232 friend inline bool spsp_mm_geq(
const TA&,
const TB&);
234 template<
class TA,
class TB,
class TType>
235 friend inline bool spf_mm_geq(
const TA&,
const TB&);
237 template<
class TA,
class TB,
class TType>
238 friend inline bool fsp_mm_geq(
const TA&,
const TB&);
240 template<
class TA,
class Tres>
241 friend inline Tres sp_m_negative(
const TA&);
243 template<
class TA,
class TType>
244 friend inline std::ostream& sp_m_output(std::ostream&,
const TA&);
246 template<
class TA,
class TType>
247 friend inline std::istream& sp_m_input(std::istream&, TA&);
249 #if(CXSC_INDEX_CHECK) 250 template<
class TA,
class TB,
class TElement>
251 friend inline TA& slsp_mm_assign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
253 template<
class TA,
class TB,
class TElement>
254 friend inline TA& slsp_mm_assign(TA&,
const TB&)
throw();
257 #if(CXSC_INDEX_CHECK) 258 template<
class TA,
class TB,
class TElement,
class TType>
259 friend inline TA& slf_mm_assign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
261 template<
class TA,
class TB,
class TElement,
class TType>
262 friend inline TA& slf_mm_assign(TA&,
const TB&)
throw();
265 template<
class TA,
class TB,
class TType>
266 friend inline TA& spf_mm_assign(TA&,
const TB&);
268 template<
class TA,
class Ts>
269 friend inline TA& sp_ms_divassign(TA&,
const Ts&);
271 template<
class TA,
class Ts>
272 friend inline TA& sp_ms_multassign(TA&,
const Ts&);
274 #if(CXSC_INDEX_CHECK) 275 template<
class TA,
class TB,
class TDot,
class TElement>
276 friend inline TA& spsp_mm_multassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
278 template<
class TA,
class TB,
class TDot,
class TElement>
279 friend inline TA& spsp_mm_multassign(TA&,
const TB&)
throw();
282 #if(CXSC_INDEX_CHECK) 283 template<
class TA,
class TB,
class TDot,
class TFull>
284 friend inline TA& spf_mm_multassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
286 template<
class TA,
class TB,
class TDot,
class TFull>
287 friend inline TA& spf_mm_multassign(TA&,
const TB&)
throw();
290 #if(CXSC_INDEX_CHECK) 291 template<
class TA,
class TB,
class TDot,
class TFull>
292 friend inline TA& fsp_mm_multassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
294 template<
class TA,
class TB,
class TDot,
class TFull>
295 friend inline TA& fsp_mm_multassign(TA&,
const TB&)
throw();
298 #if(CXSC_INDEX_CHECK) 299 template<
class TA,
class TB>
300 friend inline TA& fsp_mm_addassign(TA& A,
const TB& B)
throw(OP_WITH_WRONG_DIM);
302 template<
class TA,
class TB>
303 friend inline TA& fsp_mm_addassign(TA& A,
const TB& B)
throw();
306 #if(CXSC_INDEX_CHECK) 307 template<
class TA,
class TB,
class TFull>
308 friend inline TA& spf_mm_addassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
310 template<
class TA,
class TB,
class TFull>
311 friend inline TA& spf_mm_addassign(TA&,
const TB&)
throw();
314 #if(CXSC_INDEX_CHECK) 315 template<
class TA,
class TB,
class TElement>
316 friend inline TA& spsp_mm_addassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
318 template<
class TA,
class TB,
class TElement>
319 friend inline TA& spsp_mm_addassign(TA&,
const TB&)
throw();
322 #if(CXSC_INDEX_CHECK) 323 template<
class TA,
class TB>
324 friend inline TA& spsp_mm_addassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
326 template<
class TA,
class TB>
327 friend inline TA& spsp_mm_addassign(TA&,
const TB&)
throw();
330 #if(CXSC_INDEX_CHECK) 331 template<
class TA,
class TB>
332 friend inline TA& fsp_mm_subassign(TA& A,
const TB& B)
throw(OP_WITH_WRONG_DIM);
334 template<
class TA,
class TB>
335 friend inline TA& fsp_mm_subassign(TA& A,
const TB& B)
throw();
338 #if(CXSC_INDEX_CHECK) 339 template<
class TA,
class TB,
class TFull>
340 friend inline TA& spf_mm_subassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
342 template<
class TA,
class TB,
class TFull>
343 friend inline TA& spf_mm_subassign(TA&,
const TB&)
throw();
346 #if(CXSC_INDEX_CHECK) 347 template<
class TA,
class TB,
class TElement>
348 friend inline TA& spsp_mm_subassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
350 template<
class TA,
class TB,
class TElement>
351 friend inline TA& spsp_mm_subassign(TA&,
const TB&)
throw();
354 #if(CXSC_INDEX_CHECK) 355 template<
class TA,
class TB>
356 friend inline TA& spsp_mm_subassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
358 template<
class TA,
class TB>
359 friend inline TA& spsp_mm_subassign(TA&,
const TB&)
throw();
362 #if(CXSC_INDEX_CHECK) 363 template<
class TA,
class TB,
class TFull>
364 friend inline TA& spf_mm_hullassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
366 template<
class TA,
class TB,
class TFull>
367 friend inline TA& spf_mm_hullassign(TA&,
const TB&)
throw();
370 #if(CXSC_INDEX_CHECK) 371 template<
class TA,
class TB>
372 friend inline TA& fsp_mm_hullassign(TA& A,
const TB& B)
throw(OP_WITH_WRONG_DIM);
374 template<
class TA,
class TB>
375 friend inline TA& fsp_mm_hullassign(TA& A,
const TB& B)
throw();
378 #if(CXSC_INDEX_CHECK) 379 template<
class TA,
class TB,
class TElement>
380 friend inline TA& spsp_mm_hullassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
382 template<
class TA,
class TB,
class TElement>
383 friend inline TA& spsp_mm_hullassign(TA&,
const TB&)
throw();
386 #if(CXSC_INDEX_CHECK) 387 template<
class TA,
class TB>
388 friend inline TA& spsp_mm_hullassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
390 template<
class TA,
class TB>
391 friend inline TA& spsp_mm_hullassign(TA&,
const TB&)
throw();
394 #if(CXSC_INDEX_CHECK) 395 template<
class TA,
class TB>
396 friend inline TA& fsp_mm_intersectassign(TA& A,
const TB& B)
throw(OP_WITH_WRONG_DIM);
398 template<
class TA,
class TB>
399 friend inline TA& fsp_mm_intersectassign(TA& A,
const TB& B)
throw();
402 #if(CXSC_INDEX_CHECK) 403 template<
class TA,
class TB,
class TFull>
404 friend inline TA& spf_mm_intersectassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
406 template<
class TA,
class TB,
class TFull>
407 friend inline TA& spf_mm_intersectassign(TA&,
const TB&)
throw();
410 #if(CXSC_INDEX_CHECK) 411 template<
class TA,
class TB,
class TElement>
412 friend inline TA& spsp_mm_intersectassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
414 template<
class TA,
class TB,
class TElement>
415 friend inline TA& spsp_mm_intersectassign(TA&,
const TB&)
throw();
418 #if(CXSC_INDEX_CHECK) 419 template<
class TA,
class TB>
420 friend inline TA& spsp_mm_intersectassign(TA&,
const TB&)
throw(OP_WITH_WRONG_DIM);
422 template<
class TA,
class TB>
423 friend inline TA& spsp_mm_intersectassign(TA&,
const TB&)
throw();
426 #if(CXSC_INDEX_CHECK) 427 template<
class Tx,
class Ty>
428 friend inline Tx& svsp_vv_assign(Tx&,
const Ty&)
throw(OP_WITH_WRONG_DIM);
430 template<
class Tx,
class Ty>
431 friend inline Tx& svsp_vv_assign(Tx&,
const Ty&)
throw();
434 #if(CXSC_INDEX_CHECK) 435 template<
class Tx,
class Ty>
436 friend inline Tx& svsl_vv_assign(Tx&,
const Ty&)
throw(OP_WITH_WRONG_DIM);
438 template<
class Tx,
class Ty>
439 friend inline Tx& svsl_vv_assign(Tx&,
const Ty&)
throw();
442 #if(CXSC_INDEX_CHECK) 443 template<
class Tx,
class Ty>
444 friend inline Tx& svf_vv_assign(Tx&,
const Ty&)
throw(OP_WITH_WRONG_DIM);
446 template<
class Tx,
class Ty>
447 friend inline Tx& svf_vv_assign(Tx&,
const Ty&)
throw();
450 template<
class TA,
class Ts,
class TType>
451 friend inline TA& sp_ms_assign(TA&,
const Ts&);
453 template<
class TA,
class Ts,
class TElement,
class TType>
454 friend inline TA& sl_ms_assign(TA&,
const Ts&);
456 template<
class Tx,
class Ts>
457 friend inline Tx& sv_vs_assign(Tx&,
const Ts&);
460 friend inline bool sp_m_not(
const TA&);
463 friend inline bool sv_v_not(
const Tx&);
466 friend inline void sp_m_resize(TA& A)
throw();
468 #if(CXSC_INDEX_CHECK) 470 friend inline void sp_m_resize(TA &A,
const int &m,
const int &n)
throw(WRONG_BOUNDARIES);
473 friend inline void sp_m_resize(TA &A,
const int &m,
const int &n)
throw();
476 #if(CXSC_INDEX_CHECK) 478 friend inline void sp_m_resize(TA &A,
const int &m1,
const int &m2,
const int &n1,
const int &n2)
throw(WRONG_BOUNDARIES);
481 friend inline void sp_m_resize(TA &A,
const int &m1,
const int &m2,
const int &n1,
const int &n2)
throw();