C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
civecrmat.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: civecrmat.hpp,v 1.24 2014/01/30 17:23:44 cxsc Exp $ */
00025 
00026 // Here are definitions for civector x rmatrix-Functions
00027 #ifndef _CXSC_CIVECRMAT_HPP_INCLUDED
00028 #define _CXSC_CIVECRMAT_HPP_INCLUDED
00029 
00030 namespace cxsc {
00031 
00032         INLINE civector _civector(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 civector _civector(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(cidotprecision &dp, const rmatrix_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 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 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 rmatrix_subv &rv2)
00064 #if(CXSC_INDEX_CHECK)
00065         throw(OP_WITH_WRONG_DIM);
00066 #else
00067         throw();
00068 #endif
00069 
00070 
00071         INLINE civector operator *(const rmatrix &m,const civector &v)
00072 #if(CXSC_INDEX_CHECK)
00073         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00074 #else
00075         throw();
00076 #endif
00077         INLINE civector operator *(const rmatrix_slice &ms,const civector &v)
00078 #if(CXSC_INDEX_CHECK)
00079         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00080 #else
00081         throw();
00082 #endif
00083         INLINE civector operator *(const civector &v,const rmatrix &m)
00084 #if(CXSC_INDEX_CHECK)
00085         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00086 #else
00087         throw();
00088 #endif
00089         INLINE civector operator *(const civector &v,const rmatrix_slice &ms)
00090 #if(CXSC_INDEX_CHECK)
00091         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00092 #else
00093         throw();
00094 #endif
00095         INLINE civector &operator *=(civector &v,const rmatrix &m)
00096 #if(CXSC_INDEX_CHECK)
00097         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00098 #else
00099         throw();
00100 #endif
00101         INLINE civector &operator *=(civector &v,const rmatrix_slice &ms)
00102 #if(CXSC_INDEX_CHECK)
00103         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00104 #else
00105         throw();
00106 #endif
00107 
00108         INLINE civector operator *(const civector_slice &v,const rmatrix &m)
00109 #if(CXSC_INDEX_CHECK)
00110         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00111 #else
00112         throw();
00113 #endif
00114 
00115 } // namespace cxsc 
00116 
00117 #endif
00118