Package avail.descriptor.numbers

Types

Link copied to clipboard
interface A_Number : A_BasicObject

A_Number is an interface that specifies the number-specific operations that an AvailObject must implement. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.

Link copied to clipboard
abstract class AbstractNumberDescriptor : Descriptor

The abstract class AbstractNumberDescriptor serves as an abstraction for numeric objects. It currently includes the subclasses ExtendedIntegerDescriptor, FloatDescriptor, and DoubleDescriptor.

Link copied to clipboard
class DoubleDescriptor : AbstractNumberDescriptor

A boxed, identityless Avail representation of IEEE-754 double-precision floating point values.

Link copied to clipboard
abstract class ExtendedIntegerDescriptor : AbstractNumberDescriptor

The abstract class ExtendedIntegerDescriptor represents instances that are extended integers. That includes all integers and positive and negative infinity.

Link copied to clipboard
class FloatDescriptor : AbstractNumberDescriptor

A boxed, identityless Avail representation of IEEE-754 floating point values.

Link copied to clipboard
class InfinityDescriptor : ExtendedIntegerDescriptor

I represent the extended integers positive infinity and negative infinity. By supporting these as first-class values in Avail we eliminate arbitrary limits, awkward duplication of effort, and a host of other dangling singularities. For example, it makes sense to talk about iterating from 1 to infinity. Infinities also play a key role in integer range types, specifically by their appearance as inclusive or exclusive bounds.

Link copied to clipboard
class IntegerDescriptor : ExtendedIntegerDescriptor

An Avail integer is represented by a little endian series of Int slots. The slots are really treated as unsigned, except for the final slot which is considered signed. The high bit of the final slot (i.e., its sign bit) is the sign bit of the entire object.