com.phasmidsoftware.number.algebra.core
Members list
Type members
Classlikes
The AnyContext object represents a special Context that qualifies all factors without exception.
The AnyContext object represents a special Context that qualifies all factors without exception.
This context essentially overrides all filtering or conditional logic by always returning true for any given factor. It is useful as a catch-all context where no restrictions are applied.
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait Contexttrait CoreContextclass Objecttrait Matchableclass AnyShow all
- Self type
-
AnyContext.type
Trait representing a structure that supports approximation.
Trait representing a structure that supports approximation.
The Approximate trait provides a contract for classes that need to define how their numerical representation can be approximated in some way, typically to account for uncertainty, imprecision, or computational limitations.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass Realtrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctionShow all
Trait representing something that can branch into multiple branches.
Trait representing something that can branch into multiple branches.
Type parameters
- T
-
the type of the elements contained in the branches.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Equationclass LinearEquationclass QuadraticEquationtrait Rootclass AbstractRootclass LinearRootclass QuadraticRootShow all
Domain C includes the set of complex numbers.
Domain C includes the set of complex numbers.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Trait Can represents an abstraction where a type T which extends Structure can cast an instance to itself. It is the base trait for all other traits that extend Can.
Trait Can represents an abstraction where a type T which extends Structure can cast an instance to itself. It is the base trait for all other traits that extend Can.
This trait facilitates type-safe casting of instances to a specific subtype of Structure. The trait no longer extends Structure, removing the circular dependency while maintaining type safety through ClassTag-based runtime verification.
Type parameters
- T
-
the type parameter which must be a subtype of
Structure
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait CanAddAndSubtract[T]class RationalNumberclass Realclass WholeNumberclass Angleclass Exponentialclass BinaryExponentialclass NaturalExponentialtrait CanMultiplyAndDivide[T]trait CanNegate[T]Show all
Represents a type class for types T and U, both of which extend Structure, enabling addition operations between these types with specific constraints. This trait provides functionality for adding instances of type T to each other and for attempting to add instances of type U to T.
Represents a type class for types T and U, both of which extend Structure, enabling addition operations between these types with specific constraints. This trait provides functionality for adding instances of type T to each other and for attempting to add instances of type U to T.
The operations are designed to work within the context of an AdditiveCommutativeMonoid, ensuring that the defined addition operations respect the algebraic properties of associativity, commutativity, and identity.
CONSIDER could we do without the U type parameter.
Type Parameters:
T: A type extendingStructurethat supports addition operations and satisfies the properties of an additive commutative monoid.U: A type extendingStructurethat is potentially compatible withTin certain addition operations.
Attributes
- Supertypes
- Known subtypes
-
trait CanAddAndSubtract[T]class RationalNumberclass Realclass WholeNumberclass Angleclass Exponentialclass BinaryExponentialclass NaturalExponentialShow all
A trait that extends CanAdd and provides additional functionality for types supporting both addition and subtraction operations. It introduces the ability to negate instances of type T and override the unary negation operator.
A trait that extends CanAdd and provides additional functionality for types supporting both addition and subtraction operations. It introduces the ability to negate instances of type T and override the unary negation operator.
Type Parameters:
T: A type extendingStructurethat supports addition, subtraction, and negation operations with an implicitAdditiveCommutativeGroup[T]evidence.
Attributes
- Supertypes
- Known subtypes
Represents a trait that extends the capabilities of mathematical structures defined by T and U to support multiplication operations within an algebraic framework.
Represents a trait that extends the capabilities of mathematical structures defined by T and U to support multiplication operations within an algebraic framework.
This trait builds upon the foundational traits Can, CanAddAndSubtract, and CanScale, adding multiplicative behavior and related utilities. It defines operations such as obtaining the multiplicative identity, performing multiplication, and combining structures in a multiplicative context with optional compatibility checks.
It's conceivable that some algebraic structures might support multiplication but not addition.
Type parameters
- T
-
the type of structure that supports multiplication, bounded by
Structureand requiring aClassTag - U
-
a secondary structure type used in combinatory operations, also bounded by
Structure
Attributes
- Supertypes
- Known subtypes
Represents a trait that extends the functionalities of CanMultiply to support both multiplication and division operations within an algebraic structure for types T and U.
Represents a trait that extends the functionalities of CanMultiply to support both multiplication and division operations within an algebraic structure for types T and U.
This trait builds upon the CanMultiply trait by introducing additional properties and utilities to work within a multiplicative framework. The primary addition is the inclusion of the multiplicative identity element for types that support multiplication.
Type parameters
- T
-
the primary type of the structure that supports multiplication and division, constrained to extend
Structureand requiring aClassTagfor runtime type resolution
Attributes
- Supertypes
- Known subtypes
-
class RationalNumberclass Real
Attributes
- Supertypes
- Known subtypes
Trait CanNormalize provides a mechanism to normalize instances of type T.
Trait CanNormalize provides a mechanism to normalize instances of type T.
TODO merge this with Normalizable
Normalization is a process of transforming an entity into a standard form, often employed in mathematical, algebraic, or logical contexts to simplify representations or ensure a canonical structure. Classes or traits that implement this trait must define how an instance of T is normalized.
Type parameters
- T
-
the type of the entity that can be normalized
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Angle
Represents a type class for performing power operations on instances of type T.
Represents a type class for performing power operations on instances of type T.
CONSIDER two parametric types
This trait defines the behavior for raising an instance of T to a power specified by a Scalar. Implementations of this trait are responsible for defining how the power operation is computed and whether it is valid for specific inputs.
Type parameters
- T
-
the type of the instance that supports the power operation
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Trait Circle extends the R trait and represents the "circle group." Values are limited to the range of -pi to pi, inclusive.
Companion object for the Context class.
Companion object for the Context class.
Provides predefined contexts for evaluating and qualifying factors or fields under specific mathematical or functional conditions. This includes contexts for scalars, logarithms, and roots, along with utility functions for determining qualification.
Attributes
Represents a trait for specifying in which evaluation-contexts a particular expression may be evaluated.
Represents a trait for specifying in which evaluation-contexts a particular expression may be evaluated.
The Context trait provides an abstraction for determining whether a particular factor or field qualifies within the scope of a specific context. It supports logical operations (or, and, not) to compose complex contexts from simpler ones.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
- Self type
The typeclass Convertible represents a generic abstraction for transforming an instance of type U into type T by applying a specific operation defined by the convert method.
The typeclass Convertible represents a generic abstraction for transforming an instance of type U into type T by applying a specific operation defined by the convert method.
Type parameters
- T
-
the target type to which an instance of type
Ucan be converted - U
-
the source type that can be transformed into type
T
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object given_Convertible_Angle_Realobject given_Convertible_Real_Angleobject given_Convertible_Real_RealShow all
A trait that represents a dyadic operator, which performs an operation involving two operands of types related to A and produces a result wrapped in a Try.
A trait that represents a dyadic operator, which performs an operation involving two operands of types related to A and produces a result wrapped in a Try.
NOTE the purpose of this trait is to deal with the hierarchy of types in one place. However, we have instead implemented eqv and fuzzyEqv directly (not using this trait). We can implement other operators using this trait if we wish, and maybe even back-propagate the eqv and fuzzyEqv methods here also.
Type parameters
- A
-
The base type of the operands, which acts as the upper bound for the types used in the operation.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Represents a trait for performing dyadic operations on instances of the Eager type.
Represents a trait for performing dyadic operations on instances of the Eager type.
This trait provides methods for equality checks, fuzzy comparisons, ordering, and arithmetic operations.
NOTE that compare, fuzzyCompare, and sum are not defined in this trait, have two parameters where one would be sufficient (and probably better).
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
A trait representing the concept of exactness in a value or entity.
A trait representing the concept of exactness in a value or entity.
The Exactitude trait provides a contract for determining whether an entity is represented exactly or as an approximation. This trait can be implemented by classes or objects that wish to encapsulate the notion of exactness and approximate values.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
Trait representing fuzzy equality for a type A.
Trait representing fuzzy equality for a type A.
Fuzzy equality allows determining whether two instances of type A are approximately equal based on a given confidence level p.
Type parameters
- A
-
The type for which fuzzy equality is defined.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
A Context that rejects all Factor instances without exception.
A Context that rejects all Factor instances without exception.
ImpossibleContext is a specific instance of the Context trait that always returns false for any factor, indicating that no factor qualifies within this context.
This context acts as the logical negation of all other possible contexts, prohibiting any factor from being considered qualifying.
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait Contexttrait CoreContextclass Objecttrait Matchableclass AnyShow all
- Self type
-
ImpossibleContext.type
The Lazy trait extends the Valuable interface and represents an abstraction for objects that are lazy in their evaluation or resolution. This trait provides methods for simplification, materialization, and normalization of the underlying value.
The Lazy trait extends the Valuable interface and represents an abstraction for objects that are lazy in their evaluation or resolution. This trait provides methods for simplification, materialization, and normalization of the underlying value.
The key distinction of Lazy implementations is their support for deferred computation, whereby full resolution or evaluation may not be required unless explicitly invoked.
Attributes
- Supertypes
-
trait Valuabletrait TypeSafetrait Normalizable[Valuable]trait Exactitudetrait Unitarytrait Zeroabletrait Numerictrait Renderableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctionShow all
Provides extension methods for the MaybeFuzzy trait to render its properties in absolute (scientific) form.
Provides extension methods for the MaybeFuzzy trait to render its properties in absolute (scientific) form.
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
MaybeFuzzy.type
A trait representing an optional association with a Fuzziness[Double].
A trait representing an optional association with a Fuzziness[Double].
This can be used to indicate whether an entity has an associated fuzzy or uncertain aspect to its representation or behavior. The presence of fuzziness is represented as an Option[Fuzziness[Double]], where Some indicates the presence of fuzziness and None indicates its absence.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class Angletrait Functionaltrait Radianstrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowerclass RealShow all
Trait N represents the Natural numbers, that's to say the integers from 0 to infinity.
A trait representing entities that can have an optional name.
A trait representing entities that can have an optional name.
Classes or objects extending this trait provide a means to access an optional name, which may or may not be present.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject ZeroShow all
Represents an entity that can be negated, producing a new instance that is considered to be the logical or mathematical negation of the current instance. This trait is designed to work with types such as Structure that have well-defined negation semantics.
Represents an entity that can be negated, producing a new instance that is considered to be the logical or mathematical negation of the current instance. This trait is designed to work with types such as Structure that have well-defined negation semantics.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
The Normalizable object provides utility methods related to normalizing values of types that implement the Normalizable trait. Normalization refers to the process of simplifying an object to its most basic or canonical representation.
The Normalizable object provides utility methods related to normalizing values of types that implement the Normalizable trait. Normalization refers to the process of simplifying an object to its most basic or canonical representation.
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Normalizable.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
A trait representing an abstraction for optionally holding a numeric value.
A trait representing an abstraction for optionally holding a numeric value.
Classes or objects implementing this trait should provide a definition of how the optional numeric value is derived or maintained.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
Trait Q serves as a marker for entities that can be represented as a rational number.
Trait Q serves as a marker for entities that can be represented as a rational number.
It provides a method to convert the implementing instance into a Rational representation.
Attributes
- Supertypes
- Known subtypes
-
trait Ztrait Ntrait Natobject NatZeroclass Succclass WholeNumbertrait ExactNumberclass RationalNumberShow all
Trait R extends Q and represents all Real numbers.
Trait R extends Q and represents all Real numbers.
It inherits the capability to be represented as a Rational from Q and adds functionality for conversion to a Double.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Circleclass Angletrait Qtrait Ztrait Ntrait Natobject NatZeroclass Succclass WholeNumbertrait ExactNumberclass RationalNumberclass RealShow all
A trait for types T that can be raised to a rational or integer power.
A trait for types T that can be raised to a rational or integer power.
CONSIDER eliminating this trait.
This trait provides methods for performing operations where values of type T are raised to an exponent represented as a rational or integer. It is particularly useful in mathematical computations involving such exponentiation operations while supporting rational numbers as exponents.
Type parameters
- T
-
the type of values that can be exponentiated
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Trait representing a renderable entity that can be presented to the user as a string. Any class or trait that extends Renderable should provide an implementation of render to define how the entity will be rendered.
Trait representing a renderable entity that can be presented to the user as a string. Any class or trait that extends Renderable should provide an implementation of render to define how the entity will be rendered.
NOTE that render differs from toString in that the latter is intended to be used for debugging purposes, whereas the former is intended to be used for presentation to the user.
NOTE that there is also a render method declared in NumberLike (core module).
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait MaybeFuzzyclass Angletrait Functionaltrait Radianstrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowerclass Realtrait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumbertrait Equationclass LinearEquationclass QuadraticEquationclass Quantity[D]Show all
A case class that represents a restricted evaluation context for a specific Factor.
A case class that represents a restricted evaluation context for a specific Factor.
The RestrictedContext is a specialized Context implementation that confines its qualifications to a single Factor. It determines whether a given factor matches the specific factor (context) it was instantiated with. This ensures that only evaluations respecting this restricted context are allowed.
Value parameters
- factor
-
the specific factor that defines the restrictive context. Only factors matching this will qualify.
Attributes
- Constructor
-
Creates a
RestrictedContextwith a predefinedFactorto enforce context-based restrictions. - Supertypes
-
trait Serializabletrait Producttrait Equalstrait Contexttrait CoreContextclass Objecttrait Matchableclass AnyShow all
A trait representing the ability to scale an instance of type T as a whole using an integer multiplier.
A trait representing the ability to scale an instance of type T as a whole using an integer multiplier.
This trait defines a contract for types that support a scaling operation, where an instance can be adjusted by multiplying it with an integer. The result of the scaling operation is returned as an Option, allowing implementations to specify cases where scaling may not be valid or possible.
Type parameters
- T
-
the type of the instance that can be scaled
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Algebraicclass LinearSolutionclass QuadraticSolutionclass Angletrait ExactNumberclass RationalNumberclass WholeNumberclass InversePowerclass Realtrait Equationclass LinearEquationclass QuadraticEquationShow all
The TypeSafe trait provides mechanisms for querying the runtime type and hierarchical category of an implementing class. It is designed to enhance debugging and logging by offering detailed descriptive information about the implementing instance's type and category within its type hierarchy.
The TypeSafe trait provides mechanisms for querying the runtime type and hierarchical category of an implementing class. It is designed to enhance debugging and logging by offering detailed descriptive information about the implementing instance's type and category within its type hierarchy.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
A trait representing the concept of unity, providing an abstraction for objects that can be tested for unity.
A trait representing the concept of unity, providing an abstraction for objects that can be tested for unity.
Implementing classes or objects must define the behavior of the isUnity method.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
Object Valuable provides utility methods and implicit conversions related to the Valuable trait, enabling parsing and conversion of strings to Valuable representations.
A trait representing an object that is in some sense numerical and can be evaluated mathematically. Valuable objects are either Eager, in which case they are concrete mathematical values, or Lazy in which case they are symbolic expressions that require further evaluation (through the materialize method).
A trait representing an object that is in some sense numerical and can be evaluated mathematically. Valuable objects are either Eager, in which case they are concrete mathematical values, or Lazy in which case they are symbolic expressions that require further evaluation (through the materialize method).
The Valuable trait extends multiple traits, enabling it to support rendering, numeric operations, normalization, exactitude, and type safety. Instances of Valuable can be either eager or lazy in computation and can represent various structures or numbers.
Attributes
- Companion
- object
- Supertypes
-
trait TypeSafetrait Normalizable[Valuable]trait Exactitudetrait Unitarytrait Zeroabletrait Numerictrait Renderableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all
Trait Z represents a structure that can potentially be converted to an integer representation. This abstraction can be used in scenarios where values may or may not fit within the bounds of a 32-bit signed integer.
Trait Z represents a structure that can potentially be converted to an integer representation. This abstraction can be used in scenarios where values may or may not fit within the bounds of a 32-bit signed integer.
Attributes
- Supertypes
- Known subtypes
Trait Zeroable represents entities that are interesting in the area of zero.
Trait Zeroable represents entities that are interesting in the area of zero.
It provides methods to assess whether the value is zero and determine its sign.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Valuabletrait Lazytrait Expressiontrait AtomicExpressionclass Nooptrait Rootclass AbstractRootclass LinearRootclass QuadraticRoottrait Transcendentalclass AbstractTranscendentalobject ETranscendentalobject EulerMascheroniobject L2object LgEobject PiTranscendentalclass ValueExpressionclass Literalclass NamedConstantobject Eobject Iobject Infinityclass ScalarConstantobject Halfobject MinusOneobject Oneobject Piobject Twoobject Zerotrait CompositeExpressionclass Eulertrait Multipleclass Aggregateclass BinaryFunctionclass BiFunctionclass UniFunctiontrait Eagertrait Natobject NatZeroclass Succtrait Solutiontrait Algebraicclass LinearSolutionclass QuadraticSolutionclass Complextrait Structuretrait Functionaltrait Radiansclass Angletrait Transformedclass Exponentialclass BinaryExponentialclass NaturalExponentialclass InversePowertrait Scalarobject NoScalartrait Numbertrait ExactNumberclass RationalNumberclass WholeNumberclass RealShow all