C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
ivecrmat.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: ivecrmat.hpp,v 1.26 2014/01/30 17:23:45 cxsc Exp $ */
00025 
00026 // Here are definitions for ivector x rmatrix-Functions
00027 #ifndef _CXSC_IVECRMAT_HPP_INCLUDED
00028 #define _CXSC_IVECRMAT_HPP_INCLUDED
00029 
00030 namespace cxsc {
00031 
00033         INLINE ivector _ivector(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 ivector _ivector(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         void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const ivector &rv2)
00049 #if(CXSC_INDEX_CHECK)
00050         throw(OP_WITH_WRONG_DIM);
00051 #else
00052         throw();
00053 #endif
00054 
00055         void accumulate(idotprecision &dp, const ivector & rv1, const rmatrix_subv &rv2)
00056 #if(CXSC_INDEX_CHECK)
00057         throw(OP_WITH_WRONG_DIM);
00058 #else
00059         throw();
00060 #endif
00061 
00062         void accumulate(cidotprecision &dp, const rmatrix_subv & rv1, const ivector &rv2)
00063 #if(CXSC_INDEX_CHECK)
00064         throw(OP_WITH_WRONG_DIM);
00065 #else
00066         throw();
00067 #endif
00068 
00069         void accumulate(cidotprecision &dp, const ivector & rv1, const rmatrix_subv &rv2)
00070 #if(CXSC_INDEX_CHECK)
00071         throw(OP_WITH_WRONG_DIM);
00072 #else
00073         throw();
00074 #endif
00075 
00076         void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const ivector_slice &rv2)
00077 #if(CXSC_INDEX_CHECK)
00078         throw(OP_WITH_WRONG_DIM);
00079 #else
00080         throw();
00081 #endif
00082 
00083         void accumulate(idotprecision &dp, const ivector_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         void accumulate(cidotprecision &dp, const rmatrix_subv & rv1, const ivector_slice &rv2)
00091 #if(CXSC_INDEX_CHECK)
00092         throw(OP_WITH_WRONG_DIM);
00093 #else
00094         throw();
00095 #endif
00096 
00097         void accumulate(cidotprecision &dp, const ivector_slice & rv1, const rmatrix_subv &rv2)
00098 #if(CXSC_INDEX_CHECK)
00099         throw(OP_WITH_WRONG_DIM);
00100 #else
00101         throw();
00102 #endif
00103 
00104 
00106         INLINE void SetInf(ivector &iv,const rmatrix_subv &rv)
00107 #if(CXSC_INDEX_CHECK)
00108         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00109 #else
00110         throw();
00111 #endif
00112 
00113         INLINE void SetSup(ivector &iv,const rmatrix_subv &rv)
00114 #if(CXSC_INDEX_CHECK)
00115         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00116 #else
00117         throw();
00118 #endif
00119 
00120         INLINE void SetInf(ivector_slice &iv,const rmatrix_subv &rv)
00121 #if(CXSC_INDEX_CHECK)
00122         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00123 #else
00124         throw();
00125 #endif
00126 
00127         INLINE void SetSup(ivector_slice &iv,const rmatrix_subv &rv)
00128 #if(CXSC_INDEX_CHECK)
00129         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00130 #else
00131         throw();
00132 #endif
00133 
00135         INLINE void UncheckedSetInf(ivector &iv,const rmatrix_subv &rv)
00136 #if(CXSC_INDEX_CHECK)
00137         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00138 #else
00139         throw();
00140 #endif
00141 
00142         INLINE void UncheckedSetSup(ivector &iv,const rmatrix_subv &rv)
00143 #if(CXSC_INDEX_CHECK)
00144         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00145 #else
00146         throw();
00147 #endif
00148 
00149         INLINE void UncheckedSetInf(ivector_slice &iv,const rmatrix_subv &rv)
00150 #if(CXSC_INDEX_CHECK)
00151         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00152 #else
00153         throw();
00154 #endif
00155 
00156         INLINE void UncheckedSetSup(ivector_slice &iv,const rmatrix_subv &rv)
00157 #if(CXSC_INDEX_CHECK)
00158         throw(ERROR_IMATRIX_OP_WITH_WRONG_DIM);
00159 #else
00160         throw();
00161 #endif
00162 
00163 
00165         INLINE ivector operator *(const rmatrix &m,const ivector &v)
00166 #if(CXSC_INDEX_CHECK)
00167         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00168 #else
00169         throw();
00170 #endif
00171 
00172         INLINE ivector operator *(const rmatrix_slice &ms,const ivector &v)
00173 #if(CXSC_INDEX_CHECK)
00174         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00175 #else
00176         throw();
00177 #endif
00178 
00179         INLINE ivector operator *(const ivector &v,const rmatrix &m)
00180 #if(CXSC_INDEX_CHECK)
00181         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00182 #else
00183         throw();
00184 #endif
00185 
00186         INLINE ivector operator *(const ivector &v,const rmatrix_slice &ms)
00187 #if(CXSC_INDEX_CHECK)
00188         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00189 #else
00190         throw();
00191 #endif
00192 
00193         INLINE ivector &operator *=(ivector &v,const rmatrix &m)
00194 #if(CXSC_INDEX_CHECK)
00195         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00196 #else
00197         throw();
00198 #endif
00199 
00200         INLINE ivector &operator *=(ivector &v,const rmatrix_slice &ms)
00201 #if(CXSC_INDEX_CHECK)
00202         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00203 #else
00204         throw();
00205 #endif
00206 
00208         INLINE ivector operator *(const ivector_slice &v,const rmatrix &m)
00209 #if(CXSC_INDEX_CHECK)
00210         throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
00211 #else
00212         throw();
00213 #endif
00214 
00215 } // namespace cxsc 
00216 
00217 #endif
00218