text: #pragma once
  
  #include <random>
  
  inline float Q_rsqrt(float number) {
      long i;
      float x2, y;
      const float threehalfs = 1.5F;
  
      x2 = number * 0.5F;
      y = number;
      i = *(long*)&y;                       // evil floating point bit level hacking
      i = 0x5f3759df - (i >> 1);               // what the fuck? 
      y = *(float*)&i;
      y = y * (threehalfs - (x2 * y * y));   // 1st iteration
  //	y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed
  
      return y;
  }
  
  inline double randomDouble() {
      static std::uniform_real_distribution<double> distribution(0.0, 1.0);
      static std::mt19937_64 generator;
      return distribution(generator);
  }