Logo

Programming-Idioms

  • C++
  • Ruby
  • Scheme
  • Python
  • Java

Idiom #310 Fill array with random bytes

Fill the byte array a with randomly generated bytes.

import java.util.Random;
new Random().nextBytes(a);

For performance, consider reusing the Random instance
require 'securerandom'
a = SecureRandom.random_bytes(a.length)
import random
a[:] = random.randbytes(len(a))

If array a exists and its content is to be replaced.
import random
a = random.randbytes(N)

Create a new array a with N bytes.
use, intrinsic:: iso_fortran_env, only: int8
  real, dimension(100) :: b
  integer(int8), dimension(100) :: a
  call random_number(b)
  a = b*256 - 128

Fortran has no "byte" type per se, but it has (if supported) an integer type with 8 bits, which has the kind from iso_fortran_env. The intrinsic subroutine random_number returns random numbers in the range of [0..1[.

New implementation...