📄 matbops.h
字号:
// Generated source file. Do not edit.
// Created by: genmatbops.cpp Aug 8 1997 15:21:36
#ifndef BZ_MATBOPS_H
#define BZ_MATBOPS_H
BZ_NAMESPACE(blitz)
#ifndef BZ_MATEXPR_H
#error <blitz/matbops.h> must be included via <blitz/matexpr.h>
#endif
/****************************************************************************
* Addition Operators
****************************************************************************/
// Matrix<P_numtype1, P_struct1> + Matrix<P_numtype2, P_struct2>
template<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_Add<P_numtype1, P_numtype2> > >
operator+(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_Add<P_numtype1, P_numtype2> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
d2._bz_getRef()));
}
// Matrix<P_numtype1, P_struct1> + _bz_MatExpr<P_expr2>
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_Add<P_numtype1, _bz_typename P_expr2::T_numtype> > >
operator+(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_Add<P_numtype1, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
d2));
}
// Matrix<P_numtype1, P_struct1> + int
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<int>, _bz_Add<P_numtype1, int> > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, int d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<int>,
_bz_Add<P_numtype1, int> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<int>(d2)));
}
// Matrix<P_numtype1, P_struct1> + float
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<float>, _bz_Add<P_numtype1, float> > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, float d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<float>,
_bz_Add<P_numtype1, float> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<float>(d2)));
}
// Matrix<P_numtype1, P_struct1> + double
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<double>, _bz_Add<P_numtype1, double> > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, double d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<double>,
_bz_Add<P_numtype1, double> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<double>(d2)));
}
// Matrix<P_numtype1, P_struct1> + long double
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<long double>, _bz_Add<P_numtype1, long double> > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, long double d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<long double>,
_bz_Add<P_numtype1, long double> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<long double>(d2)));
}
#ifdef BZ_HAVE_COMPLEX
// Matrix<P_numtype1, P_struct1> + complex<float>
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<float> >, _bz_Add<P_numtype1, complex<float> > > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, complex<float> d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<float> >,
_bz_Add<P_numtype1, complex<float> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<complex<float> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// Matrix<P_numtype1, P_struct1> + complex<double>
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<double> >, _bz_Add<P_numtype1, complex<double> > > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, complex<double> d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<double> >,
_bz_Add<P_numtype1, complex<double> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<complex<double> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// Matrix<P_numtype1, P_struct1> + complex<long double>
template<class P_numtype1, class P_struct1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<long double> >, _bz_Add<P_numtype1, complex<long double> > > >
operator+(const Matrix<P_numtype1, P_struct1>& d1, complex<long double> d2)
{
typedef _bz_MatExprOp<_bz_MatrixRef<P_numtype1, P_struct1>,
_bz_MatExprConstant<complex<long double> >,
_bz_Add<P_numtype1, complex<long double> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1._bz_getRef(),
_bz_MatExprConstant<complex<long double> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
// _bz_MatExpr<P_expr1> + Matrix<P_numtype2, P_struct2>
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_Add<_bz_typename P_expr1::T_numtype, P_numtype2> > >
operator+(_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_Add<_bz_typename P_expr1::T_numtype, P_numtype2> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
d2._bz_getRef()));
}
// _bz_MatExpr<P_expr1> + _bz_MatExpr<P_expr2>
template<class P_expr1, class P_expr2>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExpr<P_expr2>, _bz_Add<_bz_typename P_expr1::T_numtype, _bz_typename P_expr2::T_numtype> > >
operator+(_bz_MatExpr<P_expr1> d1, _bz_MatExpr<P_expr2> d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExpr<P_expr2>,
_bz_Add<_bz_typename P_expr1::T_numtype, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
d2));
}
// _bz_MatExpr<P_expr1> + int
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<int>, _bz_Add<_bz_typename P_expr1::T_numtype, int> > >
operator+(_bz_MatExpr<P_expr1> d1, int d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<int>,
_bz_Add<_bz_typename P_expr1::T_numtype, int> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<int>(d2)));
}
// _bz_MatExpr<P_expr1> + float
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<float>, _bz_Add<_bz_typename P_expr1::T_numtype, float> > >
operator+(_bz_MatExpr<P_expr1> d1, float d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<float>,
_bz_Add<_bz_typename P_expr1::T_numtype, float> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<float>(d2)));
}
// _bz_MatExpr<P_expr1> + double
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<double>, _bz_Add<_bz_typename P_expr1::T_numtype, double> > >
operator+(_bz_MatExpr<P_expr1> d1, double d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<double>,
_bz_Add<_bz_typename P_expr1::T_numtype, double> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<double>(d2)));
}
// _bz_MatExpr<P_expr1> + long double
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<long double>, _bz_Add<_bz_typename P_expr1::T_numtype, long double> > >
operator+(_bz_MatExpr<P_expr1> d1, long double d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<long double>,
_bz_Add<_bz_typename P_expr1::T_numtype, long double> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<long double>(d2)));
}
#ifdef BZ_HAVE_COMPLEX
// _bz_MatExpr<P_expr1> + complex<float>
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<float> >, _bz_Add<_bz_typename P_expr1::T_numtype, complex<float> > > >
operator+(_bz_MatExpr<P_expr1> d1, complex<float> d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<float> >,
_bz_Add<_bz_typename P_expr1::T_numtype, complex<float> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<complex<float> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// _bz_MatExpr<P_expr1> + complex<double>
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<double> >, _bz_Add<_bz_typename P_expr1::T_numtype, complex<double> > > >
operator+(_bz_MatExpr<P_expr1> d1, complex<double> d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<double> >,
_bz_Add<_bz_typename P_expr1::T_numtype, complex<double> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<complex<double> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
#ifdef BZ_HAVE_COMPLEX
// _bz_MatExpr<P_expr1> + complex<long double>
template<class P_expr1>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<long double> >, _bz_Add<_bz_typename P_expr1::T_numtype, complex<long double> > > >
operator+(_bz_MatExpr<P_expr1> d1, complex<long double> d2)
{
typedef _bz_MatExprOp<_bz_MatExpr<P_expr1>,
_bz_MatExprConstant<complex<long double> >,
_bz_Add<_bz_typename P_expr1::T_numtype, complex<long double> > > T_expr;
return _bz_MatExpr<T_expr>(T_expr(d1,
_bz_MatExprConstant<complex<long double> >(d2)));
}
#endif // BZ_HAVE_COMPLEX
// int + Matrix<P_numtype2, P_struct2>
template<class P_numtype2, class P_struct2>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<int>,
_bz_MatrixRef<P_numtype2, P_struct2>, _bz_Add<int, P_numtype2> > >
operator+(int d1, const Matrix<P_numtype2, P_struct2>& d2)
{
typedef _bz_MatExprOp<_bz_MatExprConstant<int>,
_bz_MatrixRef<P_numtype2, P_struct2>,
_bz_Add<int, P_numtype2> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<int>(d1),
d2._bz_getRef()));
}
// int + _bz_MatExpr<P_expr2>
template<class P_expr2>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<int>,
_bz_MatExpr<P_expr2>, _bz_Add<int, _bz_typename P_expr2::T_numtype> > >
operator+(int d1, _bz_MatExpr<P_expr2> d2)
{
typedef _bz_MatExprOp<_bz_MatExprConstant<int>,
_bz_MatExpr<P_expr2>,
_bz_Add<int, _bz_typename P_expr2::T_numtype> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<int>(d1),
d2));
}
// float + Matrix<P_numtype2, P_struct2>
template<class P_numtype2, class P_struct2>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<float>,
_bz_MatrixRef<P_numtype2, P_struct2>, _bz_Add<float, P_numtype2> > >
operator+(float d1, const Matrix<P_numtype2, P_struct2>& d2)
{
typedef _bz_MatExprOp<_bz_MatExprConstant<float>,
_bz_MatrixRef<P_numtype2, P_struct2>,
_bz_Add<float, P_numtype2> > T_expr;
return _bz_MatExpr<T_expr>(T_expr(_bz_MatExprConstant<float>(d1),
d2._bz_getRef()));
}
// float + _bz_MatExpr<P_expr2>
template<class P_expr2>
inline
_bz_MatExpr<_bz_MatExprOp<_bz_MatExprConstant<float>,
_bz_MatExpr<P_expr2>, _bz_Add<float, _bz_typename P_expr2::T_numtype> > >
operator+(float d1, _bz_MatExpr<P_expr2> d2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -