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: lrvecrmat.hpp,v 1.24 2014/01/30 17:23:47 cxsc Exp $ */ 00025 00026 // Here are definitions for l_rvector x rmatrix-Functions 00027 #ifndef _CXSC_LRVECRMAT_HPP_INCLUDED 00028 #define _CXSC_LRVECRMAT_HPP_INCLUDED 00029 00030 namespace cxsc { 00031 00033 INLINE l_rvector _l_rvector(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 l_rvector _l_rvector(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 INLINE void accumulate(dotprecision &dp, const rmatrix_subv & rv1, const l_rvector &rv2) 00049 #if(CXSC_INDEX_CHECK) 00050 throw(OP_WITH_WRONG_DIM); 00051 #else 00052 throw(); 00053 #endif 00054 00055 INLINE void accumulate(dotprecision &dp, const l_rvector & rv1, const 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 rmatrix_subv & rv1, const l_rvector &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_rvector & rv1, const rmatrix_subv &rv2) 00070 #if(CXSC_INDEX_CHECK) 00071 throw(OP_WITH_WRONG_DIM); 00072 #else 00073 throw(); 00074 #endif 00075 00076 INLINE void accumulate(dotprecision &dp, const rmatrix_subv & rv1, const l_rvector_slice &rv2) 00077 #if(CXSC_INDEX_CHECK) 00078 throw(OP_WITH_WRONG_DIM); 00079 #else 00080 throw(); 00081 #endif 00082 00083 INLINE void accumulate(dotprecision &dp, const l_rvector_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 INLINE void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const l_rvector_slice &rv2) 00091 #if(CXSC_INDEX_CHECK) 00092 throw(OP_WITH_WRONG_DIM); 00093 #else 00094 throw(); 00095 #endif 00096 00097 INLINE void accumulate(idotprecision &dp, const l_rvector_slice & rv1, const rmatrix_subv &rv2) 00098 #if(CXSC_INDEX_CHECK) 00099 throw(OP_WITH_WRONG_DIM); 00100 #else 00101 throw(); 00102 #endif 00103 00105 INLINE l_rvector operator *(const rmatrix &m,const l_rvector &v) 00106 #if(CXSC_INDEX_CHECK) 00107 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00108 #else 00109 throw(); 00110 #endif 00111 00112 INLINE l_rvector operator *(const rmatrix_slice &ms,const l_rvector &v) 00113 #if(CXSC_INDEX_CHECK) 00114 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00115 #else 00116 throw(); 00117 #endif 00118 00119 INLINE l_rvector operator *(const l_rvector &v,const rmatrix &m) 00120 #if(CXSC_INDEX_CHECK) 00121 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00122 #else 00123 throw(); 00124 #endif 00125 00126 INLINE l_rvector operator *(const l_rvector &v,const rmatrix_slice &ms) 00127 #if(CXSC_INDEX_CHECK) 00128 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00129 #else 00130 throw(); 00131 #endif 00132 00133 INLINE l_rvector &operator *=(l_rvector &v,const rmatrix &m) 00134 #if(CXSC_INDEX_CHECK) 00135 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00136 #else 00137 throw(); 00138 #endif 00139 00140 INLINE l_rvector &operator *=(l_rvector &v,const rmatrix_slice &ms) 00141 #if(CXSC_INDEX_CHECK) 00142 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00143 #else 00144 throw(); 00145 #endif 00146 00148 INLINE l_rvector operator *(const l_rvector_slice &v,const rmatrix &m) 00149 #if(CXSC_INDEX_CHECK) 00150 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM); 00151 #else 00152 throw(); 00153 #endif 00154 00155 } // namespace cxsc 00156 00157 #endif 00158