41 REAL :: rave,rmax,rmin,rnew
43 REAL,
DIMENSION(:),
POINTER :: r
47 INTEGER(KIND=I8) :: i,x,x0,imax
54 CALL asl_library_initialize()
55 CALL asl_random_create(rng, asl_randommethod_mt19937_64)
56 CALL asl_random_distribute_uniform(rng)
62 CALL asl_random_generate_d(rng, imax, r)
68 CALL asl_random_destroy(rng)
69 CALL asl_library_finalize()
79 x0 = 1666297717051644203_i8
80 tap_check(x.EQ.x0,
"Kiss64")
99 tap_check_close(rave,0.5,1.e-4,
"Average close to 0.5.")
100 tap_check_ge(rmin,0.,
"All are bigger (or equal) than 0.")
101 tap_check_le(rmax,1.,
"All are smaller (or equal) than 1.")
102 tap_check_close(rmin,0.,1.e-4,
"Lower limit is close to 0.")
103 tap_check_close(rmax,1.,1.e-4,
"Upper limit is close to 1.")
real function, public dkiss64()
integer(kind=i8) function, public kiss64(seed)