lcg48.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include "test_helpers.h"
  4. int main(void) {
  5. long x_l, x_m;
  6. double x_d;
  7. long seedval = 0xcafebeef;
  8. unsigned short xsubi[3] = {0xabcd, 0xef42, 0x5678};
  9. printf("lrand48 (uninitialized):");
  10. for (int i = 0; i < 10; i++)
  11. {
  12. x_l = lrand48();
  13. printf(" %ld", x_l);
  14. }
  15. printf("\n");
  16. srand48(seedval);
  17. printf("drand48:");
  18. for (int i = 0; i < 10; i++)
  19. {
  20. x_d = drand48();
  21. printf(" %lf", x_d);
  22. }
  23. printf("\n");
  24. srand48(seedval);
  25. printf("lrand48:");
  26. for (int i = 0; i < 10; i++)
  27. {
  28. x_l = lrand48();
  29. printf(" %ld", x_l);
  30. }
  31. printf("\n");
  32. srand48(seedval);
  33. printf("mrand48:");
  34. for (int i = 0; i < 10; i++)
  35. {
  36. x_m = mrand48();
  37. printf(" %ld", x_m);
  38. }
  39. printf("\n");
  40. printf("erand48:");
  41. for (int i = 0; i < 10; i++)
  42. {
  43. x_d = erand48(xsubi);
  44. printf(" %lf", x_d);
  45. }
  46. printf("\n");
  47. printf("nrand48:");
  48. for (int i = 0; i < 10; i++)
  49. {
  50. x_l = nrand48(xsubi);
  51. printf(" %ld", x_l);
  52. }
  53. printf("\n");
  54. printf("jrand48:");
  55. for (int i = 0; i < 10; i++)
  56. {
  57. x_l = jrand48(xsubi);
  58. printf(" %ld", x_l);
  59. }
  60. printf("\n");
  61. }