class_docstr: OpenSimplex n-dimensional gradient noise functions.
class_docstr_tok: ["OpenSimplex","n-dimensional","gradient","noise","functions","."]
code: def _extrapolate4d(self, xsb, ysb, zsb, wsb, dx, dy, dz, dw):
      perm = self._perm
      index = (
          perm[
              (
                  perm[
                      (perm[(perm[xsb & 0xFF] + ysb) & 0xFF] + zsb)
                      & 0xFF
                  ]
                  + wsb
              )
              & 0xFF
          ]
          & 0xFC
      )
  
      g1, g2, g3, g4 = GRADIENTS_4D[index : index + 4]
      return g1 * dx + g2 * dy + g3 * dz + g4 * dw
  
file_path: imgaug/imgaug/external/opensimplex.py
imports: import sys
  from ctypes import c_long
  from math import floor
label_desc: Use image node_id 4 for calling the OpenSimplex obj's underlying member method code with example usage: obj._extrapolate4d(xsb, ysb, zsb, wsb, dx, dy, dz, dw) and returns: unknown