Index

Package: Numbers

Description

package Values.Numbers is
Copyright (c) 2012-2013 Kevin Wellwood All rights reserved. This source code is distributed under the Modified BSD License. For terms and conditions, see license.txt.

Classes

Number_Value

type Number_Value is new Value with private;

Ancestors:

Primitive operations:

Compare (overriding Values.Compare)
Get_Type (overriding Values.Get_Type)
Value_Input (overriding Values.Value_Input)
Value_Read (overriding Values.Value_Read)
Value_Write (overriding Values.Value_Write)
Values.=."=" (Inherited)
Values.Delete (Inherited)

Number_Ptr

type Number_Ptr is new Value_Ptr with private;

Ancestors:

Immediate Children:

Primitive operations:

Values.<."<" (Inherited)
Values.<=."<=" (Inherited)
Values.=."=" (Inherited)
Values.>.">" (Inherited)
Values.>=.">=" (Inherited)
Values.Adjust (Inherited)
Values.Clone (Inherited)
Values.Finalize (Inherited)
Values.Get (Inherited)
Values.Set (Inherited)
Values.To_Ptr (Inherited)
Values.Value_Ptr (Inherited)
Values.Value_Ptr_Input (Inherited)
Values.Value_Ptr_Output (Inherited)
Values.Value_Ptr_Read (Inherited)
Values.Value_Ptr_Write (Inherited)

Constants & Global variables

Subprograms & Entries

Create

function Create
( val: Integer ) return Number_Ptr;
Constructors

Create

function Create
( val: Long_Float ) return Number_Ptr;

Clone

function Clone
( this: access Number_Value ) return Value_Ptr'Class;

Compare

