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

📄 vecuops.cc

📁 A C++ class library for scientific computing
💻 CC
📖 第 1 页 / 共 5 页
字号:
        _bz_atan<P_numtype1> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast()));}inline_bz_VecExpr<_bz_VecExprUnaryOp<Range,    _bz_atan<int> > >atan(Range d1){    typedef _bz_VecExprUnaryOp<Range,        _bz_atan<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_atan<P_numtype1> > >atan(const TinyVector<P_numtype1, N_length1>& d1){    typedef _bz_VecExprUnaryOp<TinyVectorIterConst<P_numtype1, N_length1>,        _bz_atan<P_numtype1> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast()));}/**************************************************************************** * atan2 ****************************************************************************/template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, VectorIterConst<P_numtype2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const Vector<P_numtype1>& d1, const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, VectorIterConst<P_numtype2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExpr<P_expr2>,    _bz_atan2<P_numtype1,typename P_expr2::T_numtype> > >atan2(const Vector<P_numtype1>& d1, _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExpr<P_expr2>,        _bz_atan2<P_numtype1,typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2));}template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, VectorPickIterConst<P_numtype2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const Vector<P_numtype1>& d1, const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, VectorPickIterConst<P_numtype2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, Range,    _bz_atan2<P_numtype1,int> > >atan2(const Vector<P_numtype1>& d1, Range d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, Range,        _bz_atan2<P_numtype1,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2));}template<class P_numtype1, class P_numtype2, int N_length2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, TinyVectorIterConst<P_numtype2, N_length2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const Vector<P_numtype1>& d1, const TinyVector<P_numtype2, N_length2>& d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, TinyVectorIterConst<P_numtype2, N_length2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<int>,    _bz_atan2<P_numtype1,int> > >atan2(const Vector<P_numtype1>& d1, int d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<int>,        _bz_atan2<P_numtype1,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<int>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<float>,    _bz_atan2<P_numtype1,float> > >atan2(const Vector<P_numtype1>& d1, float d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<float>,        _bz_atan2<P_numtype1,float> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<float>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<double>,    _bz_atan2<P_numtype1,double> > >atan2(const Vector<P_numtype1>& d1, double d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<double>,        _bz_atan2<P_numtype1,double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<double>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<long double>,    _bz_atan2<P_numtype1,long double> > >atan2(const Vector<P_numtype1>& d1, long double d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<long double>,        _bz_atan2<P_numtype1,long double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<long double>(d2)));}template<class P_numtype1, class T2>inline_bz_VecExpr<_bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<complex<T2> > ,    _bz_atan2<P_numtype1,complex<T2> > > >atan2(const Vector<P_numtype1>& d1, complex<T2> d2){    typedef _bz_VecExprOp<VectorIterConst<P_numtype1>, _bz_VecExprConstant<complex<T2> > ,        _bz_atan2<P_numtype1,complex<T2> > > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<complex<T2> > (d2)));}template<class P_expr1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, VectorIterConst<P_numtype2>,    _bz_atan2<typename P_expr1::T_numtype,P_numtype2> > >atan2(_bz_VecExpr<P_expr1> d1, const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, VectorIterConst<P_numtype2>,        _bz_atan2<typename P_expr1::T_numtype,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, d2.beginFast()));}template<class P_expr1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExpr<P_expr2>,    _bz_atan2<typename P_expr1::T_numtype,typename P_expr2::T_numtype> > >atan2(_bz_VecExpr<P_expr1> d1, _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExpr<P_expr2>,        _bz_atan2<typename P_expr1::T_numtype,typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, d2));}template<class P_expr1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, VectorPickIterConst<P_numtype2>,    _bz_atan2<typename P_expr1::T_numtype,P_numtype2> > >atan2(_bz_VecExpr<P_expr1> d1, const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, VectorPickIterConst<P_numtype2>,        _bz_atan2<typename P_expr1::T_numtype,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, d2.beginFast()));}template<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, Range,    _bz_atan2<typename P_expr1::T_numtype,int> > >atan2(_bz_VecExpr<P_expr1> d1, Range d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, Range,        _bz_atan2<typename P_expr1::T_numtype,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, d2));}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_atan2<typename P_expr1::T_numtype,P_numtype2> > >atan2(_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_atan2<typename P_expr1::T_numtype,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, d2.beginFast()));}template<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<int>,    _bz_atan2<typename P_expr1::T_numtype,int> > >atan2(_bz_VecExpr<P_expr1> d1, int d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<int>,        _bz_atan2<typename P_expr1::T_numtype,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, _bz_VecExprConstant<int>(d2)));}template<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<float>,    _bz_atan2<typename P_expr1::T_numtype,float> > >atan2(_bz_VecExpr<P_expr1> d1, float d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<float>,        _bz_atan2<typename P_expr1::T_numtype,float> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, _bz_VecExprConstant<float>(d2)));}template<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<double>,    _bz_atan2<typename P_expr1::T_numtype,double> > >atan2(_bz_VecExpr<P_expr1> d1, double d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<double>,        _bz_atan2<typename P_expr1::T_numtype,double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, _bz_VecExprConstant<double>(d2)));}template<class P_expr1>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<long double>,    _bz_atan2<typename P_expr1::T_numtype,long double> > >atan2(_bz_VecExpr<P_expr1> d1, long double d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<long double>,        _bz_atan2<typename P_expr1::T_numtype,long double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, _bz_VecExprConstant<long double>(d2)));}template<class P_expr1, class T2>inline_bz_VecExpr<_bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<complex<T2> > ,    _bz_atan2<typename P_expr1::T_numtype,complex<T2> > > >atan2(_bz_VecExpr<P_expr1> d1, complex<T2> d2){    typedef _bz_VecExprOp<_bz_VecExpr<P_expr1>, _bz_VecExprConstant<complex<T2> > ,        _bz_atan2<typename P_expr1::T_numtype,complex<T2> > > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1, _bz_VecExprConstant<complex<T2> > (d2)));}template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, VectorIterConst<P_numtype2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const VectorPick<P_numtype1>& d1, const Vector<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, VectorIterConst<P_numtype2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1, class P_expr2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExpr<P_expr2>,    _bz_atan2<P_numtype1,typename P_expr2::T_numtype> > >atan2(const VectorPick<P_numtype1>& d1, _bz_VecExpr<P_expr2> d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExpr<P_expr2>,        _bz_atan2<P_numtype1,typename P_expr2::T_numtype> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2));}template<class P_numtype1, class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, VectorPickIterConst<P_numtype2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const VectorPick<P_numtype1>& d1, const VectorPick<P_numtype2>& d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, VectorPickIterConst<P_numtype2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, Range,    _bz_atan2<P_numtype1,int> > >atan2(const VectorPick<P_numtype1>& d1, Range d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, Range,        _bz_atan2<P_numtype1,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2));}template<class P_numtype1, class P_numtype2, int N_length2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, TinyVectorIterConst<P_numtype2, N_length2>,    _bz_atan2<P_numtype1,P_numtype2> > >atan2(const VectorPick<P_numtype1>& d1, const TinyVector<P_numtype2, N_length2>& d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, TinyVectorIterConst<P_numtype2, N_length2>,        _bz_atan2<P_numtype1,P_numtype2> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), d2.beginFast()));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<int>,    _bz_atan2<P_numtype1,int> > >atan2(const VectorPick<P_numtype1>& d1, int d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<int>,        _bz_atan2<P_numtype1,int> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<int>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<float>,    _bz_atan2<P_numtype1,float> > >atan2(const VectorPick<P_numtype1>& d1, float d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<float>,        _bz_atan2<P_numtype1,float> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<float>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<double>,    _bz_atan2<P_numtype1,double> > >atan2(const VectorPick<P_numtype1>& d1, double d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<double>,        _bz_atan2<P_numtype1,double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<double>(d2)));}template<class P_numtype1>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<long double>,    _bz_atan2<P_numtype1,long double> > >atan2(const VectorPick<P_numtype1>& d1, long double d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<long double>,        _bz_atan2<P_numtype1,long double> > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<long double>(d2)));}template<class P_numtype1, class T2>inline_bz_VecExpr<_bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<complex<T2> > ,    _bz_atan2<P_numtype1,complex<T2> > > >atan2(const VectorPick<P_numtype1>& d1, complex<T2> d2){    typedef _bz_VecExprOp<VectorPickIterConst<P_numtype1>, _bz_VecExprConstant<complex<T2> > ,        _bz_atan2<P_numtype1,complex<T2> > > T_expr;    return _bz_VecExpr<T_expr>(T_expr(d1.beginFast(), _bz_VecExprConstant<complex<T2> > (d2)));}template<class P_numtype2>inline_bz_VecExpr<_bz_VecExprOp<Range, VectorIterConst<P_numtype2>,    _bz_atan2<int,P_numtype2> > >atan2(Range d1, const Vector<P_numtype2>& d2)

⌨️ 快捷键说明

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