/tutorial/random/example3.e

http://github.com/tybor/Liberty · Specman e · 46 lines · 41 code · 5 blank · 0 comment · 3 complexity · 7f26f923115b34f7c9ee372490797b5a MD5 · raw file

  1. class EXAMPLE3
  2. insert
  3. ARGUMENTS
  4. create {ANY}
  5. main
  6. feature {ANY}
  7. main
  8. local
  9. random_number_generator: RANDOM_NUMBER_GENERATOR; seed, count: INTEGER
  10. do
  11. if argument_count < 2 then
  12. io.put_string("Usage: ")
  13. io.put_string(argument(0))
  14. io.put_string(" <seed> <count> [minimal|press]%N")
  15. die_with_code(exit_failure_code)
  16. end
  17. seed := argument(1).to_integer
  18. count := argument(2).to_integer
  19. if argument_count > 2 then
  20. if argument(3).same_as("press") then
  21. create {PRESS_RANDOM_NUMBER_GENERATOR} random_number_generator.with_seed(seed)
  22. io.put_string("Using PRESS_RANDOM_NUMBER_GENERATOR.%N")
  23. else
  24. create {MINIMAL_RANDOM_NUMBER_GENERATOR} random_number_generator.with_seed(seed)
  25. io.put_string("Using MINIMAL_RANDOM_NUMBER_GENERATOR.%N")
  26. end
  27. else
  28. create {PRESS_RANDOM_NUMBER_GENERATOR} random_number_generator.with_seed(seed)
  29. io.put_string("Using default PRESS_RANDOM_NUMBER_GENERATOR.%N")
  30. end
  31. from
  32. until
  33. count = 0
  34. loop
  35. random_number_generator.next
  36. io.put_real(random_number_generator.last_real)
  37. count := count - 1
  38. io.put_string("%N")
  39. end
  40. end
  41. end -- class EXAMPLE3