function Compare
( this: Number_Value;
other: Value'Class ) return Integer;

Get_Type

function Get_Type
( this: Number_Value ) return Value_Type;

Image

function Image
( this: Number_Value ) return String;

To_Float

function To_Float
( this: Number_Value ) return Float;
Access the internal value

To_Int

function To_Int
( this: Number_Value ) return Integer;

"-"

function   "-"
( l: Number_Value ) return Number_Ptr'Class;
Unary arithmetic operators

"abs"

function "abs"
( l: Number_Value ) return Number_Ptr'Class;

"+"

function   "+"
( l, r: Number_Value ) return Number_Ptr'Class;
Binary arithmetic operators

"-"

function   "-"
( l, r: Number_Value ) return Number_Ptr'Class;

"*"

function   "*"
( l, r: Number_Value ) return Number_Ptr'Class;

"/"

function   "/"
( l, r: Number_Value ) return Number_Ptr'Class;

"**"

function  "**"
( l, r: Number_Value ) return Number_Ptr'Class;

"mod"

function "mod"
( l, r: Number_Value ) return Number_Ptr'Class;

"rem"

function "rem"
( l, r: Number_Value ) return Number_Ptr'Class;

As_Number

function As_Number
( ptr: Value_Ptr'Class ) return Number_Ptr;
Casts a Value_Ptr down to a Number_Ptr. Returns Nul on failure.

As_Value

function As_Value
( this: Number_Ptr ) return Value_Ptr;
Casts a Number_Ptr up to a Value_Ptr.

Get

function Get
( this: Number_Ptr ) return access Number_Value'Class;
Returns an access to the Number_Value, or null if no target.

"-"

function   "-"
( l: Number_Ptr ) return Number_Ptr;
The following arithmetic operators are equivalent to "[op] l.Get" 'l' must have a target or the behavior is undefined.

"abs"

function "abs"
( l: Number_Ptr ) return Number_Ptr;

"+"

function   "+"
( l, r: Number_Ptr ) return Number_Ptr;
The following arithmetic operators are equivalent to "l.Get [op] r.Get" Both 'l' and 'r' must have targets or the behavior is undefined.

"-"

function   "-"
( l, r: Number_Ptr ) return Number_Ptr;

"*"

function   "*"
( l, r: Number_Ptr ) return Number_Ptr;

"/"

function   "/"
( l, r: Number_Ptr ) return Number_Ptr;

"**"

function  "**"
( l, r: Number_Ptr ) return Number_Ptr;

"mod"

function "mod"
( l, r: Number_Ptr ) return Number_Ptr;

"rem"

function "rem"
( l, r: Number_Ptr ) return Number_Ptr;

"="

function  "="
( l: Number_Ptr;
r: Integer ) return Boolean;
The following operators are useful for mixing Number_Ptrs with primitive number types. Equivalent to: "l [op] Create( r )"

"="

function  "="
( l: Number_Ptr;
r: Long_Float ) return Boolean;

"<"

function  "<"
( l: Number_Ptr;
r: Integer ) return Boolean;

"<"

function  "<"
( l: Number_Ptr;
r: Long_Float ) return Boolean;

">"

function  ">"
( l: Number_Ptr;
r: Integer ) return Boolean;

">"

function  ">"
( l: Number_Ptr;
r: Long_Float ) return Boolean;

"<="

function "<="
( l: Number_Ptr;
r: Integer ) return Boolean;

"<="

function "<="
( l: Number_Ptr;
r: Long_Float ) return Boolean;

">="

function ">="
( l: Number_Ptr;
r: Integer ) return Boolean;

">="

function ">="
( l: Number_Ptr;
r: Long_Float ) return Boolean;

"+"

function  "+"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"+"

function  "+"
( l: Number_Ptr;
r: Long_Float ) return Number_Ptr;

"-"

function  "-"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"-"

function  "-"
( l: Number_Ptr;
r: Long_Float ) return Number_Ptr;

"*"

function  "*"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"*"

function  "*"
( l: Number_Ptr;
r: Long_Float ) return Number_Ptr;

"/"

function  "/"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"/"

function  "/"
( l: Number_Ptr;
r: Long_Float ) return Number_Ptr;

"**"

function "**"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"**"

function "**"
( l: Number_Ptr;
r: Long_Float ) return Number_Ptr;

"mod"

function "mod"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"rem"

function "rem"
( l: Number_Ptr;
r: Integer ) return Number_Ptr;

"="

function  "="
( l: Integer;
r: Number_Ptr ) return Boolean;

"="

function  "="
( l: Long_Float;
r: Number_Ptr ) return Boolean;

"<"

function  "<"
( l: Integer;
r: Number_Ptr ) return Boolean;

"<"

function  "<"
( l: Long_Float;
r: Number_Ptr ) return Boolean;

">"

function  ">"
( l: Integer;
r: Number_Ptr ) return Boolean;

">"

function  ">"
( l: Long_Float;
r: Number_Ptr ) return Boolean;

"<="

function "<="
( l: Integer;
r: Number_Ptr ) return Boolean;

"<="

function "<="
( l: Long_Float;
r: Number_Ptr ) return Boolean;

">="

function ">="
( l: Integer;
r: Number_Ptr ) return Boolean;

">="

function ">="
( l: Long_Float;
r: Number_Ptr ) return Boolean;

"+"

function  "+"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"+"

function  "+"
( l: Long_Float;
r: Number_Ptr ) return Number_Ptr;

"-"

function  "-"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"-"

function  "-"
( l: Long_Float;
r: Number_Ptr ) return Number_Ptr;

"*"

function  "*"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"*"

function  "*"
( l: Long_Float;
r: Number_Ptr ) return Number_Ptr;

"/"

function  "/"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"/"

function  "/"
( l: Long_Float;
r: Number_Ptr ) return Number_Ptr;

"**"

function "**"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"**"

function "**"
( l: Long_Float;
r: Number_Ptr ) return Number_Ptr;

"mod"

function "mod"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;

"rem"

function "rem"
( l: Integer;
r: Number_Ptr ) return Number_Ptr;