📄 vecuops.cc
字号:
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_nearest<P_numtype1> > >
nearest(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_nearest<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_nearest<int> > >
nearest(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_nearest<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_nearest<P_numtype1> > >
nearest(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_nearest<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
#endif
/****************************************************************************
* rint
****************************************************************************/
#ifdef BZ_HAVE_IEEE_MATH
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_rint<P_numtype1> > >
rint(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_rint<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_rint<_bz_typename P_expr1::T_numtype> > >
rint(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_rint<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_rint<P_numtype1> > >
rint(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_rint<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_rint<int> > >
rint(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_rint<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_rint<P_numtype1> > >
rint(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_rint<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
#endif
/****************************************************************************
* rsqrt
****************************************************************************/
#ifdef BZ_HAVE_SYSV_MATH
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_rsqrt<P_numtype1> > >
rsqrt(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_rsqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_rsqrt<_bz_typename P_expr1::T_numtype> > >
rsqrt(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_rsqrt<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_rsqrt<P_numtype1> > >
rsqrt(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_rsqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_rsqrt<int> > >
rsqrt(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_rsqrt<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_rsqrt<P_numtype1> > >
rsqrt(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_rsqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
#endif
/****************************************************************************
* sin
****************************************************************************/
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sin<P_numtype1> > >
sin(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sin<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sin<_bz_typename P_expr1::T_numtype> > >
sin(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sin<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sin<P_numtype1> > >
sin(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sin<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_sin<int> > >
sin(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_sin<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sin<P_numtype1> > >
sin(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sin<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
/****************************************************************************
* sinh
****************************************************************************/
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sinh<P_numtype1> > >
sinh(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sinh<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sinh<_bz_typename P_expr1::T_numtype> > >
sinh(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sinh<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sinh<P_numtype1> > >
sinh(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sinh<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_sinh<int> > >
sinh(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_sinh<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sinh<P_numtype1> > >
sinh(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sinh<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
/****************************************************************************
* sqr
****************************************************************************/
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sqr<P_numtype1> > >
sqr(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sqr<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sqr<_bz_typename P_expr1::T_numtype> > >
sqr(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sqr<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sqr<P_numtype1> > >
sqr(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sqr<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_sqr<int> > >
sqr(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_sqr<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sqr<P_numtype1> > >
sqr(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sqr<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
/****************************************************************************
* sqrt
****************************************************************************/
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sqrt<P_numtype1> > >
sqrt(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_sqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sqrt<_bz_typename P_expr1::T_numtype> > >
sqrt(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_sqrt<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sqrt<P_numtype1> > >
sqrt(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_sqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_sqrt<int> > >
sqrt(Range d1)
{
typedef _bz_VecExprUnaryOp<Range,
_bz_sqrt<int> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1, int N_length1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sqrt<P_numtype1> > >
sqrt(const TinyVector<P_numtype1, N_length1>& d1)
{
typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,
_bz_sqrt<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
/****************************************************************************
* tan
****************************************************************************/
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_tan<P_numtype1> > >
tan(const Vector<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorIterConst<P_numtype1>,
_bz_tan<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
template<class P_expr1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_tan<_bz_typename P_expr1::T_numtype> > >
tan(_bz_VecExpr<P_expr1> d1)
{
typedef _bz_VecExprUnaryOp<_bz_VecExpr<P_expr1>,
_bz_tan<_bz_typename P_expr1::T_numtype> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1));
}
template<class P_numtype1>
inline
_bz_VecExpr<_bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_tan<P_numtype1> > >
tan(const VectorPick<P_numtype1>& d1)
{
typedef _bz_VecExprUnaryOp<VectorPickIterConst<P_numtype1>,
_bz_tan<P_numtype1> > T_expr;
return _bz_VecExpr<T_expr>(T_expr(d1.begin()));
}
inline
_bz_VecExpr<_bz_VecExprUnaryOp<Range,
_bz_tan<int> > >
tan(Ra
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -