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