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: civeccmat.hpp,v 1.24 2014/01/30 17:23:44 cxsc Exp $ */ 00025 00026 // Here are definitions for civector x cmatrix-Functions 00027 #ifndef _CXSC_CIVECCMAT_HPP_INCLUDED 00028 #define _CXSC_CIVECCMAT_HPP_INCLUDED 00029 00030 namespace cxsc { 00031 00032 INLINE civector _civector(const cmatrix &sl) 00033 #if(CXSC_INDEX_CHECK) 00034 throw(ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ); 00035 #else 00036 throw(); 00037 #endif 00038 INLINE civector _civector(const cmatrix_slice &sl) 00039 #if(CXSC_INDEX_CHECK) 00040 throw(ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ); 00041 #else 00042 throw(); 00043 #endif 00044 00045 void accumulate(cidotprecision &dp, const cmatrix_subv & rv1, const civector &rv2) 00046 #if(CXSC_INDEX_CHECK) 00047 throw(OP_WITH_WRONG_DIM); 00048 #else 00049 throw(); 00050 #endif 00051 void accumulate(cidotprecision &dp, const civector & rv1, const cmatrix_subv &rv2) 00052 #if(CXSC_INDEX_CHECK) 00053 throw(OP_WITH_WRONG_DIM); 00054 #else 00055 throw(); 00056 #endif 00057 void accumulate(cidotprecision &dp, const cmatrix_subv & rv1, const civector_slice &rv2) 00058 #if(CXSC_INDEX_CHECK) 00059 throw(OP_WITH_WRONG_DIM); 00060 #else 00061 throw(); 00062 #endif 00063 void accumulate(cidotprecision &dp, const civector_slice & rv1, const cmatrix_subv &rv2) 00064 #if(CXSC_INDEX_CHECK) 00065 throw(OP_WITH_WRONG_DIM); 00066 #else 00067 throw(); 00068 #endif 00069 00070 INLINE void SetInf(civector &iv,const cmatrix_subv &rv) 00071 #if(CXSC_INDEX_CHECK) 00072 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00073 #else 00074 throw(); 00075 #endif 00076 INLINE void SetSup(civector &iv,const cmatrix_subv &rv) 00077 #if(CXSC_INDEX_CHECK) 00078 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00079 #else 00080 throw(); 00081 #endif 00082 INLINE void SetInf(civector_slice &iv,const cmatrix_subv &rv) 00083 #if(CXSC_INDEX_CHECK) 00084 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00085 #else 00086 throw(); 00087 #endif 00088 INLINE void SetSup(civector_slice &iv,const cmatrix_subv &rv) 00089 #if(CXSC_INDEX_CHECK) 00090 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00091 #else 00092 throw(); 00093 #endif 00094 00095 INLINE void UncheckedSetInf(civector &iv,const cmatrix_subv &rv) 00096 #if(CXSC_INDEX_CHECK) 00097 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00098 #else 00099 throw(); 00100 #endif 00101 INLINE void UncheckedSetSup(civector &iv,const cmatrix_subv &rv) 00102 #if(CXSC_INDEX_CHECK) 00103 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00104 #else 00105 throw(); 00106 #endif 00107 INLINE void UncheckedSetInf(civector_slice &iv,const cmatrix_subv &rv) 00108 #if(CXSC_INDEX_CHECK) 00109 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00110 #else 00111 throw(); 00112 #endif 00113 INLINE void UncheckedSetSup(civector_slice &iv,const cmatrix_subv &rv) 00114 #if(CXSC_INDEX_CHECK) 00115 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00116 #else 00117 throw(); 00118 #endif 00119 00120 00121 INLINE civector operator *(const cmatrix &m,const civector &v) 00122 #if(CXSC_INDEX_CHECK) 00123 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00124 #else 00125 throw(); 00126 #endif 00127 INLINE civector operator *(const cmatrix_slice &ms,const civector &v) 00128 #if(CXSC_INDEX_CHECK) 00129 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00130 #else 00131 throw(); 00132 #endif 00133 INLINE civector operator *(const civector &v,const cmatrix &m) 00134 #if(CXSC_INDEX_CHECK) 00135 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00136 #else 00137 throw(); 00138 #endif 00139 INLINE civector operator *(const civector &v,const cmatrix_slice &ms) 00140 #if(CXSC_INDEX_CHECK) 00141 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00142 #else 00143 throw(); 00144 #endif 00145 INLINE civector &operator *=(civector &v,const cmatrix &m) 00146 #if(CXSC_INDEX_CHECK) 00147 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00148 #else 00149 throw(); 00150 #endif 00151 INLINE civector &operator *=(civector &v,const cmatrix_slice &ms) 00152 #if(CXSC_INDEX_CHECK) 00153 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00154 #else 00155 throw(); 00156 #endif 00157 00158 INLINE civector operator *(const civector_slice &v,const cmatrix &m) 00159 #if(CXSC_INDEX_CHECK) 00160 throw(ERROR_CMATRIX_OP_WITH_WRONG_DIM); 00161 #else 00162 throw(); 00163 #endif 00164 00165 00166 INLINE civector operator *(const ivector &v,const cmatrix &m) 00167 #if(CXSC_INDEX_CHECK) 00168 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00169 #else 00170 throw(); 00171 #endif 00172 INLINE civector operator *(const ivector &v,const cmatrix_slice &ms) 00173 #if(CXSC_INDEX_CHECK) 00174 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00175 #else 00176 throw(); 00177 #endif 00178 INLINE civector operator *(const ivector_slice &v,const cmatrix &m) 00179 #if(CXSC_INDEX_CHECK) 00180 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00181 #else 00182 throw(); 00183 #endif 00184 INLINE civector operator *(const cmatrix &m,const ivector &v) 00185 #if(CXSC_INDEX_CHECK) 00186 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00187 #else 00188 throw(); 00189 #endif 00190 INLINE civector operator *(const cmatrix_slice &ms,const ivector &v) 00191 #if(CXSC_INDEX_CHECK) 00192 throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM); 00193 #else 00194 throw(); 00195 #endif 00196 00197 } // namespace cxsc 00198 00199 #endif 00200