com.phasmidsoftware.number.algebra.core

Members list

Type members

Classlikes

case object AnyContext extends Context

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 Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Context
trait CoreContext
class Object
trait Matchable
class Any
Show all
Self type
AnyContext.type
trait Approximate

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 Object
trait Matchable
class Any
Known subtypes
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
Show all
trait Branched[T]

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 Object
trait Matchable
class Any
Known subtypes
trait Equation
trait Root
class AbstractRoot
class LinearRoot
Show all
trait C

Domain C includes the set of complex numbers.

Domain C includes the set of complex numbers.

Attributes

Supertypes
class Object
trait Matchable
class Any
sealed trait Can[T <: Structure]

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 Object
trait Matchable
class Any
Known subtypes
trait CanAdd[T, U]
class Real
class WholeNumber
class Angle
class Exponential
trait CanMultiply[T, U]
trait CanNegate[T]
Show all
trait CanAdd[T <: Structure, U <: Structure] extends Can[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.

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 extending Structure that supports addition operations and satisfies the properties of an additive commutative monoid.
  • U: A type extending Structure that is potentially compatible with T in certain addition operations.

Attributes

Supertypes
trait Can[T]
class Object
trait Matchable
class Any
Known subtypes
class Real
class WholeNumber
class Angle
class Exponential
Show all
trait CanAddAndSubtract[T <: Structure] extends CanAdd[T, T], CanNegate[T]

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 extending Structure that supports addition, subtraction, and negation operations with an implicit AdditiveCommutativeGroup[T] evidence.

Attributes

Supertypes
trait CanNegate[T]
trait CanAdd[T, T]
trait Can[T]
class Object
trait Matchable
class Any
Show all
Known subtypes
class Real
class WholeNumber
trait CanMultiply[T <: Structure, U <: Structure] extends Can[T]

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 Structure and requiring a ClassTag

U

a secondary structure type used in combinatory operations, also bounded by Structure

Attributes

Supertypes
trait Can[T]
class Object
trait Matchable
class Any
Known subtypes
trait CanMultiplyAndDivide[T <: Structure] extends CanMultiply[T, T]

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 Structure and requiring a ClassTag for runtime type resolution

Attributes

Supertypes
trait CanMultiply[T, T]
trait Can[T]
class Object
trait Matchable
class Any
Known subtypes
class Real
trait CanNegate[T <: Structure] extends Can[T]

Attributes

Supertypes
trait Can[T]
class Object
trait Matchable
class Any
Known subtypes
class Real
class WholeNumber
trait CanNormalize[T <: Structure]

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 Object
trait Matchable
class Any
Known subtypes
class Angle
trait CanPower[T]

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 Object
trait Matchable
class Any
Known subtypes
trait ExactNumber
class WholeNumber
class InversePower
class Real
trait Circle extends R

Trait Circle extends the R trait and represents the "circle group." Values are limited to the range of -pi to pi, inclusive.

Trait Circle extends the R trait and represents the "circle group." Values are limited to the range of -pi to pi, inclusive.

Attributes

Supertypes
trait R
class Object
trait Matchable
class Any
Known subtypes
class Angle
object Context

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

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Context.type
trait Context extends CoreContext

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
trait CoreContext
class Object
trait Matchable
class Any
Known subtypes
Self type
trait Convertible[T, U]

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 U can be converted

U

the source type that can be transformed into type T

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait DyadicOperator[A]

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 Object
trait Matchable
class Any
trait DyadicOps

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 Object
trait Matchable
class Any
Known subtypes
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
trait Exactitude

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 Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
object FuzzyEq

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
FuzzyEq.type
trait FuzzyEq[A]

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 Object
trait Matchable
class Any
case object ImpossibleContext extends Context

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 Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Context
trait CoreContext
class Object
trait Matchable
class Any
Show all
Self type
trait Lazy extends Valuable

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 Valuable
trait TypeSafe
trait Exactitude
trait Unitary
trait Zeroable
trait Numeric
trait Renderable
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
Show all
object MaybeFuzzy

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 Object
trait Matchable
class Any
Self type
MaybeFuzzy.type
trait MaybeFuzzy extends Renderable

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
trait Renderable
class Object
trait Matchable
class Any
Known subtypes
class Angle
trait Functional
trait Radians
trait Transformed
class Exponential
class InversePower
class Real
Show all
trait N extends Z

Trait N represents the Natural numbers, that's to say the integers from 0 to infinity.

Trait N represents the Natural numbers, that's to say the integers from 0 to infinity.

Attributes

Supertypes
trait Z
trait Q
trait R
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Nat
object NatZero
class Succ
trait Nameable

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 Object
trait Matchable
class Any
Known subtypes
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
Show all
trait Negatable[T]

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 Object
trait Matchable
class Any
Known subtypes
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
object Normalizable

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 Object
trait Matchable
class Any
Self type
trait Normalizable[T]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
trait Numeric

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 Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
trait Q extends R

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
trait R
class Object
trait Matchable
class Any
Known subtypes
trait Z
trait N
trait Nat
object NatZero
class Succ
class WholeNumber
trait ExactNumber
Show all
trait R

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 Object
trait Matchable
class Any
Known subtypes
trait Circle
class Angle
trait Q
trait Z
trait N
trait Nat
object NatZero
class Succ
class WholeNumber
trait ExactNumber
class Real
Show all
trait RationalPowers[T]

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 Object
trait Matchable
class Any
trait Renderable

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 Object
trait Matchable
class Any
Known subtypes
trait MaybeFuzzy
class Angle
trait Functional
trait Radians
trait Transformed
class Exponential
class InversePower
class Real
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
trait Equation
class Quantity[D]
Show all
case class RestrictedContext(factor: Factor) extends Context

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 RestrictedContext with a predefined Factor to enforce context-based restrictions.

Supertypes
trait Serializable
trait Product
trait Equals
trait Context
trait CoreContext
class Object
trait Matchable
class Any
Show all
trait Scalable[T <: Scalable[T]]

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 Object
trait Matchable
class Any
Known subtypes
trait Algebraic
class Angle
trait ExactNumber
class WholeNumber
class InversePower
class Real
trait Equation
Show all
trait TypeSafe

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 Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
trait Unitary

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 Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
object Valuable

Object Valuable provides utility methods and implicit conversions related to the Valuable trait, enabling parsing and conversion of strings to Valuable representations.

Object Valuable provides utility methods and implicit conversions related to the Valuable trait, enabling parsing and conversion of strings to Valuable representations.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Valuable.type

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 TypeSafe
trait Exactitude
trait Unitary
trait Zeroable
trait Numeric
trait Renderable
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all
trait Z extends Q

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
trait Q
trait R
class Object
trait Matchable
class Any
Known subtypes
trait N
trait Nat
object NatZero
class Succ
class WholeNumber
trait Zeroable

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 Object
trait Matchable
class Any
Known subtypes
trait Valuable
trait Lazy
trait Expression
class Noop
trait Root
class AbstractRoot
class LinearRoot
object L2
object LgE
class Literal
object E
object I
object Infinity
object Half
object MinusOne
object One
object Pi
object Two
object Zero
class Euler
trait Multiple
class Aggregate
class BiFunction
class UniFunction
trait Eager
trait Nat
object NatZero
class Succ
trait Solution
trait Algebraic
class Complex
trait Structure
trait Functional
trait Radians
class Angle
trait Transformed
class Exponential
class InversePower
trait Scalar
object NoScalar
trait Number
trait ExactNumber
class WholeNumber
class Real
Show all