00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #if(CXSC_INDEX_CHECK)
00027 template<class TA, class Tx, class Tres, class TDot, class TElement>
00028 friend inline Tres spsl_mv_mult(const TA&, const Tx&) throw(OP_WITH_WRONG_DIM);
00029 #else
00030 template<class TA, class Tx, class Tres, class TDot, class TElement>
00031 friend inline Tres spsl_mv_mult(const TA&, const Tx&) throw();
00032 #endif
00033
00034 #if(CXSC_INDEX_CHECK)
00035 template<class TA, class Tx, class Tres, class TDot, class TElement>
00036 friend inline Tres spsp_mv_mult(const TA&, const Tx&) throw(OP_WITH_WRONG_DIM);
00037 #else
00038 template<class TA, class Tx, class Tres, class TDot, class TElement>
00039 friend inline Tres spsp_mv_mult(const TA&, const Tx&) throw();
00040 #endif
00041
00042 #if(CXSC_INDEX_CHECK)
00043 template<class TA, class Tx, class Tres, class TDot>
00044 friend inline Tres spf_mv_mult(const TA&, const Tx&) throw(OP_WITH_WRONG_DIM);
00045 #else
00046 template<class TA, class Tx, class Tres, class TDot>
00047 friend inline Tres spf_mv_mult(const TA&, const Tx&) throw();
00048 #endif
00049
00050 #if(CXSC_INDEX_CHECK)
00051 template<class TA, class Tx, class Tres, class TDot>
00052 friend inline Tres fsp_mv_mult(const TA&, const Tx&) throw(OP_WITH_WRONG_DIM);
00053 #else
00054 template<class TA, class Tx, class Tres, class TDot>
00055 friend inline Tres fsp_mv_mult(const TA&, const Tx&) throw();
00056 #endif
00057
00058 #if(CXSC_INDEX_CHECK)
00059 template<class TA, class Tx, class Tres, class TDot>
00060 friend inline Tres fsl_mv_mult(const TA&, const Tx&) throw(OP_WITH_WRONG_DIM);
00061 #else
00062 template<class TA, class Tx, class Tres, class TDot>
00063 friend inline Tres fsl_mv_mult(const TA&, const Tx&) throw();
00064 #endif
00065
00066 #if(CXSC_INDEX_CHECK)
00067 template<class TA, class TB, class Tres, class TDot, class TElement>
00068 friend inline Tres spsp_mm_mult(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00069 #else
00070 template<class TA, class TB, class Tres, class TDot, class TElement>
00071 friend inline Tres spsp_mm_mult(const TA&, const TB&) throw();
00072 #endif
00073
00074 #if(CXSC_INDEX_CHECK)
00075 template<class TA, class TB, class Tres, class TDot>
00076 friend inline Tres fsp_mm_mult(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00077 #else
00078 template<class TA, class TB, class Tres, class TDot>
00079 friend inline Tres fsp_mm_mult(const TA&, const TB&) throw();
00080 #endif
00081
00082 #if(CXSC_INDEX_CHECK)
00083 template<class TA, class TB, class Tres, class TDot>
00084 friend inline Tres spf_mm_mult(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00085 #else
00086 template<class TA, class TB, class Tres, class TDot>
00087 friend inline Tres spf_mm_mult(const TA&, const TB&) throw();
00088 #endif
00089
00090 template<class TA, class Ts, class Tres>
00091 friend inline Tres sp_ms_div(const TA&, const Ts&);
00092
00093 template<class TA, class Ts, class Tres>
00094 friend inline Tres sp_ms_mult(const TA&, const Ts&);
00095
00096 template<class Ts, class TA, class Tres>
00097 friend inline Tres sp_sm_mult(const Ts&, const TA&);
00098
00099 #if(CXSC_INDEX_CHECK)
00100 template<class TA, class TB, class Tres, class TElement>
00101 friend inline Tres spsp_mm_add(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00102 #else
00103 template<class TA, class TB, class Tres, class TElement>
00104 friend inline Tres spsp_mm_add(const TA&, const TB&) throw();
00105 #endif
00106
00107 #if(CXSC_INDEX_CHECK)
00108 template<class TA, class TB, class Tres>
00109 friend inline Tres spf_mm_add(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00110 #else
00111 template<class TA, class TB, class Tres>
00112 friend inline Tres spf_mm_add(const TA&, const TB&) throw();
00113 #endif
00114
00115 #if(CXSC_INDEX_CHECK)
00116 template<class TA, class TB, class Tres>
00117 friend inline Tres fsp_mm_add(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00118 #else
00119 template<class TA, class TB, class Tres>
00120 friend inline Tres fsp_mm_add(const TA&, const TB&) throw();
00121 #endif
00122
00123 #if(CXSC_INDEX_CHECK)
00124 template<class TA, class TB, class Tres, class TElement>
00125 friend inline Tres spsp_mm_sub(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00126 #else
00127 template<class TA, class TB, class Tres, class TElement>
00128 friend inline Tres spsp_mm_sub(const TA&, const TB&) throw();
00129 #endif
00130
00131 #if(CXSC_INDEX_CHECK)
00132 template<class TA, class TB, class Tres>
00133 friend inline Tres spf_mm_sub(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00134 #else
00135 template<class TA, class TB, class Tres>
00136 friend inline Tres spf_mm_sub(const TA&, const TB&) throw();
00137 #endif
00138
00139 #if(CXSC_INDEX_CHECK)
00140 template<class TA, class TB, class Tres>
00141 friend inline Tres fsp_mm_sub(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00142 #else
00143 template<class TA, class TB, class Tres>
00144 friend inline Tres fsp_mm_sub(const TA&, const TB&) throw();
00145 #endif
00146
00147 #if(CXSC_INDEX_CHECK)
00148 template<class TA, class TB, class Tres, class TElement>
00149 friend inline Tres spsp_mm_hull(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00150 #else
00151 template<class TA, class TB, class Tres, class TElement>
00152 friend inline Tres spsp_mm_hull(const TA&, const TB&) throw();
00153 #endif
00154
00155 #if(CXSC_INDEX_CHECK)
00156 template<class TA, class TB, class Tres>
00157 friend inline Tres spf_mm_hull(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00158 #else
00159 template<class TA, class TB, class Tres>
00160 friend inline Tres spf_mm_hull(const TA&, const TB&) throw();
00161 #endif
00162
00163 #if(CXSC_INDEX_CHECK)
00164 template<class TA, class TB, class Tres>
00165 friend inline Tres fsp_mm_hull(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00166 #else
00167 template<class TA, class TB, class Tres>
00168 friend inline Tres fsp_mm_hull(const TA&, const TB&) throw();
00169 #endif
00170
00171 #if(CXSC_INDEX_CHECK)
00172 template<class TA, class TB, class Tres, class TElement>
00173 friend inline Tres spsp_mm_intersect(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00174 #else
00175 template<class TA, class TB, class Tres, class TElement>
00176 friend inline Tres spsp_mm_intersect(const TA&, const TB&) throw();
00177 #endif
00178
00179 #if(CXSC_INDEX_CHECK)
00180 template<class TA, class TB, class Tres>
00181 friend inline Tres spf_mm_intersect(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00182 #else
00183 template<class TA, class TB, class Tres>
00184 friend inline Tres spf_mm_intersect(const TA&, const TB&) throw();
00185 #endif
00186
00187 #if(CXSC_INDEX_CHECK)
00188 template<class TA, class TB, class Tres>
00189 friend inline Tres fsp_mm_intersect(const TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00190 #else
00191 template<class TA, class TB, class Tres>
00192 friend inline Tres fsp_mm_intersect(const TA&, const TB&) throw();
00193 #endif
00194
00195 template<class TA, class TB>
00196 friend inline bool spsp_mm_comp(const TA&, const TB&);
00197
00198 template<class TA, class TB>
00199 friend inline bool spf_mm_comp(const TA&, const TB&);
00200
00201 template<class TA, class TB>
00202 friend inline bool fsp_mm_comp(const TA&, const TB&);
00203
00204 template<class TA, class TB, class TType>
00205 friend inline bool spsp_mm_less(const TA&, const TB&);
00206
00207 template<class TA, class TB, class TType>
00208 friend inline bool spf_mm_less(const TA&, const TB&);
00209
00210 template<class TA, class TB, class TType>
00211 friend inline bool fsp_mm_less(const TA&, const TB&);
00212
00213 template<class TA, class TB, class TType>
00214 friend inline bool spsp_mm_leq(const TA&, const TB&);
00215
00216 template<class TA, class TB, class TType>
00217 friend inline bool spf_mm_leq(const TA&, const TB&);
00218
00219 template<class TA, class TB, class TType>
00220 friend inline bool fsp_mm_leq(const TA&, const TB&);
00221
00222 template<class TA, class TB, class TType>
00223 friend inline bool spsp_mm_greater(const TA&, const TB&);
00224
00225 template<class TA, class TB, class TType>
00226 friend inline bool spf_mm_greater(const TA&, const TB&);
00227
00228 template<class TA, class TB, class TType>
00229 friend inline bool fsp_mm_greater(const TA&, const TB&);
00230
00231 template<class TA, class TB, class TType>
00232 friend inline bool spsp_mm_geq(const TA&, const TB&);
00233
00234 template<class TA, class TB, class TType>
00235 friend inline bool spf_mm_geq(const TA&, const TB&);
00236
00237 template<class TA, class TB, class TType>
00238 friend inline bool fsp_mm_geq(const TA&, const TB&);
00239
00240 template<class TA, class Tres>
00241 friend inline Tres sp_m_negative(const TA&);
00242
00243 template<class TA, class TType>
00244 friend inline std::ostream& sp_m_output(std::ostream&, const TA&);
00245
00246 template<class TA, class TType>
00247 friend inline std::istream& sp_m_input(std::istream&, TA&);
00248
00249 #if(CXSC_INDEX_CHECK)
00250 template<class TA, class TB, class TElement>
00251 friend inline TA& slsp_mm_assign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00252 #else
00253 template<class TA, class TB, class TElement>
00254 friend inline TA& slsp_mm_assign(TA&, const TB&) throw();
00255 #endif
00256
00257 #if(CXSC_INDEX_CHECK)
00258 template<class TA, class TB, class TElement, class TType>
00259 friend inline TA& slf_mm_assign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00260 #else
00261 template<class TA, class TB, class TElement, class TType>
00262 friend inline TA& slf_mm_assign(TA&, const TB&) throw();
00263 #endif
00264
00265 template<class TA, class TB, class TType>
00266 friend inline TA& spf_mm_assign(TA&, const TB&);
00267
00268 template<class TA, class Ts>
00269 friend inline TA& sp_ms_divassign(TA&, const Ts&);
00270
00271 template<class TA, class Ts>
00272 friend inline TA& sp_ms_multassign(TA&, const Ts&);
00273
00274 #if(CXSC_INDEX_CHECK)
00275 template<class TA, class TB, class TDot, class TElement>
00276 friend inline TA& spsp_mm_multassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00277 #else
00278 template<class TA, class TB, class TDot, class TElement>
00279 friend inline TA& spsp_mm_multassign(TA&, const TB&) throw();
00280 #endif
00281
00282 #if(CXSC_INDEX_CHECK)
00283 template<class TA, class TB, class TDot, class TFull>
00284 friend inline TA& spf_mm_multassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00285 #else
00286 template<class TA, class TB, class TDot, class TFull>
00287 friend inline TA& spf_mm_multassign(TA&, const TB&) throw();
00288 #endif
00289
00290 #if(CXSC_INDEX_CHECK)
00291 template<class TA, class TB, class TDot, class TFull>
00292 friend inline TA& fsp_mm_multassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00293 #else
00294 template<class TA, class TB, class TDot, class TFull>
00295 friend inline TA& fsp_mm_multassign(TA&, const TB&) throw();
00296 #endif
00297
00298 #if(CXSC_INDEX_CHECK)
00299 template<class TA, class TB>
00300 friend inline TA& fsp_mm_addassign(TA& A, const TB& B) throw(OP_WITH_WRONG_DIM);
00301 #else
00302 template<class TA, class TB>
00303 friend inline TA& fsp_mm_addassign(TA& A, const TB& B) throw();
00304 #endif
00305
00306 #if(CXSC_INDEX_CHECK)
00307 template<class TA, class TB, class TFull>
00308 friend inline TA& spf_mm_addassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00309 #else
00310 template<class TA, class TB, class TFull>
00311 friend inline TA& spf_mm_addassign(TA&, const TB&) throw();
00312 #endif
00313
00314 #if(CXSC_INDEX_CHECK)
00315 template<class TA, class TB, class TElement>
00316 friend inline TA& spsp_mm_addassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00317 #else
00318 template<class TA, class TB, class TElement>
00319 friend inline TA& spsp_mm_addassign(TA&, const TB&) throw();
00320 #endif
00321
00322 #if(CXSC_INDEX_CHECK)
00323 template<class TA, class TB>
00324 friend inline TA& spsp_mm_addassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00325 #else
00326 template<class TA, class TB>
00327 friend inline TA& spsp_mm_addassign(TA&, const TB&) throw();
00328 #endif
00329
00330 #if(CXSC_INDEX_CHECK)
00331 template<class TA, class TB>
00332 friend inline TA& fsp_mm_subassign(TA& A, const TB& B) throw(OP_WITH_WRONG_DIM);
00333 #else
00334 template<class TA, class TB>
00335 friend inline TA& fsp_mm_subassign(TA& A, const TB& B) throw();
00336 #endif
00337
00338 #if(CXSC_INDEX_CHECK)
00339 template<class TA, class TB, class TFull>
00340 friend inline TA& spf_mm_subassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00341 #else
00342 template<class TA, class TB, class TFull>
00343 friend inline TA& spf_mm_subassign(TA&, const TB&) throw();
00344 #endif
00345
00346 #if(CXSC_INDEX_CHECK)
00347 template<class TA, class TB, class TElement>
00348 friend inline TA& spsp_mm_subassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00349 #else
00350 template<class TA, class TB, class TElement>
00351 friend inline TA& spsp_mm_subassign(TA&, const TB&) throw();
00352 #endif
00353
00354 #if(CXSC_INDEX_CHECK)
00355 template<class TA, class TB>
00356 friend inline TA& spsp_mm_subassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00357 #else
00358 template<class TA, class TB>
00359 friend inline TA& spsp_mm_subassign(TA&, const TB&) throw();
00360 #endif
00361
00362 #if(CXSC_INDEX_CHECK)
00363 template<class TA, class TB, class TFull>
00364 friend inline TA& spf_mm_hullassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00365 #else
00366 template<class TA, class TB, class TFull>
00367 friend inline TA& spf_mm_hullassign(TA&, const TB&) throw();
00368 #endif
00369
00370 #if(CXSC_INDEX_CHECK)
00371 template<class TA, class TB>
00372 friend inline TA& fsp_mm_hullassign(TA& A, const TB& B) throw(OP_WITH_WRONG_DIM);
00373 #else
00374 template<class TA, class TB>
00375 friend inline TA& fsp_mm_hullassign(TA& A, const TB& B) throw();
00376 #endif
00377
00378 #if(CXSC_INDEX_CHECK)
00379 template<class TA, class TB, class TElement>
00380 friend inline TA& spsp_mm_hullassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00381 #else
00382 template<class TA, class TB, class TElement>
00383 friend inline TA& spsp_mm_hullassign(TA&, const TB&) throw();
00384 #endif
00385
00386 #if(CXSC_INDEX_CHECK)
00387 template<class TA, class TB>
00388 friend inline TA& spsp_mm_hullassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00389 #else
00390 template<class TA, class TB>
00391 friend inline TA& spsp_mm_hullassign(TA&, const TB&) throw();
00392 #endif
00393
00394 #if(CXSC_INDEX_CHECK)
00395 template<class TA, class TB>
00396 friend inline TA& fsp_mm_intersectassign(TA& A, const TB& B) throw(OP_WITH_WRONG_DIM);
00397 #else
00398 template<class TA, class TB>
00399 friend inline TA& fsp_mm_intersectassign(TA& A, const TB& B) throw();
00400 #endif
00401
00402 #if(CXSC_INDEX_CHECK)
00403 template<class TA, class TB, class TFull>
00404 friend inline TA& spf_mm_intersectassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00405 #else
00406 template<class TA, class TB, class TFull>
00407 friend inline TA& spf_mm_intersectassign(TA&, const TB&) throw();
00408 #endif
00409
00410 #if(CXSC_INDEX_CHECK)
00411 template<class TA, class TB, class TElement>
00412 friend inline TA& spsp_mm_intersectassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00413 #else
00414 template<class TA, class TB, class TElement>
00415 friend inline TA& spsp_mm_intersectassign(TA&, const TB&) throw();
00416 #endif
00417
00418 #if(CXSC_INDEX_CHECK)
00419 template<class TA, class TB>
00420 friend inline TA& spsp_mm_intersectassign(TA&, const TB&) throw(OP_WITH_WRONG_DIM);
00421 #else
00422 template<class TA, class TB>
00423 friend inline TA& spsp_mm_intersectassign(TA&, const TB&) throw();
00424 #endif
00425
00426 #if(CXSC_INDEX_CHECK)
00427 template<class Tx, class Ty>
00428 friend inline Tx& svsp_vv_assign(Tx&, const Ty&) throw(OP_WITH_WRONG_DIM);
00429 #else
00430 template<class Tx, class Ty>
00431 friend inline Tx& svsp_vv_assign(Tx&, const Ty&) throw();
00432 #endif
00433
00434 #if(CXSC_INDEX_CHECK)
00435 template<class Tx, class Ty>
00436 friend inline Tx& svsl_vv_assign(Tx&, const Ty&) throw(OP_WITH_WRONG_DIM);
00437 #else
00438 template<class Tx, class Ty>
00439 friend inline Tx& svsl_vv_assign(Tx&, const Ty&) throw();
00440 #endif
00441
00442 #if(CXSC_INDEX_CHECK)
00443 template<class Tx, class Ty>
00444 friend inline Tx& svf_vv_assign(Tx&, const Ty&) throw(OP_WITH_WRONG_DIM);
00445 #else
00446 template<class Tx, class Ty>
00447 friend inline Tx& svf_vv_assign(Tx&, const Ty&) throw();
00448 #endif
00449
00450 template<class TA, class Ts, class TType>
00451 friend inline TA& sp_ms_assign(TA&, const Ts&);
00452
00453 template<class TA, class Ts, class TElement, class TType>
00454 friend inline TA& sl_ms_assign(TA&, const Ts&);
00455
00456 template<class Tx, class Ts>
00457 friend inline Tx& sv_vs_assign(Tx&, const Ts&);
00458
00459 template<class TA>
00460 friend inline bool sp_m_not(const TA&);
00461
00462 template<class Tx>
00463 friend inline bool sv_v_not(const Tx&);
00464
00465 template <class TA>
00466 friend inline void sp_m_resize(TA& A) throw();
00467
00468 #if(CXSC_INDEX_CHECK)
00469 template <class TA>
00470 friend inline void sp_m_resize(TA &A,const int &m, const int &n) throw(WRONG_BOUNDARIES);
00471 #else
00472 template <class TA>
00473 friend inline void sp_m_resize(TA &A,const int &m, const int &n) throw();
00474 #endif
00475
00476 #if(CXSC_INDEX_CHECK)
00477 template<class TA>
00478 friend inline void sp_m_resize(TA &A,const int &m1, const int &m2,const int &n1,const int &n2) throw(WRONG_BOUNDARIES);
00479 #else
00480 template<class TA>
00481 friend inline void sp_m_resize(TA &A,const int &m1, const int &m2,const int &n1,const int &n2) throw();
00482 #endif