Zero

com.phasmidsoftware.number.top.Zero
case object Zero extends Natural

Zero represents the natural number zero in the Peano arithmetic system.

It is the base case of the natural numbers and does not have a predecessor. The Zero object extends the Natural trait and provides implementations for its methods.

  • next: Returns the successor of zero, which is the natural number one.
  • add: Returns the input natural number as the result of adding zero to it.
  • toString: Overrides the string representation to an empty string.

Attributes

Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Natural
class Object
trait Matchable
class Any
Show all
Self type
Zero.type

Members list

Type members

Inherited types

type MirroredElemLabels = EmptyTuple

The names of the product elements.

The names of the product elements.

Attributes

Inherited from:
Singleton
type MirroredElemTypes = EmptyTuple

Attributes

Inherited from:
Singleton
type MirroredMonoType = this.type

The mirrored *-type.

The mirrored *-type.

Attributes

Inherited from:
Singleton
type MirroredType = this.type

Attributes

Inherited from:
Singleton

Inherited and Abstract types

type MirroredLabel <: String

The name of the type.

The name of the type.

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def add(n: Natural): Natural

Adds the specified natural number to this natural number and returns the result.

Adds the specified natural number to this natural number and returns the result.

Value parameters

n

the natural number to add

Attributes

Returns

the result of adding the specified natural number to this one

def next: Natural

Computes the next natural number by returning the successor of the current natural number.

Computes the next natural number by returning the successor of the current natural number.

Attributes

Returns

the Successor of this natural number.

override def toString: 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

def fromProduct(p: Product): MirroredMonoType

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
infix def multiply(n: Natural): Natural

Multiplies the current natural number by the given natural number.

Multiplies the current natural number by the given natural number.

This method performs multiplication using a tail-recursive helper function. It repeatedly adds the current number to an accumulator based on the value of the given n.

Value parameters

n

the natural number to multiply with the current number

Attributes

Returns

the result of the multiplication as a natural number

Inherited from:
Natural
def productElementNames: Iterator[String]

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
def productIterator: Iterator[Any]

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
infix def subtract(n: Natural): Option[Natural]

Subtracts the given natural number n from this natural number. The subtraction operation is defined for natural numbers (non-negative integers). If the result would be negative, the method returns None.

Subtracts the given natural number n from this natural number. The subtraction operation is defined for natural numbers (non-negative integers). If the result would be negative, the method returns None.

Value parameters

n

the natural number to subtract from this natural number

Attributes

Returns

an Option[Natural] containing the result of the subtraction if non-negative, otherwise None

Inherited from:
Natural