anchor.diff:  {                                                                           }
   { Literature: https://de.wikipedia.org/wiki/Xorshift                        }
   {             https://en.wikipedia.org/wiki/Xorshift                        }
  +{                                                                           }
  +{ Acknowledgement:                                                          }
  +{             Several of the algorithms below were developed by             }
  +{             Sebastiano Vigna and released to the public domain,           }
  +{             see http://vigna.di.unimi.it/                                 }
   {                                                                           }
   { License:    Redistribution and use in source and binary forms, with or    }
   {             without modification, are permitted provided that the         }
  
positive.code: implementation
  
  uses
    System.Math;
  
  {$RANGECHECKS OFF}
  {$OVERFLOWCHECKS OFF}
  
  { TXorShift32 }
  
  constructor TXorShift32.Create;
  begin
    FSeed := 314159265;
  end;
  
  function TXorShift32.GetSeed: Int64;
  
negative.code: { TXorShift64 }
  
  constructor TXorShift64.Create;
  var
    C: Int64;
  begin
    if QueryPerformanceCounter(C) then
      FSeed := C
    else
      FSeed := 88172645463325252 + GetTickCount;
  end;
  
  function TXorShift64.GetSeed: Int64;
  