C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
livecimat.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: livecimat.hpp,v 1.24 2014/01/30 17:23:47 cxsc Exp $ */
00025 
00026 // Here are definitions for l_ivector x imatrix-Functions
00027 #ifndef _CXSC_LIVECIMAT_HPP_INCLUDED
00028 #define _CXSC_LIVECIMAT_HPP_INCLUDED
00029 
00030 namespace cxsc {
00031 
00033         INLINE l_ivector _l_ivector(const imatrix &sl)
00034 #if(CXSC_INDEX_CHECK)
00035         throw(ERROR_IMATRIX_TYPE_CAST_OF_THICK_OBJ);
00036 #else
00037         throw();
00038 #endif
00039 
00040         INLINE l_ivector _l_ivector(const imatrix_slice &sl)
00041 #if(CXSC_INDEX_CHECK)
00042         throw(ERROR_IMATRIX_TYPE_CAST_OF_THICK_OBJ);
00043 #else
00044         throw();
00045 #endif
00046 
00048         INLINE void accumulate(idotprecision &dp, const imatrix_subv & rv1, const l_ivector &rv2)
00049 #if(CXSC_INDEX_CHECK)
00050         throw(OP_WITH_WRONG_DIM);
00051 #else
00052         throw();
00053 #endif
00054 
00055         INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const imatrix_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 imatrix_subv & rv1, const l_ivector_slice &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_ivector_slice & rv1, const imatrix_subv &rv2)
00070 #if(CXSC_INDEX_CHECK)
00071         throw(OP_WITH_WRONG_DIM);
00072 #else
00073         throw();
00074 #endif
00075         
00076 
00078         INLINE l_ivector operator *(const imatrix &m,const l_ivector &v)
00079 #if(CXSC_INDEX_CHECK)
00080         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00081 #else
00082         throw();
00083 #endif
00084 
00085         INLINE l_ivector operator *(const imatrix_slice &ms,const l_ivector &v)
00086 #if(CXSC_INDEX_CHECK)
00087         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00088 #else
00089         throw();
00090 #endif
00091 
00092         INLINE l_ivector operator *(const l_ivector &v,const imatrix &m)
00093 #if(CXSC_INDEX_CHECK)
00094         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00095 #else
00096         throw();
00097 #endif
00098 
00099         INLINE l_ivector operator *(const l_ivector &v,const imatrix_slice &ms)
00100 #if(CXSC_INDEX_CHECK)
00101         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00102 #else
00103         throw();
00104 #endif
00105 
00106         INLINE l_ivector &operator *=(l_ivector &v,const imatrix &m)
00107 #if(CXSC_INDEX_CHECK)
00108         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00109 #else
00110         throw();
00111 #endif
00112 
00113         INLINE l_ivector &operator *=(l_ivector &v,const imatrix_slice &ms)
00114 #if(CXSC_INDEX_CHECK)
00115         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00116 #else
00117         throw();
00118 #endif
00119 
00121         INLINE l_ivector operator *(const l_ivector_slice &v,const imatrix &m)
00122 #if(CXSC_INDEX_CHECK)
00123         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00124 #else
00125         throw();
00126 #endif
00127 
00128         
00130         INLINE l_ivector operator *(const l_rvector &v,const imatrix &m)
00131 #if(CXSC_INDEX_CHECK)
00132         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00133 #else
00134         throw();
00135 #endif
00136 
00137         INLINE l_ivector operator *(const l_rvector &v,const imatrix_slice &ms)
00138 #if(CXSC_INDEX_CHECK)
00139         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00140 #else
00141         throw();
00142 #endif
00143 
00144         INLINE l_ivector operator *(const l_rvector_slice &v,const imatrix &m)
00145 #if(CXSC_INDEX_CHECK)
00146         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00147 #else
00148         throw();
00149 #endif
00150 
00151         INLINE l_ivector operator *(const imatrix &m,const l_rvector &v)
00152 #if(CXSC_INDEX_CHECK)
00153         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00154 #else
00155         throw();
00156 #endif
00157 
00158         INLINE l_ivector operator *(const imatrix_slice &ms,const l_rvector &v)
00159 #if(CXSC_INDEX_CHECK)
00160         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00161 #else
00162         throw();
00163 #endif
00164 
00165 } // namespace cxsc 
00166 
00167 #endif
00168