gradCoord3D function

double gradCoord3D(
  1. int seed,
  2. int x,
  3. int y,
  4. int z,
  5. double xd,
  6. double yd,
  7. double zd,
)

Implementation

@pragma('vm:prefer-inline')
double gradCoord3D(
  int seed,
  int x,
  int y,
  int z,
  double xd,
  double yd,
  double zd,
) {
  IntX hash = Int32(seed);
  hash ^= _xPrime * x;
  hash ^= _yPrime * y;
  hash ^= _zPrime * z;

  hash = hash * hash * hash * 60493;
  hash = (hash >> 13) ^ hash;

  final g = gradient3d[hash.toInt() & 15];

  return xd * g.x + yd * g.y + zd * g.z;
}