diff --git a/src/noise/fbm_32.rs b/src/noise/fbm_32.rs index fe6e16a..d976b30 100644 --- a/src/noise/fbm_32.rs +++ b/src/noise/fbm_32.rs @@ -16,7 +16,7 @@ pub fn fbm_1d( for _ in 1..octaves { x = x * lacunarity; amp = amp * gain; - result = result + simplex_1d::(x, seed); + result = simplex_1d::(x, seed).mul_add(amp, result); } result @@ -38,7 +38,7 @@ pub fn fbm_2d( x = x * lac; y = y * lac; amp = amp * gain; - result = (simplex_2d::(x, y, seed) * amp) + result; + result = simplex_2d::(x, y, seed).mul_add(amp, result); } result @@ -62,7 +62,7 @@ pub fn fbm_3d( y = y * lac; z = z * lac; amp = amp * gain; - result = (simplex_3d::(x, y, z, seed) * amp) + result; + result = simplex_3d::(x, y, z, seed).mul_add(amp, result); } result @@ -88,7 +88,7 @@ pub fn fbm_4d( z = z * lac; w = w * lac; amp = amp * gain; - result = result + (simplex_4d::(x, y, z, w, seed) * amp); + result = simplex_4d::(x, y, z, w, seed).mul_add(amp, result); } result diff --git a/src/noise/fbm_64.rs b/src/noise/fbm_64.rs index 7ead9cc..8d7a50c 100644 --- a/src/noise/fbm_64.rs +++ b/src/noise/fbm_64.rs @@ -16,7 +16,7 @@ pub fn fbm_1d( for _ in 1..octaves { x = x * lacunarity; amp = amp * gain; - result = result + simplex_1d::(x, seed); + result = simplex_1d::(x, seed).mul_add(amp, result); } result @@ -38,7 +38,7 @@ pub fn fbm_2d( x = x * lac; y = y * lac; amp = amp * gain; - result = (simplex_2d::(x, y, seed) * amp) + result; + result = simplex_2d::(x, y, seed).mul_add(amp, result); } result @@ -61,7 +61,7 @@ pub fn fbm_3d( y = y * lac; z = z * lac; amp = amp * gain; - result = (simplex_3d::(x, y, z, seed) * amp) + result; + result = simplex_3d::(x, y, z, seed).mul_add(amp, result); } result } @@ -86,7 +86,7 @@ pub fn fbm_4d( z = z * lac; w = w * lac; amp = amp * gain; - result = result + (simplex_4d::(x, y, z, w, seed) * amp); + result = simplex_4d::(x, y, z, w, seed).mul_add(amp, result); } result