\
template < class T1, class T2, unsigned D > \
inline TSV<typename PETEBinaryReturn<T1,T2,APP>::type,D> \
OP(const TSV<T1,D> &lhs, const TSV<T2,D> &rhs) \
{ \
} \
\
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,short,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,int,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,unsigned int,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,long,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,float,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,double,OP,APP) \
TSV_ELEMENTWISE_OPERATOR_WITH_SCALAR(TSV,std::complex<double>,OP,APP)