📄 vecbops.cc
字号:
// TinyVector<P_numtype1, N_length1> + long double
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_VecExprConstant<long double>,
_bz_Add<P_numtype1, long double > > >
operator+(const TinyVector<P_numtype1, N_length1>& d1,
long double d2)
{
typedef _bz_VecExprOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_VecExprConstant<long double>,
_bz_Add<P_numtype1, long double> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin(),
_bz_VecExprConstant<long double>(d2)));
}
#ifdef BZ_HAVE_COMPLEX
// TinyVector<P_numtype1, N_length1> + complex<T2>
template<class P_numtype1, int N_length1, class T2>
inline
_bz_VecExpr<_bz_VecExprOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_VecExprConstant<complex<T2> > ,
_bz_Add<P_numtype1, complex<T2> > > >
operator+(const TinyVector<P_numtype1, N_length1>& d1,
complex<T2> d2)
{
typedef _bz_VecExprOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_VecExprConstant<complex<T2> > ,
_bz_Add<P_numtype1, complex<T2> > > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin(),
_bz_VecExprConstant<complex<T2> > (d2)));
}
#endif // BZ_HAVE_COMPLEX
// int + Vector<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<int>,
VectorIterConst<P_numtype2>,
_bz_Add<int, P_numtype2 > > >
operator+(int d1,
const Vector<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<int>,
VectorIterConst<P_numtype2>,
_bz_Add<int, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<int>(d1),
d2.begin()));
}
// int + _bz_VecExpr<P_expr2>
template<class P_expr2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<int>,
_bz_VecExpr<P_expr2>,
_bz_Add<int, _bz_typename P_expr2::T_numtype > > >
operator+(int d1,
_bz_VecExpr<P_expr2> d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<int>,
_bz_VecExpr<P_expr2>,
_bz_Add<int, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<int>(d1),
d2));
}
// int + VectorPick<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<int>,
VectorPickIterConst<P_numtype2>,
_bz_Add<int, P_numtype2 > > >
operator+(int d1,
const VectorPick<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<int>,
VectorPickIterConst<P_numtype2>,
_bz_Add<int, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<int>(d1),
d2.begin()));
}
// int + TinyVector<P_numtype2, N_length2>
template<class P_numtype2, int N_length2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<int>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<int, P_numtype2 > > >
operator+(int d1,
const TinyVector<P_numtype2, N_length2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<int>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<int, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<int>(d1),
d2.begin()));
}
// float + Vector<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<float>,
VectorIterConst<P_numtype2>,
_bz_Add<float, P_numtype2 > > >
operator+(float d1,
const Vector<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<float>,
VectorIterConst<P_numtype2>,
_bz_Add<float, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<float>(d1),
d2.begin()));
}
// float + _bz_VecExpr<P_expr2>
template<class P_expr2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<float>,
_bz_VecExpr<P_expr2>,
_bz_Add<float, _bz_typename P_expr2::T_numtype > > >
operator+(float d1,
_bz_VecExpr<P_expr2> d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<float>,
_bz_VecExpr<P_expr2>,
_bz_Add<float, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<float>(d1),
d2));
}
// float + VectorPick<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<float>,
VectorPickIterConst<P_numtype2>,
_bz_Add<float, P_numtype2 > > >
operator+(float d1,
const VectorPick<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<float>,
VectorPickIterConst<P_numtype2>,
_bz_Add<float, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<float>(d1),
d2.begin()));
}
// float + Range
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<float>,
Range,
_bz_Add<float, int > > >
operator+(float d1,
Range d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<float>,
Range,
_bz_Add<float, int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<float>(d1),
d2));
}
// float + TinyVector<P_numtype2, N_length2>
template<class P_numtype2, int N_length2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<float>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<float, P_numtype2 > > >
operator+(float d1,
const TinyVector<P_numtype2, N_length2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<float>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<float, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<float>(d1),
d2.begin()));
}
// double + Vector<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<double>,
VectorIterConst<P_numtype2>,
_bz_Add<double, P_numtype2 > > >
operator+(double d1,
const Vector<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<double>,
VectorIterConst<P_numtype2>,
_bz_Add<double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<double>(d1),
d2.begin()));
}
// double + _bz_VecExpr<P_expr2>
template<class P_expr2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<double>,
_bz_VecExpr<P_expr2>,
_bz_Add<double, _bz_typename P_expr2::T_numtype > > >
operator+(double d1,
_bz_VecExpr<P_expr2> d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<double>,
_bz_VecExpr<P_expr2>,
_bz_Add<double, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<double>(d1),
d2));
}
// double + VectorPick<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<double>,
VectorPickIterConst<P_numtype2>,
_bz_Add<double, P_numtype2 > > >
operator+(double d1,
const VectorPick<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<double>,
VectorPickIterConst<P_numtype2>,
_bz_Add<double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<double>(d1),
d2.begin()));
}
// double + Range
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<double>,
Range,
_bz_Add<double, int > > >
operator+(double d1,
Range d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<double>,
Range,
_bz_Add<double, int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<double>(d1),
d2));
}
// double + TinyVector<P_numtype2, N_length2>
template<class P_numtype2, int N_length2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<double>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<double, P_numtype2 > > >
operator+(double d1,
const TinyVector<P_numtype2, N_length2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<double>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<double>(d1),
d2.begin()));
}
// long double + Vector<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<long double>,
VectorIterConst<P_numtype2>,
_bz_Add<long double, P_numtype2 > > >
operator+(long double d1,
const Vector<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<long double>,
VectorIterConst<P_numtype2>,
_bz_Add<long double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<long double>(d1),
d2.begin()));
}
// long double + _bz_VecExpr<P_expr2>
template<class P_expr2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<long double>,
_bz_VecExpr<P_expr2>,
_bz_Add<long double, _bz_typename P_expr2::T_numtype > > >
operator+(long double d1,
_bz_VecExpr<P_expr2> d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<long double>,
_bz_VecExpr<P_expr2>,
_bz_Add<long double, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<long double>(d1),
d2));
}
// long double + VectorPick<P_numtype2>
template<class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<long double>,
VectorPickIterConst<P_numtype2>,
_bz_Add<long double, P_numtype2 > > >
operator+(long double d1,
const VectorPick<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<long double>,
VectorPickIterConst<P_numtype2>,
_bz_Add<long double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<long double>(d1),
d2.begin()));
}
// long double + Range
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<long double>,
Range,
_bz_Add<long double, int > > >
operator+(long double d1,
Range d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<long double>,
Range,
_bz_Add<long double, int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<long double>(d1),
d2));
}
// long double + TinyVector<P_numtype2, N_length2>
template<class P_numtype2, int N_length2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<long double>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<long double, P_numtype2 > > >
operator+(long double d1,
const TinyVector<P_numtype2, N_length2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<long double>,
TinyVectorIterConst<P_numtype2, N_length2>,
_bz_Add<long double, P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<long double>(d1),
d2.begin()));
}
#ifdef BZ_HAVE_COMPLEX
// complex<T1> + Vector<P_numtype2>
template<class T1, class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
VectorIterConst<P_numtype2>,
_bz_Add<complex<T1> , P_numtype2 > > >
operator+(complex<T1> d1,
const Vector<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
VectorIterConst<P_numtype2>,
_bz_Add<complex<T1> , P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<complex<T1> > (d1),
d2.begin()));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// complex<T1> + _bz_VecExpr<P_expr2>
template<class T1, class P_expr2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
_bz_VecExpr<P_expr2>,
_bz_Add<complex<T1> , _bz_typename P_expr2::T_numtype > > >
operator+(complex<T1> d1,
_bz_VecExpr<P_expr2> d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
_bz_VecExpr<P_expr2>,
_bz_Add<complex<T1> , _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<complex<T1> > (d1),
d2));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// complex<T1> + VectorPick<P_numtype2>
template<class T1, class P_numtype2>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
VectorPickIterConst<P_numtype2>,
_bz_Add<complex<T1> , P_numtype2 > > >
operator+(complex<T1> d1,
const VectorPick<P_numtype2>& d2)
{
typedef _bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
VectorPickIterConst<P_numtype2>,
_bz_Add<complex<T1> , P_numtype2> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(_bz_VecExprConstant<complex<T1> > (d1),
d2.begin()));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// complex<T1> + Range
template<class T1>
inline
_bz_VecExpr<_bz_VecExprOp<_bz_VecExprConstant<complex<T1> > ,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -