ExpressionOps

com.phasmidsoftware.number.expression.expr.Expression.ExpressionOps
implicit class ExpressionOps(x: Expression)

Implicit class to allow various operations to be performed on an Expression.

Value parameters

x

an Expression.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

Method to lazily multiply x by y.

Method to lazily multiply x by y.

Value parameters

y

a Number.

Attributes

Returns

an Expression which is the lazy product of x and y.

Method to add this Expression and another Expression, resulting in an Expression.

Method to add this Expression and another Expression, resulting in an Expression.

Value parameters

y

the other Expression.

Attributes

Returns

the sum of this and y.

Method to lazily subtract the Field y from x.

Method to lazily subtract the Field y from x.

Value parameters

y

a Field.

Attributes

Returns

an Expression which is the lazy product of x and y.

Method to lazily divide x by y.

Method to lazily divide x by y.

Value parameters

y

a Number.

Attributes

Returns

an Expression which is the lazy quotient of x / y.

Method to lazily perform an operation on x and y.

Method to lazily perform an operation on x and y.

Value parameters

y

another Expression.

Attributes

Returns

an Expression which represents the result of the operation.

Method to lazily append the given expression to this expression using addition.

Method to lazily append the given expression to this expression using addition.

Value parameters

y

an Expression to be added to this expression.

Attributes

Returns

an Expression resulting from the addition of this expression and the provided expression.

Method to lazily get the value of atan2(x, y), i.e., if the result is z, then tan(z) = y/x.

Method to lazily get the value of atan2(x, y), i.e., if the result is z, then tan(z) = y/x.

Attributes

Returns

an Expression representing atan2(x, y).

def compare(comparand: Expression): Int

Eagerly compare this expression with y.

Eagerly compare this expression with y.

XXX this appears to be recursive! But it isn't

Value parameters

comparand

the number to be compared.

Attributes

Returns

the result of the comparison.

Method to lazily get the cosine of x.

Method to lazily get the cosine of x.

Attributes

Returns

an Expression representing the cos(x).

Method to lazily get the cosine of x.

Method to lazily get the cosine of x.

Attributes

Returns

an Expression representing the cos(x).

Method to lazily get the value of e raised to the power of x.

Method to lazily get the value of e raised to the power of x.

Attributes

Returns

an Expression representing e raised to the power of x.

def ln: Expression

Method to lazily get the natural log of x.

Method to lazily get the natural log of x.

Attributes

Returns

an Expression representing the log of x.

Computes the logarithm of a given expression to the specified base.

Computes the logarithm of a given expression to the specified base.

Value parameters

b

the base of the logarithm, represented as an Expression.

Attributes

Returns

an Expression representing the logarithm of this expression to the base b.

infix def plus(y: Expression): Expression

Method to lazily multiply x by y.

Method to lazily multiply x by y.

Value parameters

y

another Expression.

Attributes

Returns

an Expression which is the lazy product of x and y.

Method to lazily yield the reciprocal of x.

Method to lazily yield the reciprocal of x.

NOTE we shouldn't really be trying to simplify here. That should be taken care of downstream.

Attributes

Returns

an Expression representing the reciprocal of x.

Method to lazily get the sine of x.

Method to lazily get the sine of x.

Attributes

Returns

an Expression representing the sin(x).

Method to lazily get the sine of x.

Method to lazily get the sine of x.

Attributes

Returns

an Expression representing the sin(x).

Method to lazily get the square root of x.

Method to lazily get the square root of x.

Attributes

Returns

an Expression representing the square root of x.

Method to lazily get the tangent of x.

Method to lazily get the tangent of x.

Attributes

Returns

an Expression representing the tan(x).

Method to lazily get the tangent of x.

Method to lazily get the tangent of x.

Attributes

Returns

an Expression representing the tan(x).

infix def times(y: Expression): Expression

Method to lazily multiply this expression by another expression.

Method to lazily multiply this expression by another expression.

Value parameters

y

another Expression to be multiplied with this expression.

Attributes

Returns

an Expression representing the lazy product of this expression and the given expression.

Method to lazily change the sign of this expression.

Method to lazily change the sign of this expression.

Attributes

Returns

an Expression which is this negated.

Method to lazily raise x to the power of y. NOTE that this is not the caret character.

Method to lazily raise x to the power of y. NOTE that this is not the caret character.

Value parameters

y

the power to which x should be raised (an Expression).

Attributes

Returns

an Expression representing x to the power of y.