#include <inttypes.h>

struct uint128
{
  uint32_t a;
  uint32_t b;
  uint32_t c;
  uint32_t d;
};

namespace mrand
{
  uint128 getState(unsigned long long seed);
  float getFloat(uint128 *state);
  int getValue(int min, int max, uint128 *state);
}