diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index dffc119a1..44b6465b1 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "9"; public const string Build = "0"; - public const string Revision = "3328"; + public const string Revision = "3331"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 11804fee0..25e98aaea 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=0 -%REVISION%=3328 %MINOR%=9 +%REVISION%=3331 +%COREVERSION%=0 %MAJOR%=3 diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 54048f140..7288ba0fa 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.9.0.3328 +3.9.0.3331 diff --git a/ReleaseGenerators/PT4/PT4Setup.exe b/ReleaseGenerators/PT4/PT4Setup.exe index 5574f4b48..ba355204f 100644 Binary files a/ReleaseGenerators/PT4/PT4Setup.exe and b/ReleaseGenerators/PT4/PT4Setup.exe differ diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 00f3b60c2..7de5b5463 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.9.0.3328' +!define VERSION '3.9.0.3331' diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index 056dc3c0e..1dcb0f410 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -2258,7 +2258,7 @@ function SeqRandom(n: integer := 10; a: integer := 0; b: integer := 100): sequen /// Возвращает последовательность из n случайных целых элементов function SeqRandomInteger(n: integer := 10; a: integer := 0; b: integer := 100): sequence of integer; /// Возвращает последовательность из n случайных вещественных элементов -function SeqRandomReal(n: integer := 10; a: real := 0; b: real := 10): sequence of real; +function SeqRandomReal(n: integer := 10; a: real := 0; b: real := 10; digits: integer := 1): sequence of real; /// Возвращает последовательность из count элементов, заполненных значениями f(i) function SeqGen(count: integer; f: integer->T): sequence of T; /// Возвращает последовательность из count элементов, заполненных значениями f(i), начиная с i=from @@ -2326,9 +2326,9 @@ function ArrRandomInteger(n: integer; a: integer; b: integer): array of integer; /// Возвращает массив размера n, заполненный случайными целыми значениями function ArrRandomInteger(n: integer := 10): array of integer; /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от a до b -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer := 1): array of real; /// Возвращает массив размера n, заполненный случайными вещественными значениями -function ArrRandomReal(n: integer := 10): array of real; +function ArrRandomReal(n: integer := 10; digits: integer := 1): array of real; /// Возвращает массив из count элементов, заполненных значениями gen(i) function ArrGen(count: integer; gen: integer->T): array of T; /// Возвращает массив из count элементов, заполненных значениями gen(i), начиная с i=from @@ -4823,14 +4823,14 @@ end; function ArrRandomInteger(n: integer) := ArrRandomInteger(n,0,100); -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer): array of real; begin Result := new real[n]; for var i := 0 to Result.Length - 1 do - Result[i] := Random() * (b - a) + a; + Result[i] := RandomReal(a,b,digits); end; -function ArrRandomReal(n: integer) := ArrRandomReal(n,0,10); +function ArrRandomReal(n: integer; digits: integer) := ArrRandomReal(n,0,10,digits); function SeqRandom(n: integer; a: integer; b: integer): sequence of integer; begin @@ -4844,10 +4844,10 @@ begin yield Random(a, b) end; -function SeqRandomReal(n: integer; a: real; b: real): sequence of real; +function SeqRandomReal(n: integer; a: real; b: real; digits: integer): sequence of real; begin loop n do - yield Random() * (b - a) + a + yield RandomReal(a,b,digits) end; function Arr(params a: array of T): array of T; diff --git a/bin/Lib/LightPT.pas b/bin/Lib/LightPT.pas index f902d8ced..a5e61c853 100644 --- a/bin/Lib/LightPT.pas +++ b/bin/Lib/LightPT.pas @@ -92,10 +92,10 @@ function ArrRandomInteger(n: integer; a: integer; b: integer): array of integer; /// Возвращает массив размера n, заполненный случайными целыми значениями в диапазоне от 0 до 100 function ArrRandomInteger(n: integer): array of integer; /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от a до b -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer := 1): array of real; /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от 0 до 10 -function ArrRandomReal(n: integer): array of real; +function ArrRandomReal(n: integer; digits: integer := 1): array of real; /// Возвращает двумерный массив размера m x n, заполненный случайными целыми значениями function MatrRandomInteger(m: integer; n: integer; a: integer; b: integer): array [,] of integer; @@ -1896,11 +1896,11 @@ end; function ArrRandomInteger(n: integer): array of integer := ArrRandomInteger(n,0,100); /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от a до b -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer): array of real; begin if TestMode = tmTest then Result := InputList.ReadTestDataReArr(n) - else Result := PABCSystem.ArrRandomReal(n, a, b); + else Result := PABCSystem.ArrRandomReal(n, a, b, digits); if NeedAddDataToInputList then for var i:=0 to n-1 do @@ -1908,7 +1908,7 @@ begin end; /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от 0 до 10 -function ArrRandomReal(n: integer): array of real := ArrRandomReal(n,0,10); +function ArrRandomReal(n: integer; digits: integer): array of real := ArrRandomReal(n,0,10,digits); /// Возвращает двумерный массив размера m x n, заполненный случайными целыми значениями function MatrRandomInteger(m: integer; n: integer; a: integer; b: integer): array [,] of integer; diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas index 056dc3c0e..1dcb0f410 100644 --- a/bin/Lib/PABCSystem.pas +++ b/bin/Lib/PABCSystem.pas @@ -2258,7 +2258,7 @@ function SeqRandom(n: integer := 10; a: integer := 0; b: integer := 100): sequen /// Возвращает последовательность из n случайных целых элементов function SeqRandomInteger(n: integer := 10; a: integer := 0; b: integer := 100): sequence of integer; /// Возвращает последовательность из n случайных вещественных элементов -function SeqRandomReal(n: integer := 10; a: real := 0; b: real := 10): sequence of real; +function SeqRandomReal(n: integer := 10; a: real := 0; b: real := 10; digits: integer := 1): sequence of real; /// Возвращает последовательность из count элементов, заполненных значениями f(i) function SeqGen(count: integer; f: integer->T): sequence of T; /// Возвращает последовательность из count элементов, заполненных значениями f(i), начиная с i=from @@ -2326,9 +2326,9 @@ function ArrRandomInteger(n: integer; a: integer; b: integer): array of integer; /// Возвращает массив размера n, заполненный случайными целыми значениями function ArrRandomInteger(n: integer := 10): array of integer; /// Возвращает массив размера n, заполненный случайными вещественными значениями в диапазоне от a до b -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer := 1): array of real; /// Возвращает массив размера n, заполненный случайными вещественными значениями -function ArrRandomReal(n: integer := 10): array of real; +function ArrRandomReal(n: integer := 10; digits: integer := 1): array of real; /// Возвращает массив из count элементов, заполненных значениями gen(i) function ArrGen(count: integer; gen: integer->T): array of T; /// Возвращает массив из count элементов, заполненных значениями gen(i), начиная с i=from @@ -4823,14 +4823,14 @@ end; function ArrRandomInteger(n: integer) := ArrRandomInteger(n,0,100); -function ArrRandomReal(n: integer; a: real; b: real): array of real; +function ArrRandomReal(n: integer; a: real; b: real; digits: integer): array of real; begin Result := new real[n]; for var i := 0 to Result.Length - 1 do - Result[i] := Random() * (b - a) + a; + Result[i] := RandomReal(a,b,digits); end; -function ArrRandomReal(n: integer) := ArrRandomReal(n,0,10); +function ArrRandomReal(n: integer; digits: integer) := ArrRandomReal(n,0,10,digits); function SeqRandom(n: integer; a: integer; b: integer): sequence of integer; begin @@ -4844,10 +4844,10 @@ begin yield Random(a, b) end; -function SeqRandomReal(n: integer; a: real; b: real): sequence of real; +function SeqRandomReal(n: integer; a: real; b: real; digits: integer): sequence of real; begin loop n do - yield Random() * (b - a) + a + yield RandomReal(a,b,digits) end; function Arr(params a: array of T): array of T; diff --git a/bin/PT4/PT4Setup.exe b/bin/PT4/PT4Setup.exe index 5574f4b48..ba355204f 100644 Binary files a/bin/PT4/PT4Setup.exe and b/bin/PT4/PT4Setup.exe differ