package net.minecraft.util; import it.unimi.dsi.fastutil.floats.Float2FloatFunction; import java.util.function.Function; public interface ToFloatFunction { ToFloatFunction IDENTITY = createUnlimited(p_216474_ -> p_216474_); float apply(C p_184786_); float minValue(); float maxValue(); static ToFloatFunction createUnlimited(final Float2FloatFunction p_216476_) { return new ToFloatFunction() { public float apply(Float p_216483_) { return p_216476_.apply(p_216483_); } @Override public float minValue() { return Float.NEGATIVE_INFINITY; } @Override public float maxValue() { return Float.POSITIVE_INFINITY; } }; } default ToFloatFunction comap(final Function p_216478_) { final ToFloatFunction tofloatfunction = this; return new ToFloatFunction() { @Override public float apply(C2 p_216496_) { return tofloatfunction.apply(p_216478_.apply(p_216496_)); } @Override public float minValue() { return tofloatfunction.minValue(); } @Override public float maxValue() { return tofloatfunction.maxValue(); } }; } }