1 //static const char* sccsid = "@(#)Expr_Operators.cxx 3.2 95/01/10"; // Do not delete this line. Used by sccs.
2 // Copyright: Matra-Datavision 1992
3 // File: Expr_Operators.cxx
4 // Created: Fri Jul 10 10:49:40 1992
5 // Author: Arnaud BOUZY
8 #include <Expr_Operators.hxx>
10 Handle(Expr_Sum) operator+(const Handle(Expr_GeneralExpression)& x,const Handle(Expr_GeneralExpression)& y)
12 return new Expr_Sum(x,y);
15 Handle(Expr_Sum) operator+(const Standard_Real x,const Handle(Expr_GeneralExpression)& y)
17 Handle(Expr_NumericValue) nv = new Expr_NumericValue(x);
18 return new Expr_Sum(nv,y);
21 Handle(Expr_Sum) operator+(const Handle(Expr_GeneralExpression)& x, const Standard_Real y)
26 Handle(Expr_Difference) operator-(const Handle(Expr_GeneralExpression)& x, const Handle(Expr_GeneralExpression)& y)
28 return new Expr_Difference(x,y);
31 Handle(Expr_Difference) operator-(const Standard_Real x, const Handle(Expr_GeneralExpression)& y)
33 Handle(Expr_NumericValue) nv = new Expr_NumericValue(x);
34 return new Expr_Difference(nv,y);
37 Handle(Expr_Difference) operator-(const Handle(Expr_GeneralExpression)& x, const Standard_Real y)
39 Handle(Expr_NumericValue) nv = new Expr_NumericValue(y);
40 return new Expr_Difference(x,nv);
43 Handle(Expr_UnaryMinus) operator-(const Handle(Expr_GeneralExpression)& x)
45 return new Expr_UnaryMinus(x);
48 Handle(Expr_Product) operator*(const Handle(Expr_GeneralExpression)& x, const Handle(Expr_GeneralExpression)& y)
50 return new Expr_Product(x,y);
53 Handle(Expr_Product) operator*(const Standard_Real x, const Handle(Expr_GeneralExpression)& y)
55 Handle(Expr_NumericValue) nv = new Expr_NumericValue(x);
56 return new Expr_Product(nv,y);
59 Handle(Expr_Product) operator*(const Handle(Expr_GeneralExpression)& x, const Standard_Real y)
64 Handle(Expr_Division) operator/(const Handle(Expr_GeneralExpression)& x, const Handle(Expr_GeneralExpression)& y)
66 return new Expr_Division(x,y);
69 Handle(Expr_Division) operator/(const Standard_Real x, const Handle(Expr_GeneralExpression)& y)
71 Handle(Expr_NumericValue) nv = new Expr_NumericValue(x);
72 return new Expr_Division(nv,y);
75 Handle(Expr_Division) operator/(const Handle(Expr_GeneralExpression)& x, const Standard_Real y)
77 Handle(Expr_NumericValue) nv = new Expr_NumericValue(y);
78 return new Expr_Division(x,nv);