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

📄 matuops.h

📁 A C++ class library for scientific computing
💻 H
📖 第 1 页 / 共 5 页
字号:
}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<float>,    _bz_copysign<typename P_expr1::T_numtype,float> > >copysign(_bz_MatExpr<P_expr1> d1, float d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<float>,        _bz_copysign<typename P_expr1::T_numtype,float> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, _bz_MatExprConstant<float>(d2)));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<double>,    _bz_copysign<typename P_expr1::T_numtype,double> > >copysign(_bz_MatExpr<P_expr1> d1, double d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<double>,        _bz_copysign<typename P_expr1::T_numtype,double> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, _bz_MatExprConstant<double>(d2)));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<long double>,    _bz_copysign<typename P_expr1::T_numtype,long double> > >copysign(_bz_MatExpr<P_expr1> d1, long double d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<long double>,        _bz_copysign<typename P_expr1::T_numtype,long double> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, _bz_MatExprConstant<long double>(d2)));}template<class P_expr1, class T2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<complex<T2> > ,    _bz_copysign<typename P_expr1::T_numtype,complex<T2> > > >copysign(_bz_MatExpr<P_expr1> d1, complex<T2> d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<complex<T2> > ,        _bz_copysign<typename P_expr1::T_numtype,complex<T2> > > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, _bz_MatExprConstant<complex<T2> > (d2)));}template<class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<int>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_copysign<int,P_numtype2> > >copysign(int d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<int>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_copysign<int,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<int>(d1), d2._bz_getRef()));}template<class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<int>, _bz_MatExpr<P_expr2>,    _bz_copysign<int,typename P_expr2::T_numtype> > >copysign(int d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<int>, _bz_MatExpr<P_expr2>,        _bz_copysign<int,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<int>(d1), d2));}template<class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<float>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_copysign<float,P_numtype2> > >copysign(float d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<float>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_copysign<float,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<float>(d1), d2._bz_getRef()));}template<class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<float>, _bz_MatExpr<P_expr2>,    _bz_copysign<float,typename P_expr2::T_numtype> > >copysign(float d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<float>, _bz_MatExpr<P_expr2>,        _bz_copysign<float,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<float>(d1), d2));}template<class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<double>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_copysign<double,P_numtype2> > >copysign(double d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<double>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_copysign<double,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<double>(d1), d2._bz_getRef()));}template<class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<double>, _bz_MatExpr<P_expr2>,    _bz_copysign<double,typename P_expr2::T_numtype> > >copysign(double d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<double>, _bz_MatExpr<P_expr2>,        _bz_copysign<double,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<double>(d1), d2));}template<class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<long double>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_copysign<long double,P_numtype2> > >copysign(long double d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<long double>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_copysign<long double,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<long double>(d1), d2._bz_getRef()));}template<class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<long double>, _bz_MatExpr<P_expr2>,    _bz_copysign<long double,typename P_expr2::T_numtype> > >copysign(long double d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<long double>, _bz_MatExpr<P_expr2>,        _bz_copysign<long double,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<long double>(d1), d2));}template<class T1, class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<complex<T1> > , _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_copysign<complex<T1> ,P_numtype2> > >copysign(complex<T1> d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<complex<T1> > , _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_copysign<complex<T1> ,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<complex<T1> > (d1), d2._bz_getRef()));}template<class T1, class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<complex<T1> > , _bz_MatExpr<P_expr2>,    _bz_copysign<complex<T1> ,typename P_expr2::T_numtype> > >copysign(complex<T1> d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExprConstant<complex<T1> > , _bz_MatExpr<P_expr2>,        _bz_copysign<complex<T1> ,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<complex<T1> > (d1), d2));}#endif/**************************************************************************** * cos ****************************************************************************/template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprUnaryOp<_bz_MatrixRef<P_numtype1, P_struct1>,    _bz_cos<P_numtype1> > >cos(const Matrix<P_numtype1, P_struct1>& d1){    typedef _bz_MatExprUnaryOp<_bz_MatrixRef<P_numtype1, P_struct1>,        _bz_cos<P_numtype1> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef()));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprUnaryOp<_bz_MatExpr<P_expr1>,    _bz_cos<typename P_expr1::T_numtype> > >cos(_bz_MatExpr<P_expr1> d1){    typedef _bz_MatExprUnaryOp<_bz_MatExpr<P_expr1>,        _bz_cos<typename P_expr1::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1));}/**************************************************************************** * cosh ****************************************************************************/template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprUnaryOp<_bz_MatrixRef<P_numtype1, P_struct1>,    _bz_cosh<P_numtype1> > >cosh(const Matrix<P_numtype1, P_struct1>& d1){    typedef _bz_MatExprUnaryOp<_bz_MatrixRef<P_numtype1, P_struct1>,        _bz_cosh<P_numtype1> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef()));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprUnaryOp<_bz_MatExpr<P_expr1>,    _bz_cosh<typename P_expr1::T_numtype> > >cosh(_bz_MatExpr<P_expr1> d1){    typedef _bz_MatExprUnaryOp<_bz_MatExpr<P_expr1>,        _bz_cosh<typename P_expr1::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1));}/**************************************************************************** * drem ****************************************************************************/#ifdef BZ_HAVE_SYSTEM_V_MATHtemplate<class P_numtype1, class P_struct1, class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_drem<P_numtype1,P_numtype2> > >drem(const Matrix<P_numtype1, P_struct1>& d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_drem<P_numtype1,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), d2._bz_getRef()));}template<class P_numtype1, class P_struct1, class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExpr<P_expr2>,    _bz_drem<P_numtype1,typename P_expr2::T_numtype> > >drem(const Matrix<P_numtype1, P_struct1>& d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExpr<P_expr2>,        _bz_drem<P_numtype1,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), d2));}template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<int>,    _bz_drem<P_numtype1,int> > >drem(const Matrix<P_numtype1, P_struct1>& d1, int d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<int>,        _bz_drem<P_numtype1,int> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), _bz_MatExprConstant<int>(d2)));}template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<float>,    _bz_drem<P_numtype1,float> > >drem(const Matrix<P_numtype1, P_struct1>& d1, float d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<float>,        _bz_drem<P_numtype1,float> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), _bz_MatExprConstant<float>(d2)));}template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<double>,    _bz_drem<P_numtype1,double> > >drem(const Matrix<P_numtype1, P_struct1>& d1, double d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<double>,        _bz_drem<P_numtype1,double> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), _bz_MatExprConstant<double>(d2)));}template<class P_numtype1, class P_struct1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<long double>,    _bz_drem<P_numtype1,long double> > >drem(const Matrix<P_numtype1, P_struct1>& d1, long double d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<long double>,        _bz_drem<P_numtype1,long double> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), _bz_MatExprConstant<long double>(d2)));}template<class P_numtype1, class P_struct1, class T2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<complex<T2> > ,    _bz_drem<P_numtype1,complex<T2> > > >drem(const Matrix<P_numtype1, P_struct1>& d1, complex<T2> d2){    typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>, _bz_MatExprConstant<complex<T2> > ,        _bz_drem<P_numtype1,complex<T2> > > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(), _bz_MatExprConstant<complex<T2> > (d2)));}template<class P_expr1, class P_numtype2, class P_struct2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatrixRef<P_numtype2, P_struct2>,    _bz_drem<typename P_expr1::T_numtype,P_numtype2> > >drem(_bz_MatExpr<P_expr1> d1, const Matrix<P_numtype2, P_struct2>& d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatrixRef<P_numtype2, P_struct2>,        _bz_drem<typename P_expr1::T_numtype,P_numtype2> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, d2._bz_getRef()));}template<class P_expr1, class P_expr2>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExpr<P_expr2>,    _bz_drem<typename P_expr1::T_numtype,typename P_expr2::T_numtype> > >drem(_bz_MatExpr<P_expr1> d1, _bz_MatExpr<P_expr2> d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExpr<P_expr2>,        _bz_drem<typename P_expr1::T_numtype,typename P_expr2::T_numtype> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, d2));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<int>,    _bz_drem<typename P_expr1::T_numtype,int> > >drem(_bz_MatExpr<P_expr1> d1, int d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<int>,        _bz_drem<typename P_expr1::T_numtype,int> > T_expr;    return _bz_MatExpr<T_expr>(T_expr(d1, _bz_MatExprConstant<int>(d2)));}template<class P_expr1>inline_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<float>,    _bz_drem<typename P_expr1::T_numtype,float> > >drem(_bz_MatExpr<P_expr1> d1, float d2){    typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>, _bz_MatExprConstant<float>,        _bz_drem<typename P_expr1::T_numtype,float> > T_expr;

⌨️ 快捷键说明

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