C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
00001 /* 00002 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4) 00003 ** 00004 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik, 00005 ** Universitaet Karlsruhe, Germany 00006 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie 00007 ** Universitaet Wuppertal, Germany 00008 ** 00009 ** This library is free software; you can redistribute it and/or 00010 ** modify it under the terms of the GNU Library General Public 00011 ** License as published by the Free Software Foundation; either 00012 ** version 2 of the License, or (at your option) any later version. 00013 ** 00014 ** This library is distributed in the hope that it will be useful, 00015 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 ** Library General Public License for more details. 00018 ** 00019 ** You should have received a copy of the GNU Library General Public 00020 ** License along with this library; if not, write to the Free 00021 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 */ 00023 00024 /* CVS $Id: liveclrmat.hpp,v 1.25 2014/01/30 17:23:47 cxsc Exp $ */ 00025 00026 // Here are definitions for l_ivector x l_rmatrix-Functions 00027 #ifndef _CXSC_LIVECLRMAT_HPP_INCLUDED 00028 #define _CXSC_LIVECLRMAT_HPP_INCLUDED 00029 00030 namespace cxsc { 00031 00033 INLINE l_ivector _l_ivector(const l_rmatrix &sl) 00034 #if(CXSC_INDEX_CHECK) 00035 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ); 00036 #else 00037 throw(); 00038 #endif 00039 00040 INLINE l_ivector _l_ivector(const l_rmatrix_slice &sl) 00041 #if(CXSC_INDEX_CHECK) 00042 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ); 00043 #else 00044 throw(); 00045 #endif 00046 00048 INLINE void accumulate(idotprecision &dp, const l_rmatrix_subv & rv1, const l_ivector &rv2) 00049 #if(CXSC_INDEX_CHECK) 00050 throw(OP_WITH_WRONG_DIM); 00051 #else 00052 throw(); 00053 #endif 00054 00055 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const l_rmatrix_subv &rv2) 00056 #if(CXSC_INDEX_CHECK) 00057 throw(OP_WITH_WRONG_DIM); 00058 #else 00059 throw(); 00060 #endif 00061 00062 INLINE void accumulate(idotprecision &dp, const l_rmatrix_subv & rv1, const l_ivector_slice &rv2) 00063 #if(CXSC_INDEX_CHECK) 00064 throw(OP_WITH_WRONG_DIM); 00065 #else 00066 throw(); 00067 #endif 00068 00069 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & rv1, const l_rmatrix_subv &rv2) 00070 #if(CXSC_INDEX_CHECK) 00071 throw(OP_WITH_WRONG_DIM); 00072 #else 00073 throw(); 00074 #endif 00075 00077 INLINE void SetInf(l_ivector &iv,const l_rmatrix_subv &rv) 00078 #if(CXSC_INDEX_CHECK) 00079 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00080 #else 00081 throw(); 00082 #endif 00083 00084 INLINE void SetSup(l_ivector &iv,const l_rmatrix_subv &rv) 00085 #if(CXSC_INDEX_CHECK) 00086 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00087 #else 00088 throw(); 00089 #endif 00090 00091 INLINE void SetInf(l_ivector_slice &iv,const l_rmatrix_subv &rv) 00092 #if(CXSC_INDEX_CHECK) 00093 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00094 #else 00095 throw(); 00096 #endif 00097 00098 INLINE void SetSup(l_ivector_slice &iv,const l_rmatrix_subv &rv) 00099 #if(CXSC_INDEX_CHECK) 00100 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00101 #else 00102 throw(); 00103 #endif 00104 00106 INLINE void UncheckedSetInf(l_ivector &iv,const l_rmatrix_subv &rv) 00107 #if(CXSC_INDEX_CHECK) 00108 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00109 #else 00110 throw(); 00111 #endif 00112 00113 INLINE void UncheckedSetSup(l_ivector &iv,const l_rmatrix_subv &rv) 00114 #if(CXSC_INDEX_CHECK) 00115 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00116 #else 00117 throw(); 00118 #endif 00119 00120 INLINE void UncheckedSetInf(l_ivector_slice &iv,const l_rmatrix_subv &rv) 00121 #if(CXSC_INDEX_CHECK) 00122 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00123 #else 00124 throw(); 00125 #endif 00126 00127 INLINE void UncheckedSetSup(l_ivector_slice &iv,const l_rmatrix_subv &rv) 00128 #if(CXSC_INDEX_CHECK) 00129 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00130 #else 00131 throw(); 00132 #endif 00133 00134 00136 INLINE l_ivector operator *(const l_rmatrix &m,const l_ivector &v) 00137 #if(CXSC_INDEX_CHECK) 00138 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00139 #else 00140 throw(); 00141 #endif 00142 00143 INLINE l_ivector operator *(const l_rmatrix_slice &ms,const l_ivector &v) 00144 #if(CXSC_INDEX_CHECK) 00145 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00146 #else 00147 throw(); 00148 #endif 00149 00150 INLINE l_ivector operator *(const l_ivector &v,const l_rmatrix &m) 00151 #if(CXSC_INDEX_CHECK) 00152 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00153 #else 00154 throw(); 00155 #endif 00156 00157 INLINE l_ivector operator *(const l_ivector &v,const l_rmatrix_slice &ms) 00158 #if(CXSC_INDEX_CHECK) 00159 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00160 #else 00161 throw(); 00162 #endif 00163 00164 INLINE l_ivector &operator *=(l_ivector &v,const l_rmatrix &m) 00165 #if(CXSC_INDEX_CHECK) 00166 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00167 #else 00168 throw(); 00169 #endif 00170 00171 INLINE l_ivector &operator *=(l_ivector &v,const l_rmatrix_slice &ms) 00172 #if(CXSC_INDEX_CHECK) 00173 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00174 #else 00175 throw(); 00176 #endif 00177 00179 INLINE l_ivector operator *(const l_ivector_slice &v,const l_rmatrix &m) 00180 #if(CXSC_INDEX_CHECK) 00181 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM); 00182 #else 00183 throw(); 00184 #endif 00185 00186 00188 INLINE l_ivector operator *(const ivector &v,const l_rmatrix &m) 00189 #if(CXSC_INDEX_CHECK) 00190 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00191 #else 00192 throw(); 00193 #endif 00194 00195 INLINE l_ivector operator *(const ivector &v,const l_rmatrix_slice &ms) 00196 #if(CXSC_INDEX_CHECK) 00197 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00198 #else 00199 throw(); 00200 #endif 00201 00202 INLINE l_ivector operator *(const ivector_slice &v,const l_rmatrix &m) 00203 #if(CXSC_INDEX_CHECK) 00204 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00205 #else 00206 throw(); 00207 #endif 00208 00209 INLINE l_ivector operator *(const l_rmatrix &m,const ivector &v) 00210 #if(CXSC_INDEX_CHECK) 00211 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00212 #else 00213 throw(); 00214 #endif 00215 00216 INLINE l_ivector operator *(const l_rmatrix_slice &ms,const ivector &v) 00217 #if(CXSC_INDEX_CHECK) 00218 throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM); 00219 #else 00220 throw(); 00221 #endif 00222 00223 } // namespace cxsc 00224 00225 #endif 00226