Composite
The Composite object represents a composite factor which cannot be reduced to a unique factor. It is used essentially as a placeholder for Eager values such as Algebraics.
Attributes
Members list
Type members
Inherited types
The names of the product elements.
The names of the product elements.
Attributes
- Inherited from:
- Singleton
Attributes
- Inherited from:
- Singleton
The mirrored *-type.
The mirrored *-type.
Attributes
- Inherited from:
- Singleton
Attributes
- Inherited from:
- Singleton
Inherited and Abstract types
The name of the type.
The name of the type.
Attributes
- Inherited from:
- Mirror
Value members
Concrete methods
Attempts to add two values together (each based on this Factor) and computes an appropriate factor for the result.
Attempts to add two values together (each based on this Factor) and computes an appropriate factor for the result.
Value parameters
- f
-
the factor associated with y
- negative
-
true if the y value has negative sense (this is relevant for some factors such as SquareRoot).
- x
-
the first value
- y
-
the addend
Attributes
- Returns
-
an optional tuple containing the resultant value and its factor
Determines whether the current factor can be multiplied by the given factor. CONSIDER do we need this method now that we have multiply(x, y, this)?
Determines whether the current factor can be multiplied by the given factor. CONSIDER do we need this method now that we have multiply(x, y, this)?
Value parameters
- f
-
the factor to be checked for compatibility with multiplication.
Attributes
- Returns
-
true if the factors can be multiplied; false otherwise.
Determines whether given value with this Factor can be rendered exactly.
Determines whether given value with this Factor can be rendered exactly.
Attributes
- Returns
-
true if this
Factorcan be rendered exactly; false otherwise.
Convert a value x from this factor to f if possible, using the simplest possible mechanism. If the factors are incompatible, then None will be returned.
Convert a value x from this factor to f if possible, using the simplest possible mechanism. If the factors are incompatible, then None will be returned.
NOTE: only ScalarScalar, NthRootNthRoot or LogarithmicLogarithmic conversions can be effected.
Value parameters
- f
-
the factor of the result.
- v
-
the value to be converted.
Attributes
- Returns
-
an optional Value which, given factor f, represents the same quantity as v given this.
Raises the value x to the power of the value y.
Raises the value x to the power of the value y.
Value parameters
- x
-
the base value to be raised
- y
-
the exponent value (from a PureNumber)
Attributes
- Returns
-
an optional result of type
ProtoNumber, representing the computed value if the operation is valid, orNoneotherwise
Computes the multiplicative inverse of the given value if it exists.
Computes the multiplicative inverse of the given value if it exists.
Value parameters
- x
-
the value to be inverted
Attributes
- Returns
-
an optional
ProtoNumberrepresenting the inverse ofx, orNoneif the inverse cannot be computed
Determines if the current factor satisfies certain conditions within the given context.
Determines if the current factor satisfies certain conditions within the given context.
Value parameters
- context
-
the context in which the factor is evaluated.
Attributes
- Returns
-
a Boolean indicating whether the factor satisfies the specified conditions in the given context.
Determines if the current factor operates additively.
Determines if the current factor operates additively.
CONSIDER rewriting in terms of canAdd
Attributes
- Returns
-
true if the factor is additive; false otherwise.
Determines whether the current scalar can be exactly converted to a PureNumber.
Determines whether the current scalar can be exactly converted to a PureNumber.
Attributes
- Returns
-
true if the scalar represents an exact value; false otherwise.
Modulates the given value according to the context or rules defined by this factor.
Modulates the given value according to the context or rules defined by this factor.
Value parameters
- v
-
the value to be modulated
Attributes
- Returns
-
the modulated value
Multiplies two values together and computes an appropriate factor for the result.
Multiplies two values together and computes an appropriate factor for the result.
Value parameters
- f
-
the factor associated with y
- x
-
the first value
- y
-
the multiplicand
Attributes
- Returns
-
an optional tuple containing the resultant value and its factor
Computes the negation of the given value x within the context of this factor.
Computes the negation of the given value x within the context of this factor.
Value parameters
- x
-
the value to negate
Attributes
- Returns
-
an optional
ProtoNumberrepresenting the negated value, orNoneif the operation is not valid
Method to render a Value (which has already been converted to a String) in the context of this Factor.
Method to render a Value (which has already been converted to a String) in the context of this Factor.
Value parameters
- v
-
a String representing the Value.
Attributes
- Returns
-
a String.
Inherited methods
Determines whether the current factor can be augmented by the given factor. CONSIDER do we need this method now that we have add(x, y, this)?
Determines whether the current factor can be augmented by the given factor. CONSIDER do we need this method now that we have add(x, y, this)?
Value parameters
- f
-
the factor to be checked for compatibility with addition.
Attributes
- Returns
-
true if the factors can be added; false otherwise.
- Inherited from:
- Factor
Determines whether this factor can be raised by the given factor f. CONSIDER do we need this method now that we have raise(x, y, this)?
Determines whether this factor can be raised by the given factor f. CONSIDER do we need this method now that we have raise(x, y, this)?
Value parameters
- f
-
the factor to be checked for compatibility with raising to a power.
Attributes
- Returns
-
true if the factors can be powered; false otherwise.
- Inherited from:
- Factor
Cleans a given optional ProtoNumber by potentially simplifying its root quantities based on specific conditions and returning the modified result.
Cleans a given optional ProtoNumber by potentially simplifying its root quantities based on specific conditions and returning the modified result.
Value parameters
- po
-
an optional ProtoNumber that may be simplified
Attributes
- Returns
-
an optional ProtoNumber, simplified if applicable, or
Noneif input isNone - Inherited from:
- Factor
Creates a new instance of type T with elements taken from product p.
Creates a new instance of type T with elements taken from product p.
Attributes
- Inherited from:
- Singleton
An iterator over the names of all the elements of this product.
An iterator over the names of all the elements of this product.
Attributes
- Inherited from:
- Product
An iterator over all the elements of this product.
An iterator over all the elements of this product.
Attributes
- Returns
-
in the default implementation, an
Iterator[Any] - Inherited from:
- Product
Raises x to the power of y and compute an appropriate factor for the result. NOTE: for now, we only allow raising to a power of a PureNumber. TODO: enable powers of Radian factor.
Raises x to the power of y and compute an appropriate factor for the result. NOTE: for now, we only allow raising to a power of a PureNumber. TODO: enable powers of Radian factor.
Value parameters
- f
-
the factor associated with y
- x
-
the first value
- y
-
the power
Attributes
- Returns
-
an optional tuple containing the resultant value and its factor
- Inherited from:
- Factor
Concrete fields
A value which can be used to convert a value associated with this Factor to a different Factor. CONSIDER redefining this as a Number (which could be exact or fuzzy).
A value which can be used to convert a value associated with this Factor to a different Factor. CONSIDER redefining this as a Number (which could be exact or fuzzy).