Trait to define a Factor which is a scalar (something that can be scaled by a pure number).
Attributes
- Companion
- object
- Graph
-
- Supertypes
- Known subtypes
Members list
Value members
Concrete methods
Adds two values together, applying the specified factor, to compute a resultant value and factor.
Adds two values together, applying the specified factor, to compute a resultant value and factor.
TODO handle the negative cases properly
Value parameters
- f
-
the factor associated with the operation
- negative
-
NOTE ignored.
- x
-
the first value to be added
- y
-
the second value (addend) to be added
Attributes
- Returns
-
an optional tuple containing the resultant value, its factor, and optional fuzziness, or None if the operation cannot be performed under the given factor
Determines whether the current factor can be multiplied by the given factor.
Determines whether the current factor can be multiplied by the given factor.
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 (value is ignored).
Convert a value x from this factor to f if possible, using simple scaling. Result is defined only if f is a Scalar.
Convert a value x from this factor to f if possible, using simple scaling. Result is defined only if f is a Scalar.
Value parameters
- f
-
the factor of the result.
- v
-
the value to be converted.
Attributes
- Returns
-
a Try of Value which, given factor f, represents the same quantity as x given this.
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.
This doesn't seem to be invoked and looks wrong anyway.
This doesn't seem to be invoked and looks wrong anyway.
Value parameters
- x
-
the value to negate
Attributes
- Returns
-
an optional
ProtoNumberrepresenting the negated value, orNoneif the operation is not valid
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
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
Inherited and Abstract methods
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 - Inherited from:
- Factor
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 - Inherited from:
- Factor
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.
- Inherited from:
- Factor
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
- Inherited from:
- Factor
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
- Inherited from:
- Factor
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 from:
- Factor
Concrete fields
Determines if the current factor operates additively.
Determines if the current factor operates additively.
Attributes
- Returns
-
true if the factor is additive; false otherwise.
Inherited and Abstract 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).
Attributes
- Inherited from:
- Factor