File: example_exponential_rvs.f90

package info (click to toggle)
fortran-stdlib 0.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,008 kB
  • sloc: f90: 24,178; ansic: 1,244; cpp: 623; python: 119; makefile: 13
file content (40 lines) | stat: -rw-r--r-- 1,204 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program example_exponential_rvs
  use stdlib_random, only: random_seed
  use stdlib_stats_distribution_exponential, only: rexp => rvs_exp

  implicit none
  complex :: cloc, cscale
  integer :: seed_put, seed_get

  seed_put = 1234567
  call random_seed(seed_put, seed_get)

  ! single standard exponential random variate
  print *, rexp()
  ! 0.358690143

  ! exponential random variate with loc=0 and scale=0.5 (lambda=2)
  print *, rexp(0.0, 0.5)
  ! 0.122672431

  ! exponential random variate with lambda=2
   print *, rexp(2.0)
  ! 0.204114929

  ! exponential random variate with loc=0.6 and scale=0.2 (lambda=5)
  print *, rexp(0.6, 0.2)
  ! 0.681645989

  ! an array of 10 variates with loc=0.0 and scale=3.0 (lambda=1/3)
  print *, rexp(0.0, 3.0, 10)
  ! 1.36567295       2.62772131      0.362352759       5.47133636       2.13591909
  ! 0.410784155      5.83882189      6.71128035        1.31730068       1.90963650

  ! single complex exponential random variate with real part of scale=0.5 (lambda=2.0);
  ! imagainary part of scale=1.6 (lambda=0.625)
  cloc   = (0.0, 0.0)
  cscale = (0.5, 1.6)
  print *, rexp(cloc, cscale)
  ! (0.426896989,2.56968451)

end program example_exponential_rvs