Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright (c) 1993 Martin Birgmeier
  3.  * All rights reserved.
  4.  *
  5.  * You may redistribute unmodified or modified versions of this source
  6.  * code provided that the above copyright notice and this and the
  7.  * following conditions are retained.
  8.  *
  9.  * This software is provided ``as is'', and comes with no warranties
  10.  * of any kind. I shall in no event be liable for anything that happens
  11.  * to anyone/anything when using this software.
  12.  */
  13.  
  14. #include "rand48.h"
  15.  
  16. unsigned short *
  17. _DEFUN (_seed48_r, (r, xseed),
  18.        struct _reent *r _AND
  19.        unsigned short xseed[3])
  20. {
  21.   static unsigned short sseed[3];
  22.  
  23.   _REENT_CHECK_RAND48(r);
  24.   sseed[0] = __rand48_seed[0];
  25.   sseed[1] = __rand48_seed[1];
  26.   sseed[2] = __rand48_seed[2];
  27.   __rand48_seed[0] = xseed[0];
  28.   __rand48_seed[1] = xseed[1];
  29.   __rand48_seed[2] = xseed[2];
  30.   __rand48_mult[0] = _RAND48_MULT_0;
  31.   __rand48_mult[1] = _RAND48_MULT_1;
  32.   __rand48_mult[2] = _RAND48_MULT_2;
  33.   __rand48_add = _RAND48_ADD;
  34.   return sseed;
  35. }
  36.  
  37. #ifndef _REENT_ONLY
  38. unsigned short *
  39. _DEFUN (seed48, (xseed),
  40.        unsigned short xseed[3])
  41. {
  42.   return _seed48_r (_REENT, xseed);
  43. }
  44. #endif /* !_REENT_ONLY */
  45.