C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
civecimat.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: civecimat.hpp,v 1.24 2014/01/30 17:23:44 cxsc Exp $ */
00025 
00026 // Here are definitions for civector x imatrix-Functions
00027 #ifndef _CXSC_CIVECIMAT_HPP_INCLUDED
00028 #define _CXSC_CIVECIMAT_HPP_INCLUDED
00029 
00030 namespace cxsc {
00031 
00032         INLINE civector _civector(const imatrix &sl)
00033 #if(CXSC_INDEX_CHECK)
00034         throw(ERROR_IMATRIX_TYPE_CAST_OF_THICK_OBJ);
00035 #else
00036         throw();
00037 #endif
00038         INLINE civector _civector(const imatrix_slice &sl)
00039 #if(CXSC_INDEX_CHECK)
00040         throw(ERROR_IMATRIX_TYPE_CAST_OF_THICK_OBJ);
00041 #else
00042         throw();
00043 #endif
00044 
00045         void accumulate(cidotprecision &dp, const imatrix_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 imatrix_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 imatrix_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 imatrix_subv &rv2)
00064 #if(CXSC_INDEX_CHECK)
00065         throw(OP_WITH_WRONG_DIM);
00066 #else
00067         throw();
00068 #endif
00069         
00070         INLINE void SetIm(civector &iv,const imatrix_subv &rv)
00071 #if(CXSC_INDEX_CHECK)
00072         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00073 #else
00074         throw();
00075 #endif
00076         INLINE void SetRe(civector &iv,const imatrix_subv &rv)
00077 #if(CXSC_INDEX_CHECK)
00078         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00079 #else
00080         throw();
00081 #endif
00082         INLINE void SetIm(civector_slice &iv,const imatrix_subv &rv)
00083 #if(CXSC_INDEX_CHECK)
00084         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00085 #else
00086         throw();
00087 #endif
00088         INLINE void SetRe(civector_slice &iv,const imatrix_subv &rv)
00089 #if(CXSC_INDEX_CHECK)
00090         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00091 #else
00092         throw();
00093 #endif
00094 
00095 
00096         INLINE civector operator *(const imatrix &m,const civector &v)
00097 #if(CXSC_INDEX_CHECK)
00098         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00099 #else
00100         throw();
00101 #endif
00102         INLINE civector operator *(const imatrix_slice &ms,const civector &v)
00103 #if(CXSC_INDEX_CHECK)
00104         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00105 #else
00106         throw();
00107 #endif
00108         INLINE civector operator *(const civector &v,const imatrix &m)
00109 #if(CXSC_INDEX_CHECK)
00110         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00111 #else
00112         throw();
00113 #endif
00114         INLINE civector operator *(const civector &v,const imatrix_slice &ms)
00115 #if(CXSC_INDEX_CHECK)
00116         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00117 #else
00118         throw();
00119 #endif
00120         INLINE civector &operator *=(civector &v,const imatrix &m)
00121 #if(CXSC_INDEX_CHECK)
00122         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00123 #else
00124         throw();
00125 #endif
00126         INLINE civector &operator *=(civector &v,const imatrix_slice &ms)
00127 #if(CXSC_INDEX_CHECK)
00128         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00129 #else
00130         throw();
00131 #endif
00132 
00133         INLINE civector operator *(const civector_slice &v,const imatrix &m)
00134 #if(CXSC_INDEX_CHECK)
00135         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00136 #else
00137         throw();
00138 #endif
00139 
00140         
00141         INLINE civector operator *(const cvector &v,const imatrix &m)
00142 #if(CXSC_INDEX_CHECK)
00143         throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM);
00144 #else
00145         throw();
00146 #endif
00147         INLINE civector operator *(const cvector &v,const imatrix_slice &ms)
00148 #if(CXSC_INDEX_CHECK)
00149         throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM);
00150 #else
00151         throw();
00152 #endif
00153         INLINE civector operator *(const cvector_slice &v,const imatrix &m)
00154 #if(CXSC_INDEX_CHECK)
00155         throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM);
00156 #else
00157         throw();
00158 #endif
00159         INLINE civector operator *(const imatrix &m,const cvector &v)
00160 #if(CXSC_INDEX_CHECK)
00161         throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM);
00162 #else
00163         throw();
00164 #endif
00165         INLINE civector operator *(const imatrix_slice &ms,const cvector &v)
00166 #if(CXSC_INDEX_CHECK)
00167         throw(ERROR_CIMATRIX_OP_WITH_WRONG_DIM);
00168 #else
00169         throw();
00170 #endif
00171 
00172 } // namespace cxsc 
00173 
00174 #endif
00175