PureNumber
A case object representing the pure number 1. PureNumber extends the Scalar trait and behaves as a unit scalar factor.
CONSIDER expanding to include a DecimalNumber as well as a PureNumber (which logically should be represented in binary). Just because we can represent something exactly in binary doesn't mean we can represent it in decimal (and vice versa).
This object encapsulates the value of 1, providing a representation of a pure scalar. It includes functionality to render a string representation of a value.
Attributes
- Graph
-
- Supertypes
- Self type
-
PureNumber.type
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
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 inverse of a given Value, leveraging the monadic transformation functions defined in MonadicOperationInvert. This method allows for the calculation of an inverted number when valid.
Computes the inverse of a given Value, leveraging the monadic transformation functions defined in MonadicOperationInvert. This method allows for the calculation of an inverted number when valid.
Value parameters
- x
-
the input Value to be inverted
Attributes
- Returns
-
an Option containing the resulting ProtoNumber if the inversion is successful, or None otherwise
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.
- Definition Classes
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.
Applies modulation to the given value.
Applies modulation to the given value.
Value parameters
- v
-
the input value to be modulated
Attributes
- Returns
-
the given 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
Renders the given string and returns it.
Renders the given string and returns it.
Value parameters
- x
-
the input string to be rendered
Attributes
- Returns
-
the rendered string
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
-
Any
Inherited 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
- Inherited from:
- Scalar
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 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.
- Inherited from:
- Scalar
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
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).
- Inherited from:
- Scalar
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
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.
- Inherited from:
- Scalar
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
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 from:
- Scalar
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
Represents a specific constant scalar value (1).
Represents a specific constant scalar value (1).
Attributes
Inherited 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 from:
- Scalar