?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. #include <stdint.h>
  2.  
  3. #include "rnd.h"
  4.  
  5. uint32_t get_rnd(void)
  6. {
  7.         static uint32_t seed=0;
  8.  
  9.         if(!seed)
  10.         {
  11.                 seed = 1;
  12.         }
  13.         else
  14.         {
  15.                 // xorshift, period = 2^32-1
  16.                 seed ^= seed<<13;
  17.                 seed ^= seed>>17;
  18.                 seed ^= seed<<5;
  19.         }
  20.  
  21.         return seed;
  22. }
  23.  
  24.