C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
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: iveccvec.inl,v 1.25 2014/01/30 17:23:45 cxsc Exp $ */ 00025 00026 #ifndef _CXSC_IVECCVEC_INL_INCLUDED 00027 #define _CXSC_IVECCVEC_INL_INCLUDED 00028 00029 #include "cinterval.hpp" 00030 00031 namespace cxsc { 00032 00033 00034 INLINE cinterval operator *(const cvector & rv1, const ivector &rv2) 00035 #if(CXSC_INDEX_CHECK) 00036 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00037 #else 00038 throw() 00039 #endif 00040 { return _vvcimult<cvector,ivector,cinterval>(rv1,rv2); } 00041 INLINE cinterval operator *(const cvector_slice &sl, const ivector &rv) 00042 #if(CXSC_INDEX_CHECK) 00043 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00044 #else 00045 throw() 00046 #endif 00047 { return _vsvcimult<cvector_slice,ivector,cinterval>(sl,rv); } 00048 INLINE cinterval operator *(const cvector &rv, const ivector_slice &sl) 00049 #if(CXSC_INDEX_CHECK) 00050 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00051 #else 00052 throw() 00053 #endif 00054 { return _vsvcimult<ivector_slice,cvector,cinterval>(sl,rv); } 00055 INLINE cinterval operator *(const cvector_slice & sl1, const ivector_slice &sl2) 00056 #if(CXSC_INDEX_CHECK) 00057 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00058 #else 00059 throw() 00060 #endif 00061 { return _vsvscimult<cvector_slice,ivector_slice,cinterval>(sl1,sl2); } 00062 00063 INLINE cinterval operator *(const ivector & rv1, const cvector &rv2) 00064 #if(CXSC_INDEX_CHECK) 00065 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00066 #else 00067 throw() 00068 #endif 00069 { return _vvcimult<cvector,ivector,cinterval>(rv2,rv1); } 00070 INLINE cinterval operator *(const ivector_slice &sl, const cvector &rv) 00071 #if(CXSC_INDEX_CHECK) 00072 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00073 #else 00074 throw() 00075 #endif 00076 { return _vsvcimult<ivector_slice,cvector,cinterval>(sl,rv); } 00077 INLINE cinterval operator *(const ivector &rv, const cvector_slice &sl) 00078 #if(CXSC_INDEX_CHECK) 00079 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00080 #else 00081 throw() 00082 #endif 00083 { return _vsvcimult<cvector_slice,ivector,cinterval>(sl,rv); } 00084 INLINE cinterval operator *(const ivector_slice & sl1, const cvector_slice &sl2) 00085 #if(CXSC_INDEX_CHECK) 00086 throw(ERROR__OP_WITH_WRONG_DIM<civector>) 00087 #else 00088 throw() 00089 #endif 00090 { return _vsvscimult<cvector_slice,ivector_slice,cinterval>(sl2,sl1); } 00091 00092 } // namespace cxsc 00093 00094 #endif 00095