ClpIRandom.pas 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. { *********************************************************************************** }
  2. { * CryptoLib Library * }
  3. { * Copyright (c) 2018 - 20XX Ugochukwu Mmaduekwe * }
  4. { * Github Repository <https://github.com/Xor-el> * }
  5. { * Distributed under the MIT software license, see the accompanying file LICENSE * }
  6. { * or visit http://www.opensource.org/licenses/mit-license.php. * }
  7. { * Acknowledgements: * }
  8. { * * }
  9. { * Thanks to Sphere 10 Software (http://www.sphere10.com/) for sponsoring * }
  10. { * development of this library * }
  11. { * ******************************************************************************* * }
  12. (* &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *)
  13. unit ClpIRandom;
  14. {$I ..\Include\CryptoLib.inc}
  15. interface
  16. uses
  17. ClpCryptoLibTypes;
  18. type
  19. IRandom = interface(IInterface)
  20. ['{509F9F51-2FC4-40E6-8E4A-68B59808BF5A}']
  21. procedure NextBytes(const buf: TCryptoLibByteArray); overload;
  22. function NextDouble(): Double;
  23. function Next(): Int32; overload;
  24. function Next(maxValue: Int32): Int32; overload;
  25. function Next(minValue, maxValue: Int32): Int32; overload;
  26. end;
  27. implementation
  28. end.