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