C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
civeccmat.hpp
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