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;