C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
liveclrmat.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: liveclrmat.hpp,v 1.25 2014/01/30 17:23:47 cxsc Exp $ */
00025 
00026 // Here are definitions for l_ivector x l_rmatrix-Functions
00027 #ifndef _CXSC_LIVECLRMAT_HPP_INCLUDED
00028 #define _CXSC_LIVECLRMAT_HPP_INCLUDED
00029 
00030 namespace cxsc {
00031 
00033         INLINE l_ivector _l_ivector(const l_rmatrix &sl)
00034 #if(CXSC_INDEX_CHECK)
00035         throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
00036 #else
00037         throw();
00038 #endif
00039 
00040         INLINE l_ivector _l_ivector(const l_rmatrix_slice &sl)
00041 #if(CXSC_INDEX_CHECK)
00042         throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
00043 #else
00044         throw();
00045 #endif
00046 
00048         INLINE void accumulate(idotprecision &dp, const l_rmatrix_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 l_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 l_rmatrix_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 l_rmatrix_subv &rv2)
00070 #if(CXSC_INDEX_CHECK)
00071         throw(OP_WITH_WRONG_DIM);
00072 #else
00073         throw();
00074 #endif
00075 
00077         INLINE void SetInf(l_ivector &iv,const l_rmatrix_subv &rv)
00078 #if(CXSC_INDEX_CHECK)
00079         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00080 #else
00081         throw();
00082 #endif
00083 
00084         INLINE void SetSup(l_ivector &iv,const l_rmatrix_subv &rv)
00085 #if(CXSC_INDEX_CHECK)
00086         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00087 #else
00088         throw();
00089 #endif
00090 
00091         INLINE void SetInf(l_ivector_slice &iv,const l_rmatrix_subv &rv)
00092 #if(CXSC_INDEX_CHECK)
00093         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00094 #else
00095         throw();
00096 #endif
00097 
00098         INLINE void SetSup(l_ivector_slice &iv,const l_rmatrix_subv &rv)
00099 #if(CXSC_INDEX_CHECK)
00100         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00101 #else
00102         throw();
00103 #endif
00104 
00106         INLINE void UncheckedSetInf(l_ivector &iv,const l_rmatrix_subv &rv)
00107 #if(CXSC_INDEX_CHECK)
00108         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00109 #else
00110         throw();
00111 #endif
00112 
00113         INLINE void UncheckedSetSup(l_ivector &iv,const l_rmatrix_subv &rv)
00114 #if(CXSC_INDEX_CHECK)
00115         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00116 #else
00117         throw();
00118 #endif
00119 
00120         INLINE void UncheckedSetInf(l_ivector_slice &iv,const l_rmatrix_subv &rv)
00121 #if(CXSC_INDEX_CHECK)
00122         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00123 #else
00124         throw();
00125 #endif
00126 
00127         INLINE void UncheckedSetSup(l_ivector_slice &iv,const l_rmatrix_subv &rv)
00128 #if(CXSC_INDEX_CHECK)
00129         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00130 #else
00131         throw();
00132 #endif
00133 
00134 
00136         INLINE l_ivector operator *(const l_rmatrix &m,const l_ivector &v)
00137 #if(CXSC_INDEX_CHECK)
00138         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00139 #else
00140         throw();
00141 #endif
00142 
00143         INLINE l_ivector operator *(const l_rmatrix_slice &ms,const l_ivector &v)
00144 #if(CXSC_INDEX_CHECK)
00145         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00146 #else
00147         throw();
00148 #endif
00149 
00150         INLINE l_ivector operator *(const l_ivector &v,const l_rmatrix &m)
00151 #if(CXSC_INDEX_CHECK)
00152         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00153 #else
00154         throw();
00155 #endif
00156 
00157         INLINE l_ivector operator *(const l_ivector &v,const l_rmatrix_slice &ms)
00158 #if(CXSC_INDEX_CHECK)
00159         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00160 #else
00161         throw();
00162 #endif
00163 
00164         INLINE l_ivector &operator *=(l_ivector &v,const l_rmatrix &m)
00165 #if(CXSC_INDEX_CHECK)
00166         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00167 #else
00168         throw();
00169 #endif
00170 
00171         INLINE l_ivector &operator *=(l_ivector &v,const l_rmatrix_slice &ms)
00172 #if(CXSC_INDEX_CHECK)
00173         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00174 #else
00175         throw();
00176 #endif
00177 
00179         INLINE l_ivector operator *(const l_ivector_slice &v,const l_rmatrix &m)
00180 #if(CXSC_INDEX_CHECK)
00181         throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
00182 #else
00183         throw();
00184 #endif
00185 
00186         
00188         INLINE l_ivector operator *(const ivector &v,const l_rmatrix &m)
00189 #if(CXSC_INDEX_CHECK)
00190         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00191 #else
00192         throw();
00193 #endif
00194 
00195         INLINE l_ivector operator *(const ivector &v,const l_rmatrix_slice &ms)
00196 #if(CXSC_INDEX_CHECK)
00197         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00198 #else
00199         throw();
00200 #endif
00201 
00202         INLINE l_ivector operator *(const ivector_slice &v,const l_rmatrix &m)
00203 #if(CXSC_INDEX_CHECK)
00204         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00205 #else
00206         throw();
00207 #endif
00208 
00209         INLINE l_ivector operator *(const l_rmatrix &m,const ivector &v)
00210 #if(CXSC_INDEX_CHECK)
00211         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00212 #else
00213         throw();
00214 #endif
00215 
00216         INLINE l_ivector operator *(const l_rmatrix_slice &ms,const ivector &v)
00217 #if(CXSC_INDEX_CHECK)
00218         throw(ERROR_LIMATRIX_OP_WITH_WRONG_DIM);
00219 #else
00220         throw();
00221 #endif
00222 
00223 } // namespace cxsc 
00224 
00225 #endif
00226