From 6a2fedb773e5710ead0effb8cf2e751a352639a4 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 15 Dec 2021 20:43:42 -0700 Subject: [PATCH] create BinaryArithmeticSampler --- .../arithmetic/BinaryArithmeticSampler.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/arithmetic/BinaryArithmeticSampler.java diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/arithmetic/BinaryArithmeticSampler.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/arithmetic/BinaryArithmeticSampler.java new file mode 100644 index 000000000..3f6b02bd0 --- /dev/null +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/arithmetic/BinaryArithmeticSampler.java @@ -0,0 +1,26 @@ +package com.dfsek.terra.addons.noise.samplers.arithmetic; + +import com.dfsek.terra.api.noise.NoiseSampler; + + +public abstract class BinaryArithmeticSampler implements NoiseSampler { + private final NoiseSampler left; + private final NoiseSampler right; + + protected BinaryArithmeticSampler(NoiseSampler left, NoiseSampler right) { + this.left = left; + this.right = right; + } + + @Override + public double noise(long seed, double x, double y) { + return operate(left.noise(seed, x, y),right.noise(seed, x, y)); + } + + @Override + public double noise(long seed, double x, double y, double z) { + return operate(left.noise(seed, x, y, z), right.noise(seed, x, y, z)); + } + + public abstract double operate(double left, double right); +}