ExpressionDot<ExpressionScalar,RExpressionType> dot(const Real& l, const ExpressionBase<RExpressionType>& r) { return ExpressionDot<ExpressionScalar,RExpressionType>(ExpressionScalar(l),r.cast()); }
ExpressionAddition<ExpressionScalar, RExpressionType> operator+ (const Real& l, const ExpressionBase<RExpressionType>& r) { return ExpressionAddition<ExpressionScalar, RExpressionType> (ExpressionScalar (l), r.cast() ); }
ExpressionDot<LExpressionType, ExpressionScalar > dot(const ExpressionBase<LExpressionType>& l, const Real& r) { return ExpressionDot<LExpressionType,ExpressionScalar>(l.cast(),ExpressionScalar(r)); }
ExpressionAddition<LExpressionType, ExpressionScalar > operator+ (const ExpressionBase<LExpressionType>& l, const Real& r) { return ExpressionAddition<LExpressionType, ExpressionScalar> (l.cast(), ExpressionScalar (r) ); }