//public OutputMinMax GenPositionArray4D(
        //    Span<float> destination,
        //    ReadOnlySpan<float> xPosArray,
        //    ReadOnlySpan<float> yPosArray,
        //    ReadOnlySpan<float> zPosArray,
        //    ReadOnlySpan<float> wPosArray,
        //    float xOffset,
        //    float yOffset,
        //    float zOffset,
        //    float wOffset,
        //    int seed)
        //{
        //    return NoiseGenerator4DHelper.GenPositionArray<m32, f32, i32, F, OpenSimplex2<m32, f32, i32, F>>(
        //        ref this,
        //        destination,
        //        xPosArray,
        //        yPosArray,
        //        zPosArray,
        //        wPosArray,
        //        xOffset,
        //        yOffset,
        //        zOffset,
        //        wOffset,
        //        seed);
        //}

        public float GenSingle2D(float x, float y, int seed)
        {
            return(NoiseGenerator2DHelper.GenSingle <m32, f32, i32, F, OpenSimplex2 <m32, f32, i32, F> >(
                       ref this,
                       x,
                       y,
                       seed));
        }
        //public OutputMinMax GenUniformGrid4D(
        //    Span<float> destination,
        //    int xStart,
        //    int yStart,
        //    int zStart,
        //    int wStart,
        //    int xSize,
        //    int ySize,
        //    int zSize,
        //    int wSize,
        //    float frequency,
        //    int seed)
        //{
        //    return NoiseGenerator4DHelper.GenUniformGrid<m32, f32, i32, F, OpenSimplex2<m32, f32, i32, F>>(
        //        ref this,
        //        destination,
        //        xStart,
        //        yStart,
        //        zStart,
        //        wStart,
        //        xSize,
        //        ySize,
        //        zSize,
        //        wSize,
        //        frequency,
        //        seed);
        //}

        public OutputMinMax GenPositionArray2D(
            Span <float> destination,
            ReadOnlySpan <float> xPosArray,
            ReadOnlySpan <float> yPosArray,
            float xOffset,
            float yOffset,
            int seed)
        {
            return(NoiseGenerator2DHelper.GenPositionArray <m32, f32, i32, F, OpenSimplex2 <m32, f32, i32, F> >(
                       ref this,
                       destination,
                       xPosArray,
                       yPosArray,
                       xOffset,
                       yOffset,
                       seed));
        }
 public OutputMinMax GenUniformGrid2D(
     Span <float> destination,
     int xStart,
     int yStart,
     int xSize,
     int ySize,
     float frequency,
     int seed)
 {
     return(NoiseGenerator2DHelper.GenUniformGrid <m32, f32, i32, F, OpenSimplex2 <m32, f32, i32, F> >(
                ref this,
                destination,
                xStart,
                yStart,
                xSize,
                ySize,
                frequency,
                seed));
 }