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