summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java76
1 files changed, 0 insertions, 76 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java b/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java
deleted file mode 100644
index 9950add..0000000
--- a/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package bjc.utils.funcutils;
-
-import java.util.function.BiFunction;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import java.util.function.UnaryOperator;
-
-/**
- * Utility things for functions
- *
- * @author ben
- *
- */
-public class FuncUtils {
- /**
- * Convert a binary function into a unary function that returns a
- * function
- *
- * @param <A>
- * The initial type of the function
- * @param <B>
- * The intermediate type of the function
- * @param <C>
- * The terminal type of the function
- * @param func
- * The function to transform
- * @return The function transformed into a unary function returning a
- * function
- */
- public static <A, B, C> Function<A, Function<B, C>> curry2(final BiFunction<A, B, C> func) {
- return arg1 -> arg2 -> {
- return func.apply(arg1, arg2);
- };
- }
-
- /**
- * Do the specified action the specified number of times
- *
- * @param nTimes
- * The number of times to do the action
- * @param cons
- * The action to perform
- */
- public static void doTimes(final int nTimes, final Consumer<Integer> cons) {
- for (int i = 0; i < nTimes; i++) {
- cons.accept(i);
- }
- }
-
- /**
- * Return an operator that executes until it converges.
- *
- * @param op
- * The operator to execute.
- * @param maxTries
- * The maximum amount of times to apply the function in an
- * attempt to cause it to converge.
- */
- public static <T> UnaryOperator<T> converge(final UnaryOperator<T> op, final int maxTries) {
- return (val) -> {
- T newVal = op.apply(val);
- T oldVal;
-
- int tries = 0;
-
- do {
- oldVal = newVal;
- newVal = op.apply(newVal);
-
- tries += 1;
- } while(!newVal.equals(oldVal) && tries < maxTries);
-
- return newVal;
- };
- }
-}