From: Arnaud Charlet Date: Fri, 31 Jan 2020 10:47:01 +0000 (-0500) Subject: [Ada] AI12-0144 Make Discrete_Random more flexible X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c3c80e3c3adde1f96d9f5070eccf1184a97ce2cd;p=gcc.git [Ada] AI12-0144 Make Discrete_Random more flexible 2020-06-05 Arnaud Charlet gcc/ada/ * libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New function. --- diff --git a/gcc/ada/libgnat/a-nudira.adb b/gcc/ada/libgnat/a-nudira.adb index 77f81b44856..e18403cf140 100644 --- a/gcc/ada/libgnat/a-nudira.adb +++ b/gcc/ada/libgnat/a-nudira.adb @@ -56,6 +56,17 @@ is return Random (SRN.Generator (Gen)); end Random; + function Random + (Gen : Generator; + First : Result_Subtype; + Last : Result_Subtype) return Result_Subtype + is + subtype Local_Subtype is Result_Subtype range First .. Last; + function Random is new SRN.Random_Discrete (Local_Subtype, First); + begin + return Random (SRN.Generator (Gen)); + end Random; + ----------- -- Reset -- ----------- diff --git a/gcc/ada/libgnat/a-nudira.ads b/gcc/ada/libgnat/a-nudira.ads index 64342dd3b14..35b7dc62b50 100644 --- a/gcc/ada/libgnat/a-nudira.ads +++ b/gcc/ada/libgnat/a-nudira.ads @@ -51,6 +51,12 @@ is function Random (Gen : Generator) return Result_Subtype; + function Random + (Gen : Generator; + First : Result_Subtype; + Last : Result_Subtype) return Result_Subtype + with Post => Random'Result in First .. Last; + procedure Reset (Gen : Generator; Initiator : Integer); procedure Reset (Gen : Generator);