⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vecbops.cc

📁 A C++ class library for scientific computing
💻 CC
📖 第 1 页 / 共 5 页
字号:
/*************************************************************************** * blitz/../vecbops.cc	Vector expression templates (2 operands) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * Suggestions:          blitz-suggest@cybervision.com * Bugs:                 blitz-bugs@cybervision.com * * For more information, please see the Blitz++ Home Page: *    http://seurat.uwaterloo.ca/blitz/ * *************************************************************************** * */ // Generated source file.  Do not edit. // genvecbops.cpp Oct  6 2005 15:58:48#ifndef BZ_VECBOPS_CC#define BZ_VECBOPS_CC#ifndef BZ_VECEXPR_H #error <blitz/vecbops.cc> must be included via <blitz/vecexpr.h>#endifBZ_NAMESPACE(blitz)/**************************************************************************** * Addition Operators ****************************************************************************/// Vector<P_numtype1> + Vector<P_numtype2>template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       VectorIterConst<P_numtype2>,      _bz_Add<P_numtype1, P_numtype2 > > >operator+(const Vector<P_numtype1>& d1,       const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       VectorIterConst<P_numtype2>,       _bz_Add<P_numtype1, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2.beginFast()));}// Vector<P_numtype1> + _bz_VecExpr<P_expr2>template<class P_numtype1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExpr<P_expr2>,      _bz_Add<P_numtype1, typename P_expr2::T_numtype > > >operator+(const Vector<P_numtype1>& d1,       _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExpr<P_expr2>,       _bz_Add<P_numtype1, typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2));}// Vector<P_numtype1> + VectorPick<P_numtype2>template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       VectorPickIterConst<P_numtype2>,      _bz_Add<P_numtype1, P_numtype2 > > >operator+(const Vector<P_numtype1>& d1,       const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       VectorPickIterConst<P_numtype2>,       _bz_Add<P_numtype1, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2.beginFast()));}// Vector<P_numtype1> + Rangetemplate<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       Range,      _bz_Add<P_numtype1, int > > >operator+(const Vector<P_numtype1>& d1,       Range d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       Range,       _bz_Add<P_numtype1, int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2));}// Vector<P_numtype1> + TinyVector<P_numtype2, N_length2>template<class P_numtype1, class P_numtype2, int N_length2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       TinyVectorIterConst<P_numtype2, N_length2>,      _bz_Add<P_numtype1, P_numtype2 > > >operator+(const Vector<P_numtype1>& d1,       const TinyVector<P_numtype2, N_length2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       TinyVectorIterConst<P_numtype2, N_length2>,       _bz_Add<P_numtype1, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2.beginFast()));}// Vector<P_numtype1> + inttemplate<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<int>,      _bz_Add<P_numtype1, int > > >operator+(const Vector<P_numtype1>& d1,       int d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<int>,       _bz_Add<P_numtype1, int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       _bz_VecExprConstant<int>(d2)));}// Vector<P_numtype1> + floattemplate<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<float>,      _bz_Add<P_numtype1, float > > >operator+(const Vector<P_numtype1>& d1,       float d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<float>,       _bz_Add<P_numtype1, float> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       _bz_VecExprConstant<float>(d2)));}// Vector<P_numtype1> + doubletemplate<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<double>,      _bz_Add<P_numtype1, double > > >operator+(const Vector<P_numtype1>& d1,       double d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<double>,       _bz_Add<P_numtype1, double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       _bz_VecExprConstant<double>(d2)));}// Vector<P_numtype1> + long doubletemplate<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<long double>,      _bz_Add<P_numtype1, long double > > >operator+(const Vector<P_numtype1>& d1,       long double d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<long double>,       _bz_Add<P_numtype1, long double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       _bz_VecExprConstant<long double>(d2)));}#ifdef BZ_HAVE_COMPLEX// Vector<P_numtype1> + complex<T2>template<class P_numtype1, class T2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<complex<T2> > ,      _bz_Add<P_numtype1, complex<T2>  > > >operator+(const Vector<P_numtype1>& d1,       complex<T2> d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>,       _bz_VecExprConstant<complex<T2> > ,       _bz_Add<P_numtype1, complex<T2> > > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       _bz_VecExprConstant<complex<T2> > (d2)));}#endif // BZ_HAVE_COMPLEX// _bz_VecExpr<P_expr1> + Vector<P_numtype2>template<class P_expr1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       VectorIterConst<P_numtype2>,      _bz_Add<typename P_expr1::T_numtype, P_numtype2 > > >operator+(_bz_VecExpr<P_expr1> d1,       const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       VectorIterConst<P_numtype2>,       _bz_Add<typename P_expr1::T_numtype, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       d2.beginFast()));}// _bz_VecExpr<P_expr1> + _bz_VecExpr<P_expr2>template<class P_expr1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExpr<P_expr2>,      _bz_Add<typename P_expr1::T_numtype, typename P_expr2::T_numtype > > >operator+(_bz_VecExpr<P_expr1> d1,       _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExpr<P_expr2>,       _bz_Add<typename P_expr1::T_numtype, typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       d2));}// _bz_VecExpr<P_expr1> + VectorPick<P_numtype2>template<class P_expr1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       VectorPickIterConst<P_numtype2>,      _bz_Add<typename P_expr1::T_numtype, P_numtype2 > > >operator+(_bz_VecExpr<P_expr1> d1,       const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       VectorPickIterConst<P_numtype2>,       _bz_Add<typename P_expr1::T_numtype, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       d2.beginFast()));}// _bz_VecExpr<P_expr1> + Rangetemplate<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       Range,      _bz_Add<typename P_expr1::T_numtype, int > > >operator+(_bz_VecExpr<P_expr1> d1,       Range d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       Range,       _bz_Add<typename P_expr1::T_numtype, int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       d2));}// _bz_VecExpr<P_expr1> + TinyVector<P_numtype2, N_length2>template<class P_expr1, class P_numtype2, int N_length2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       TinyVectorIterConst<P_numtype2, N_length2>,      _bz_Add<typename P_expr1::T_numtype, P_numtype2 > > >operator+(_bz_VecExpr<P_expr1> d1,       const TinyVector<P_numtype2, N_length2>& d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       TinyVectorIterConst<P_numtype2, N_length2>,       _bz_Add<typename P_expr1::T_numtype, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       d2.beginFast()));}// _bz_VecExpr<P_expr1> + inttemplate<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<int>,      _bz_Add<typename P_expr1::T_numtype, int > > >operator+(_bz_VecExpr<P_expr1> d1,       int d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<int>,       _bz_Add<typename P_expr1::T_numtype, int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       _bz_VecExprConstant<int>(d2)));}// _bz_VecExpr<P_expr1> + floattemplate<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<float>,      _bz_Add<typename P_expr1::T_numtype, float > > >operator+(_bz_VecExpr<P_expr1> d1,       float d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<float>,       _bz_Add<typename P_expr1::T_numtype, float> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       _bz_VecExprConstant<float>(d2)));}// _bz_VecExpr<P_expr1> + doubletemplate<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<double>,      _bz_Add<typename P_expr1::T_numtype, double > > >operator+(_bz_VecExpr<P_expr1> d1,       double d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<double>,       _bz_Add<typename P_expr1::T_numtype, double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       _bz_VecExprConstant<double>(d2)));}// _bz_VecExpr<P_expr1> + long doubletemplate<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<long double>,      _bz_Add<typename P_expr1::T_numtype, long double > > >operator+(_bz_VecExpr<P_expr1> d1,       long double d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<long double>,       _bz_Add<typename P_expr1::T_numtype, long double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       _bz_VecExprConstant<long double>(d2)));}#ifdef BZ_HAVE_COMPLEX// _bz_VecExpr<P_expr1> + complex<T2>template<class P_expr1, class T2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<complex<T2> > ,      _bz_Add<typename P_expr1::T_numtype, complex<T2>  > > >operator+(_bz_VecExpr<P_expr1> d1,       complex<T2> d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>,       _bz_VecExprConstant<complex<T2> > ,       _bz_Add<typename P_expr1::T_numtype, complex<T2> > > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1,       _bz_VecExprConstant<complex<T2> > (d2)));}#endif // BZ_HAVE_COMPLEX// VectorPick<P_numtype1> + Vector<P_numtype2>template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>,       VectorIterConst<P_numtype2>,      _bz_Add<P_numtype1, P_numtype2 > > >operator+(const VectorPick<P_numtype1>& d1,       const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>,       VectorIterConst<P_numtype2>,       _bz_Add<P_numtype1, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2.beginFast()));}// VectorPick<P_numtype1> + _bz_VecExpr<P_expr2>template<class P_numtype1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>,       _bz_VecExpr<P_expr2>,      _bz_Add<P_numtype1, typename P_expr2::T_numtype > > >operator+(const VectorPick<P_numtype1>& d1,       _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>,       _bz_VecExpr<P_expr2>,       _bz_Add<P_numtype1, typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2));}// VectorPick<P_numtype1> + VectorPick<P_numtype2>template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>,       VectorPickIterConst<P_numtype2>,      _bz_Add<P_numtype1, P_numtype2 > > >operator+(const VectorPick<P_numtype1>& d1,       const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>,       VectorPickIterConst<P_numtype2>,       _bz_Add<P_numtype1, P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(),       d2.beginFast()));}// VectorPick<P_numtype1> + Range

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -