+ --------------------------
+ -- Random_Decimal_Fixed --
+ --------------------------
+
+ function Random_Decimal_Fixed
+ (Gen : Generator;
+ Min : Result_Subtype := Default_Min;
+ Max : Result_Subtype := Result_Subtype'Last) return Result_Subtype
+ is
+ subtype IntV is Integer_64 range
+ Integer_64'Integer_Value (Min) ..
+ Integer_64'Integer_Value (Max);
+ function R is new Random_Discrete (Integer_64, IntV'First);
+ begin
+ return Result_Subtype'Fixed_Value (R (Gen, IntV'First, IntV'Last));
+ end Random_Decimal_Fixed;
+
+ ---------------------------
+ -- Random_Ordinary_Fixed --
+ ---------------------------
+
+ function Random_Ordinary_Fixed
+ (Gen : Generator;
+ Min : Result_Subtype := Default_Min;
+ Max : Result_Subtype := Result_Subtype'Last) return Result_Subtype
+ is
+ subtype IntV is Integer_64 range
+ Integer_64'Integer_Value (Min) ..
+ Integer_64'Integer_Value (Max);
+ function R is new Random_Discrete (Integer_64, IntV'First);
+ begin
+ return Result_Subtype'Fixed_Value (R (Gen, IntV'First, IntV'Last));
+ end Random_Ordinary_Fixed;
+