noise method

double noise(
  1. double x,
  2. double y
)

Implementation

double noise(double x, double y) {
  final int X = x.floor() & 255;
  final int Y = y.floor() & 255;
  x -= x.floor();
  y -= y.floor();
  final double u = _fade(x);
  final double v = _fade(y);
  final int A = _p[X] + Y;
  final int B = _p[X + 1] + Y;

  return _lerp(
    v,
    _lerp(u, _grad(_p[A], x, y), _grad(_p[B], x - 1, y)),
    _lerp(u, _grad(_p[A + 1], x, y - 1), _grad(_p[B + 1], x - 1, y - 1)),
  );
}