summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/funcutils/FuncUtils.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-12-14 19:29:37 -0400
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-12-14 19:29:37 -0400
commit9351ea3e97bbe2d348aa17067ccc6267dc7c080f (patch)
treedd2269c26161c735d94d8dc83d56e6076c2a155d /base/src/main/java/bjc/utils/funcutils/FuncUtils.java
parent8933de7f646f0565edf700aa2f2fcab06d639855 (diff)
parent6dcadc360dafdd12142d53327f44579379a4c9dd (diff)
Merge branch 'master' of https://github.com/bculkin2442/bjc-utils2
Diffstat (limited to 'base/src/main/java/bjc/utils/funcutils/FuncUtils.java')
-rw-r--r--base/src/main/java/bjc/utils/funcutils/FuncUtils.java34
1 files changed, 23 insertions, 11 deletions
diff --git a/base/src/main/java/bjc/utils/funcutils/FuncUtils.java b/base/src/main/java/bjc/utils/funcutils/FuncUtils.java
index 70e521a..2c65876 100644
--- a/base/src/main/java/bjc/utils/funcutils/FuncUtils.java
+++ b/base/src/main/java/bjc/utils/funcutils/FuncUtils.java
@@ -29,9 +29,12 @@ public class FuncUtils {
*
* @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 -> func.apply(arg1, arg2);
+ public static <A, B, C> Function<A, Function<B, C>> curry2(
+ final BiFunction<A, B, C> func)
+ {
+ return arg1 ->
+ arg2 ->
+ func.apply(arg1, arg2);
}
/**
@@ -43,14 +46,17 @@ public class FuncUtils {
* @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);
- }
+ 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 <T> The type the operator is on.
*
* @param op
* The operator to execute.
@@ -62,12 +68,15 @@ public class FuncUtils {
* @return The requested operator.
*/
public static <T> UnaryOperator<T> converge(final UnaryOperator<T> op,
- final int maxTries) {
+ final int maxTries)
+ {
return converge(op, Object::equals, maxTries);
}
/**
* Return an operator that executes until it converges.
+ *
+ * @param <T> The type the operator is on.
*
* @param op
* The operator to execute.
@@ -81,11 +90,14 @@ public class FuncUtils {
*
* @return The requested operator.
*/
- public static <T> UnaryOperator<T> converge(final UnaryOperator<T> op,
- final BiPredicate<T, T> converged, final int maxTries) {
+ public static <T> UnaryOperator<T> converge(
+ final UnaryOperator<T> op,
+ final BiPredicate<T, T> converged,
+ final int maxTries)
+ {
return val -> {
T newVal = op.apply(val);
- T oldVal;
+ T oldVal = newVal;
int tries = 0;