Ada 编程/库/System.Fat Gen
外观
这个泛型包提供了一个与目标无关的浮点属性实现,这些属性表示函数。这里的实现是可移植的,但速度非常慢。运行时包含此包针对所有预定义浮点类型的实例化,这些实例化应尽可能地被更高效的汇编语言代码替换。
subtype UI is Integer;
出于本包的目的,通用整数的运行时表示为整数。扩展器为实际使用的类型生成转换。对于返回通用整数的函数,不存在问题,因为结果始终在整数范围内。对于输入参数,扩展器必须执行一些特殊情况处理,以处理超出范围值的(非常令人讨厌的!)情况。如果我们使用 Long_Long_Integer 来表示通用整数,那么将不会出现问题,但由此产生的效率低下将令人讨厌。
function Adjacent (X, Towards : T) return T;
function Ceiling (X : T) return T;
function Compose (Fraction : T; Exponent : UI) return T;
function Copy_Sign (Value, Sign : T) return T;
function Exponent (X : T) return UI;
function Floor (X : T) return T;
function Fraction (X : T) return T;
function Leading_Part (X : T; Radix_Digits : UI) return T;
function Machine (X : T) return T;
function Model (X : T) return T;
function Pred (X : T) return T;
function Remainder (X, Y : T) return T;
function Rounding (X : T) return T;
function Scaling (X : T; Adjustment : UI) return T;
function Succ (X : T) return T;
function Truncation (X : T) return T;
function Unbiased_Rounding (X : T) return T;