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
00027 #ifndef _CXSC_IVECRMAT_HPP_INCLUDED
00028 #define _CXSC_IVECRMAT_HPP_INCLUDED
00029
00030 namespace cxsc {
00031
00033 INLINE ivector _ivector(const rmatrix &sl)
00034 #if(CXSC_INDEX_CHECK)
00035 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
00036 #else
00037 throw();
00038 #endif
00039
00040 INLINE ivector _ivector(const rmatrix_slice &sl)
00041 #if(CXSC_INDEX_CHECK)
00042 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
00043 #else
00044 throw();
00045 #endif
00046
00048 void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const ivector &rv2)
00049 #if(CXSC_INDEX_CHECK)
00050 throw(OP_WITH_WRONG_DIM);
00051 #else
00052 throw();
00053 #endif
00054
00055 void accumulate(idotprecision &dp, const ivector & rv1, const rmatrix_subv &rv2)
00056 #if(CXSC_INDEX_CHECK)
00057 throw(OP_WITH_WRONG_DIM);
00058 #else
00059 throw();
00060 #endif
00061
00062 void accumulate(cidotprecision &dp, const rmatrix_subv & rv1, const ivector &rv2)
00063 #if(CXSC_INDEX_CHECK)
00064 throw(OP_WITH_WRONG_DIM);
00065 #else
00066 throw();
00067 #endif
00068
00069 void accumulate(cidotprecision &dp, const ivector & rv1, const rmatrix_subv &rv2)
00070 #if(CXSC_INDEX_CHECK)
00071 throw(OP_WITH_WRONG_DIM);
00072 #else
00073 throw();
00074 #endif
00075
00076 void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const ivector_slice &rv2)
00077 #if(CXSC_INDEX_CHECK)
00078 throw(OP_WITH_WRONG_DIM);
00079 #else
00080 throw();
00081 #endif
00082
00083 void accumulate(idotprecision &dp, const ivector_slice & rv1, const rmatrix_subv &rv2)
00084 #if(CXSC_INDEX_CHECK)
00085 throw(OP_WITH_WRONG_DIM);
00086 #else
00087 throw();
00088 #endif
00089
00090 void accumulate(cidotprecision &dp, const rmatrix_subv & rv1, const ivector_slice &rv2)
00091 #if(CXSC_INDEX_CHECK)
00092 throw(OP_WITH_WRONG_DIM);
00093 #else
00094 throw();
00095 #endif
00096
00097 void accumulate(cidotprecision &dp, const ivector_slice & rv1, const rmatrix_subv &rv2)
00098 #if(CXSC_INDEX_CHECK)
00099 throw(OP_WITH_WRONG_DIM);
00100 #else
00101 throw();
00102 #endif
00103
00104
00106 INLINE void SetInf(ivector &iv,const rmatrix_subv &rv)
00107 #if(CXSC_INDEX_CHECK)
00108 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00109 #else
00110 throw();
00111 #endif
00112
00113 INLINE void SetSup(ivector &iv,const rmatrix_subv &rv)
00114 #if(CXSC_INDEX_CHECK)
00115 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00116 #else
00117 throw();
00118 #endif
00119
00120 INLINE void SetInf(ivector_slice &iv,const rmatrix_subv &rv)
00121 #if(CXSC_INDEX_CHECK)
00122 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00123 #else
00124 throw();
00125 #endif
00126
00127 INLINE void SetSup(ivector_slice &iv,const rmatrix_subv &rv)
00128 #if(CXSC_INDEX_CHECK)
00129 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00130 #else
00131 throw();
00132 #endif
00133
00135 INLINE void UncheckedSetInf(ivector &iv,const rmatrix_subv &rv)
00136 #if(CXSC_INDEX_CHECK)
00137 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00138 #else
00139 throw();
00140 #endif
00141
00142 INLINE void UncheckedSetSup(ivector &iv,const rmatrix_subv &rv)
00143 #if(CXSC_INDEX_CHECK)
00144 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00145 #else
00146 throw();
00147 #endif
00148
00149 INLINE void UncheckedSetInf(ivector_slice &iv,const rmatrix_subv &rv)
00150 #if(CXSC_INDEX_CHECK)
00151 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00152 #else
00153 throw();
00154 #endif
00155
00156 INLINE void UncheckedSetSup(ivector_slice &iv,const rmatrix_subv &rv)
00157 #if(CXSC_INDEX_CHECK)
00158 throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00159 #else
00160 throw();
00161 #endif
00162
00163
00165 INLINE ivector operator *(const rmatrix &m,const ivector &v)
00166 #if(CXSC_INDEX_CHECK)
00167 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00168 #else
00169 throw();
00170 #endif
00171
00172 INLINE ivector operator *(const rmatrix_slice &ms,const ivector &v)
00173 #if(CXSC_INDEX_CHECK)
00174 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00175 #else
00176 throw();
00177 #endif
00178
00179 INLINE ivector operator *(const ivector &v,const rmatrix &m)
00180 #if(CXSC_INDEX_CHECK)
00181 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00182 #else
00183 throw();
00184 #endif
00185
00186 INLINE ivector operator *(const ivector &v,const rmatrix_slice &ms)
00187 #if(CXSC_INDEX_CHECK)
00188 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00189 #else
00190 throw();
00191 #endif
00192
00193 INLINE ivector &operator *=(ivector &v,const rmatrix &m)
00194 #if(CXSC_INDEX_CHECK)
00195 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00196 #else
00197 throw();
00198 #endif
00199
00200 INLINE ivector &operator *=(ivector &v,const rmatrix_slice &ms)
00201 #if(CXSC_INDEX_CHECK)
00202 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00203 #else
00204 throw();
00205 #endif
00206
00208 INLINE ivector operator *(const ivector_slice &v,const rmatrix &m)
00209 #if(CXSC_INDEX_CHECK)
00210 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00211 #else
00212 throw();
00213 #endif
00214
00215 }
00216
00217 #endif
00218