From aad041a1ccbd2413eed7bfe7ed88895685372f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Thu, 3 Sep 2020 14:41:04 +0200 Subject: [PATCH 01/35] Complement and comment functional interfaces * Implement missing standard methods: - PairPredicateInt#negate - Obj*Function#andThen * Add missing comments to functional interfaces --- .../common/functions/ObjDoubleFunction.java | 51 +++++++++++++++++++ .../src/common/functions/ObjIntFunction.java | 51 +++++++++++++++++++ .../src/common/functions/ObjLongFunction.java | 51 +++++++++++++++++++ .../functions/primitive/PairPredicateInt.java | 19 +++++-- 4 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 prism/src/common/functions/ObjDoubleFunction.java create mode 100644 prism/src/common/functions/ObjIntFunction.java create mode 100644 prism/src/common/functions/ObjLongFunction.java diff --git a/prism/src/common/functions/ObjDoubleFunction.java b/prism/src/common/functions/ObjDoubleFunction.java new file mode 100644 index 0000000000..6cdd6b307f --- /dev/null +++ b/prism/src/common/functions/ObjDoubleFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.Function; + +/** + * Functional interface for a binary function (T, double) -> R. + */ +@FunctionalInterface +public interface ObjDoubleFunction +{ + /** + * Applies this function to the given arguments. + */ + R apply(T t, double d); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default ObjDoubleFunction andThen(Function after) { + Objects.requireNonNull(after); + return (T t, double d) -> after.apply(apply(t, d)); + } +} diff --git a/prism/src/common/functions/ObjIntFunction.java b/prism/src/common/functions/ObjIntFunction.java new file mode 100644 index 0000000000..33cf0fa85f --- /dev/null +++ b/prism/src/common/functions/ObjIntFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.Function; + +/** + * Functional interface for a binary function (T, int) -> R. + */ +@FunctionalInterface +public interface ObjIntFunction +{ + /** + * Applies this function to the given arguments. + */ + R apply(T t, int i); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default ObjIntFunction andThen(Function after) { + Objects.requireNonNull(after); + return (T t, int i) -> after.apply(apply(t, i)); + } +} diff --git a/prism/src/common/functions/ObjLongFunction.java b/prism/src/common/functions/ObjLongFunction.java new file mode 100644 index 0000000000..b774fbce51 --- /dev/null +++ b/prism/src/common/functions/ObjLongFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.Function; + +/** + * Functional interface for a binary function (T, long) -> R. + */ +@FunctionalInterface +public interface ObjLongFunction +{ + /** + * Applies this function to the given arguments. + */ + R apply(T t, long l); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default ObjLongFunction andThen(Function after) { + Objects.requireNonNull(after); + return (T t, long l) -> after.apply(apply(t, l)); + } +} diff --git a/prism/src/common/functions/primitive/PairPredicateInt.java b/prism/src/common/functions/primitive/PairPredicateInt.java index 4c1d8f4ae7..0f17e4ebd7 100644 --- a/prism/src/common/functions/primitive/PairPredicateInt.java +++ b/prism/src/common/functions/primitive/PairPredicateInt.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -27,9 +27,22 @@ package common.functions.primitive; -/** Functional interface for a predicate (int, int) -> boolean */ +/** + * Functional interface for a predicate (int, int) -> boolean. + */ @FunctionalInterface public interface PairPredicateInt { - public abstract boolean test(int element1, int element2); + /** + * Evaluates this predicate on the given arguments. + */ + boolean test(int i, int j); + + /** + * Returns a predicate that represents the logical negation of this predicate. + */ + default PairPredicateInt negate() + { + return (i, j) -> !test(i, j); + } } From 8d9dcc72eff7ace962190a870be98ed1d6bdb217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 18 Sep 2020 17:33:46 +0200 Subject: [PATCH 02/35] Implement new functional interfaces to deal with primitive types --- prism/src/common/Makefile | 2 +- .../functions/DoubleLongToDoubleFunction.java | 39 ++++++++++++++ .../functions/DoubleObjToDoubleFunction.java | 51 +++++++++++++++++++ .../functions/IntDoubleToIntFunction.java | 39 ++++++++++++++ .../functions/IntLongToIntFunction.java | 39 ++++++++++++++ .../common/functions/IntObjToIntFunction.java | 51 +++++++++++++++++++ .../functions/LongDoubleToLongFunction.java | 39 ++++++++++++++ .../functions/LongObjToLongFunction.java | 51 +++++++++++++++++++ .../{primitive => }/PairPredicateInt.java | 2 +- prism/src/explicit/ZeroRewardECQuotient.java | 2 +- .../EquivalenceRelationInteger.java | 2 +- .../modelviews/MDPDroppedChoicesCached.java | 2 +- prism/src/explicit/modelviews/MDPEquiv.java | 2 +- 13 files changed, 315 insertions(+), 6 deletions(-) create mode 100644 prism/src/common/functions/DoubleLongToDoubleFunction.java create mode 100644 prism/src/common/functions/DoubleObjToDoubleFunction.java create mode 100644 prism/src/common/functions/IntDoubleToIntFunction.java create mode 100644 prism/src/common/functions/IntLongToIntFunction.java create mode 100644 prism/src/common/functions/IntObjToIntFunction.java create mode 100644 prism/src/common/functions/LongDoubleToLongFunction.java create mode 100644 prism/src/common/functions/LongObjToLongFunction.java rename prism/src/common/functions/{primitive => }/PairPredicateInt.java (97%) diff --git a/prism/src/common/Makefile b/prism/src/common/Makefile index 115bf5b4ae..b22ca64d73 100644 --- a/prism/src/common/Makefile +++ b/prism/src/common/Makefile @@ -14,7 +14,7 @@ PRISM_DIR_REL = ../.. JNI_GEN_HEADER_DIR=$(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_INCLUDE_DIR)/jni -JAVA_FILES_ALL = $(wildcard *.java iterable/*.java functions/primitive/*.java) +JAVA_FILES_ALL = $(wildcard *.java iterable/*.java functions/*.java) JAVA_FILES = $(subst package-info.java,,$(JAVA_FILES_ALL)) CLASS_FILES = $(JAVA_FILES:%.java=$(PRISM_DIR_REL)/$(PRISM_CLASSES_DIR)/$(THIS_DIR)/%.class) diff --git a/prism/src/common/functions/DoubleLongToDoubleFunction.java b/prism/src/common/functions/DoubleLongToDoubleFunction.java new file mode 100644 index 0000000000..e60702ad91 --- /dev/null +++ b/prism/src/common/functions/DoubleLongToDoubleFunction.java @@ -0,0 +1,39 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +/** + * Functional interface for a binary function (double, long) -> double. + */ +@FunctionalInterface +public interface DoubleLongToDoubleFunction +{ + /** + * Applies this function to the given arguments. + */ + double applyAsDouble(double d, long l); +} diff --git a/prism/src/common/functions/DoubleObjToDoubleFunction.java b/prism/src/common/functions/DoubleObjToDoubleFunction.java new file mode 100644 index 0000000000..5417cdc7c0 --- /dev/null +++ b/prism/src/common/functions/DoubleObjToDoubleFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.DoubleUnaryOperator; + +/** + * Functional interface for a binary function (double, T) -> double. + */ +@FunctionalInterface +public interface DoubleObjToDoubleFunction +{ + /** + * Applies this function to the given arguments. + */ + double applyAsDouble(double d, T t); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default DoubleObjToDoubleFunction andThen(DoubleUnaryOperator after) { + Objects.requireNonNull(after); + return (double d, T t) -> after.applyAsDouble(applyAsDouble(d, t)); + } +} diff --git a/prism/src/common/functions/IntDoubleToIntFunction.java b/prism/src/common/functions/IntDoubleToIntFunction.java new file mode 100644 index 0000000000..3a3f1404c1 --- /dev/null +++ b/prism/src/common/functions/IntDoubleToIntFunction.java @@ -0,0 +1,39 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +/** + * Functional interface for a binary function (int, double) -> int. + */ +@FunctionalInterface +public interface IntDoubleToIntFunction +{ + /** + * Applies this function to the given arguments. + */ + int applyAsInt(int i, double d); +} diff --git a/prism/src/common/functions/IntLongToIntFunction.java b/prism/src/common/functions/IntLongToIntFunction.java new file mode 100644 index 0000000000..fd3bf44389 --- /dev/null +++ b/prism/src/common/functions/IntLongToIntFunction.java @@ -0,0 +1,39 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +/** + * Functional interface for a binary function (int, long) -> int. + */ +@FunctionalInterface +public interface IntLongToIntFunction +{ + /** + * Applies this function to the given arguments. + */ + int applyAsInt(int i, long l); +} diff --git a/prism/src/common/functions/IntObjToIntFunction.java b/prism/src/common/functions/IntObjToIntFunction.java new file mode 100644 index 0000000000..db70e8bae7 --- /dev/null +++ b/prism/src/common/functions/IntObjToIntFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.IntUnaryOperator; + +/** + * Functional interface for a binary function (int, T) -> int. + */ +@FunctionalInterface +public interface IntObjToIntFunction +{ + /** + * Applies this function to the given arguments. + */ + int applyAsInt(int i, T t); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default IntObjToIntFunction andThen(IntUnaryOperator after) { + Objects.requireNonNull(after); + return (int i, T t) -> after.applyAsInt(applyAsInt(i, t)); + } +} diff --git a/prism/src/common/functions/LongDoubleToLongFunction.java b/prism/src/common/functions/LongDoubleToLongFunction.java new file mode 100644 index 0000000000..9196fce233 --- /dev/null +++ b/prism/src/common/functions/LongDoubleToLongFunction.java @@ -0,0 +1,39 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +/** + * Functional interface for a binary function (int, double) -> int. + */ +@FunctionalInterface +public interface LongDoubleToLongFunction +{ + /** + * Applies this function to the given arguments. + */ + long applyAsLong(long l, double i); +} diff --git a/prism/src/common/functions/LongObjToLongFunction.java b/prism/src/common/functions/LongObjToLongFunction.java new file mode 100644 index 0000000000..3bac121046 --- /dev/null +++ b/prism/src/common/functions/LongObjToLongFunction.java @@ -0,0 +1,51 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.functions; + +import java.util.Objects; +import java.util.function.LongUnaryOperator; + +/** + * Functional interface for a binary function (long, T) -> long. + */ +@FunctionalInterface +public interface LongObjToLongFunction +{ + /** + * Applies this function to the given arguments. + */ + long applyAsLong(long i, T t); + + /** + * Returns a composed function that first applies this function to + * its input, and then applies the {@code after} function to the result. + */ + default LongObjToLongFunction andThen(LongUnaryOperator after) { + Objects.requireNonNull(after); + return (long l, T t) -> after.applyAsLong(applyAsLong(l, t)); + } +} diff --git a/prism/src/common/functions/primitive/PairPredicateInt.java b/prism/src/common/functions/PairPredicateInt.java similarity index 97% rename from prism/src/common/functions/primitive/PairPredicateInt.java rename to prism/src/common/functions/PairPredicateInt.java index 0f17e4ebd7..d1b4cb242f 100644 --- a/prism/src/common/functions/primitive/PairPredicateInt.java +++ b/prism/src/common/functions/PairPredicateInt.java @@ -25,7 +25,7 @@ // //============================================================================== -package common.functions.primitive; +package common.functions; /** * Functional interface for a predicate (int, int) -> boolean. diff --git a/prism/src/explicit/ZeroRewardECQuotient.java b/prism/src/explicit/ZeroRewardECQuotient.java index 80a3234a48..dd837e885a 100644 --- a/prism/src/explicit/ZeroRewardECQuotient.java +++ b/prism/src/explicit/ZeroRewardECQuotient.java @@ -30,7 +30,7 @@ import java.util.BitSet; import java.util.List; -import common.functions.primitive.PairPredicateInt; +import common.functions.PairPredicateInt; import common.IterableBitSet; import explicit.graphviz.Decorator; import explicit.graphviz.ShowRewardDecorator; diff --git a/prism/src/explicit/modelviews/EquivalenceRelationInteger.java b/prism/src/explicit/modelviews/EquivalenceRelationInteger.java index e4af3c6615..89dff4a60e 100644 --- a/prism/src/explicit/modelviews/EquivalenceRelationInteger.java +++ b/prism/src/explicit/modelviews/EquivalenceRelationInteger.java @@ -31,7 +31,7 @@ import java.util.HashMap; import java.util.Map; -import common.functions.primitive.PairPredicateInt; +import common.functions.PairPredicateInt; import common.IterableBitSet; /** diff --git a/prism/src/explicit/modelviews/MDPDroppedChoicesCached.java b/prism/src/explicit/modelviews/MDPDroppedChoicesCached.java index 7ebc5dbb13..8d8f752bb8 100644 --- a/prism/src/explicit/modelviews/MDPDroppedChoicesCached.java +++ b/prism/src/explicit/modelviews/MDPDroppedChoicesCached.java @@ -34,7 +34,7 @@ import java.util.Map.Entry; import java.util.Set; -import common.functions.primitive.PairPredicateInt; +import common.functions.PairPredicateInt; import explicit.Distribution; import explicit.MDP; import parser.State; diff --git a/prism/src/explicit/modelviews/MDPEquiv.java b/prism/src/explicit/modelviews/MDPEquiv.java index b3e339604e..b715556da0 100644 --- a/prism/src/explicit/modelviews/MDPEquiv.java +++ b/prism/src/explicit/modelviews/MDPEquiv.java @@ -35,7 +35,7 @@ import java.util.PrimitiveIterator.OfInt; import java.util.Set; -import common.functions.primitive.PairPredicateInt; +import common.functions.PairPredicateInt; import common.iterable.FilteringIterator; import common.IterableBitSet; import common.IterableStateSet; From 815652fc965af4061021685084a2f6bb95cc0c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 22 Sep 2020 16:12:51 +0200 Subject: [PATCH 03/35] Implement interface PrimitiveIterable --- .../common/iterable/PrimitiveIterable.java | 234 ++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 prism/src/common/iterable/PrimitiveIterable.java diff --git a/prism/src/common/iterable/PrimitiveIterable.java b/prism/src/common/iterable/PrimitiveIterable.java new file mode 100644 index 0000000000..6939c2732f --- /dev/null +++ b/prism/src/common/iterable/PrimitiveIterable.java @@ -0,0 +1,234 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Iterator; +import java.util.Objects; +import java.util.PrimitiveIterator; +import java.util.function.DoubleConsumer; +import java.util.function.IntConsumer; +import java.util.function.LongConsumer; + +/** + * A base interface for primitive specializations of {@code Iterable}. + * Specialized sub interfaces are provided for the types {@link OfInt int}, {@link OfLong long} and {@link OfDouble double}. + * + * @param the type of elements hold by this PrimitiveIterable + * @param the type of primitive consumer + * + * @see Iterable + * @see PrimitiveIterator + */ +public interface PrimitiveIterable extends Iterable +{ + /** + * Convert an Iterable<Double> to a PrimitiveIterable.OfDouble by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of PrimitiveIterable.OfDouble. + * + * @param iterable the {@link Iterable}<Double> to extend + * @return a {@link PrimitiveIterable.OfDouble} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterable.OfDouble unboxDouble(Iterable iterable) + { + Objects.requireNonNull(iterable); + + return () -> unboxDouble(iterable.iterator()); + } + + /** + * Convert an Iterator<Double> to a PrimitiveIterator.OfDouble by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of PrimitiveIterator.OfDouble. + * + * @param iterator the {@link Iterator}<Double> to extend + * @return a {@link PrimitiveIterator.OfDouble} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterator.OfDouble unboxDouble(Iterator iterator) + { + Objects.requireNonNull(iterator); + + if (iterator instanceof PrimitiveIterator.OfDouble) { + return (PrimitiveIterator.OfDouble) iterator; + } + + return new PrimitiveIterator.OfDouble() + { + @Override + public boolean hasNext() + { + return iterator.hasNext(); + } + + @Override + public double nextDouble() + { + return iterator.next(); + } + }; + } + + /** + * Convert an Iterable<Integer> to a PrimitiveIterable.OfInt by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of PrimitiveIterable.OfInt. + * + * @param iterable the {@link Iterable}<Integer> to extend + * @return a {@link PrimitiveIterable.OfInt} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterable.OfInt unboxInt(Iterable iterable) + { + Objects.requireNonNull(iterable); + + return () -> unboxInt(iterable.iterator()); + } + + /** + * Convert an Iterator<Integer> to a PrimitiveIterator.OfInt by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of PrimitiveIterator.OfInt. + * + * @param iterator the {@link Iterator}<Integer> to extend + * @return a {@link PrimitiveIterator.OfInt} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterator.OfInt unboxInt(Iterator iterator) + { + Objects.requireNonNull(iterator); + + if (iterator instanceof PrimitiveIterator.OfInt) { + return (PrimitiveIterator.OfInt) iterator; + } + + return new PrimitiveIterator.OfInt() + { + @Override + public boolean hasNext() + { + return iterator.hasNext(); + } + + @Override + public int nextInt() + { + return iterator.next(); + } + }; + } + + /** + * Convert an Iterable<Long> to a PrimitiveIterable.OfLong by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of PrimitiveIterable.OfLong. + * + * @param iterable the {@link Iterable}<Long> to extend + * @return a {@link PrimitiveIterable.OfLong} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterable.OfLong unboxLong(Iterable iterable) + { + Objects.requireNonNull(iterable); + + return () -> unboxLong(iterable.iterator()); + } + + /** + * Convert an Iterator<Long> to a PrimitiveIterator.OfLong by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of PrimitiveIterator.OfLong. + * + * @param iterator the {@link Iterator}<Long> to extend + * @return a {@link PrimitiveIterator.OfLong} that is either the argument or an adaptor on the argument + */ + static PrimitiveIterator.OfLong unboxLong(Iterator iterator) + { + Objects.requireNonNull(iterator); + + if (iterator instanceof PrimitiveIterator.OfLong) { + return (PrimitiveIterator.OfLong) iterator; + } + + return new PrimitiveIterator.OfLong() + { + @Override + public boolean hasNext() + { + return iterator.hasNext(); + } + + @Override + public long nextLong() + { + return iterator.next(); + } + }; + } + + @Override + PrimitiveIterator iterator(); + + /** + * Perform the given action for each element of the receiver. + * + * @see Iterable#forEach(java.util.function.Consumer) + */ + default void forEach(E_CONS action) + { + iterator().forEachRemaining(action); + } + + + + /** + * Specialisation for {@code double} of a PrimitiveIterable. + */ + interface OfDouble extends PrimitiveIterable + { + @Override + PrimitiveIterator.OfDouble iterator(); + } + + + + /** + * Specialisation for {@code int} of a PrimitiveIterable. + */ + interface OfInt extends PrimitiveIterable + { + @Override + PrimitiveIterator.OfInt iterator(); + } + + + + /** + * Specialisation for {@code long} of a PrimitiveIterable. + */ + interface OfLong extends PrimitiveIterable + { + @Override + PrimitiveIterator.OfLong iterator(); + } +} From 4298a08c054008015ed783a31e8f04e5e31b42d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 18 Sep 2020 17:35:16 +0200 Subject: [PATCH 04/35] Implement functional iteration API similar to Streams --- prism/src/common/IterableBitSet.java | 18 +- prism/src/common/IterableStateSet.java | 19 +- prism/src/common/IteratorTools.java | 279 ++++-- prism/src/common/iterable/ArrayIterator.java | 280 ++++++ .../src/common/iterable/ChainedIterable.java | 151 +++ .../src/common/iterable/ChainedIterator.java | 426 ++++++++ prism/src/common/iterable/Distinct.java | 164 ++++ prism/src/common/iterable/EmptyIterable.java | 132 ++- prism/src/common/iterable/EmptyIterator.java | 227 ++++- .../common/iterable/FilteringIterable.java | 194 ++-- .../common/iterable/FilteringIterator.java | 295 +++--- .../common/iterable/FunctionalIterable.java | 271 +++++ .../common/iterable/FunctionalIterator.java | 336 +++++++ .../iterable/FunctionalPrimitiveIterable.java | 570 +++++++++++ .../iterable/FunctionalPrimitiveIterator.java | 749 ++++++++++++++ prism/src/common/iterable/Interval.java | 213 ++++ .../src/common/iterable/IterableAdaptor.java | 165 ++++ prism/src/common/iterable/IterableArray.java | 213 ++++ prism/src/common/iterable/IterableDouble.java | 36 - prism/src/common/iterable/IterableInt.java | 36 - prism/src/common/iterable/IterableLong.java | 36 - .../src/common/iterable/IteratorAdaptor.java | 226 +++++ .../src/common/iterable/MappingIterable.java | 566 +++++++++++ .../src/common/iterable/MappingIterator.java | 666 +++++++++---- .../common/iterable/PrimitiveReducible.java | 922 ++++++++++++++++++ .../src/common/iterable/RangeIntIterable.java | 14 +- prism/src/common/iterable/Reducible.java | 651 +++++++++++++ .../common/iterable/SingletonIterable.java | 197 +++- .../common/iterable/SingletonIterator.java | 251 ++++- prism/src/explicit/DTMC.java | 16 +- .../DTMCFromMDPMemorylessAdversary.java | 2 +- prism/src/explicit/DTMCSparse.java | 11 +- prism/src/explicit/MDP.java | 2 +- prism/src/explicit/Model.java | 2 +- prism/src/explicit/SCCInfo.java | 13 +- prism/src/explicit/SuccessorsIterator.java | 6 +- prism/src/explicit/modelviews/DTMCView.java | 7 +- .../modelviews/MDPDroppedAllChoices.java | 2 +- prism/src/explicit/modelviews/MDPEquiv.java | 12 +- prism/src/explicit/modelviews/ModelView.java | 12 +- prism/src/prism/PrismUtils.java | 6 +- 41 files changed, 7555 insertions(+), 839 deletions(-) create mode 100644 prism/src/common/iterable/ArrayIterator.java create mode 100644 prism/src/common/iterable/ChainedIterable.java create mode 100644 prism/src/common/iterable/ChainedIterator.java create mode 100644 prism/src/common/iterable/Distinct.java create mode 100644 prism/src/common/iterable/FunctionalIterable.java create mode 100644 prism/src/common/iterable/FunctionalIterator.java create mode 100644 prism/src/common/iterable/FunctionalPrimitiveIterable.java create mode 100644 prism/src/common/iterable/FunctionalPrimitiveIterator.java create mode 100644 prism/src/common/iterable/Interval.java create mode 100644 prism/src/common/iterable/IterableAdaptor.java create mode 100644 prism/src/common/iterable/IterableArray.java delete mode 100644 prism/src/common/iterable/IterableDouble.java delete mode 100644 prism/src/common/iterable/IterableInt.java delete mode 100644 prism/src/common/iterable/IterableLong.java create mode 100644 prism/src/common/iterable/IteratorAdaptor.java create mode 100644 prism/src/common/iterable/MappingIterable.java create mode 100644 prism/src/common/iterable/PrimitiveReducible.java create mode 100644 prism/src/common/iterable/Reducible.java diff --git a/prism/src/common/IterableBitSet.java b/prism/src/common/IterableBitSet.java index da2e85bfcf..8e90563a17 100644 --- a/prism/src/common/IterableBitSet.java +++ b/prism/src/common/IterableBitSet.java @@ -2,7 +2,7 @@ // // Copyright (c) 2014- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -30,9 +30,9 @@ import java.util.BitSet; import java.util.NoSuchElementException; import java.util.Objects; -import java.util.PrimitiveIterator.OfInt; -import common.iterable.IterableInt; +import common.iterable.FunctionalPrimitiveIterable; +import common.iterable.FunctionalPrimitiveIterator; /** * Convenience class to loop easily over the set/clear bits of a BitSet. @@ -40,7 +40,7 @@ * For example:

* for (Integer index : getSetBits(set)) { ... }
*/ -public class IterableBitSet implements IterableInt +public class IterableBitSet implements FunctionalPrimitiveIterable.OfInt { protected final BitSet set; protected final boolean clearBits; @@ -92,7 +92,7 @@ public IterableBitSet(BitSet set, Integer maxIndex, boolean clearBits, boolean r } /** Implementation of the iterator over the set bits */ - private class SetBitsIterator implements OfInt + private class SetBitsIterator implements FunctionalPrimitiveIterator.OfInt { private int current = -1; private int next = set.nextSetBit(0); @@ -130,7 +130,7 @@ public void remove() } /** Implementation of the iterator over the set bits (reverse order) */ - private class SetBitsReversedIterator implements OfInt + private class SetBitsReversedIterator implements FunctionalPrimitiveIterator.OfInt { private int current = -1; private int next; @@ -168,7 +168,7 @@ public void remove() } /** Implementation of the iterator over the cleared bits, requires that {@code maxIndex != null} */ - private class ClearBitsIterator implements OfInt + private class ClearBitsIterator implements FunctionalPrimitiveIterator.OfInt { private int current = -1; private int next = set.nextClearBit(0); @@ -206,7 +206,7 @@ public void remove() } /** Implementation of the iterator over the clear bits (reverse order), requires that {@code maxIndex != null} */ - private class ClearBitsReversedIterator implements OfInt + private class ClearBitsReversedIterator implements FunctionalPrimitiveIterator.OfInt { private int current = -1; private int next; @@ -244,7 +244,7 @@ public void remove() } @Override - public OfInt iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { if (clearBits == false) { if (reversed) { diff --git a/prism/src/common/IterableStateSet.java b/prism/src/common/IterableStateSet.java index 86427129c5..e1fb8a5701 100644 --- a/prism/src/common/IterableStateSet.java +++ b/prism/src/common/IterableStateSet.java @@ -3,7 +3,7 @@ // Copyright (c) 2014- // Authors: // * Joachim Klein (TU Dresden) -// * Steffen Märcker (TU Dresden) +// * Steffen Märcker (TU Dresden) // //------------------------------------------------------------------------------ // @@ -25,22 +25,23 @@ // //============================================================================== - package common; import java.util.BitSet; -import java.util.PrimitiveIterator.OfInt; -import common.iterable.*; +import common.iterable.EmptyIterable; +import common.iterable.FunctionalPrimitiveIterable; +import common.iterable.FunctionalPrimitiveIterator; +import common.iterable.RangeIntIterable; /** * A convenience wrapper around IterableBitSet that handles the three cases of * iterating over the set or cleared bits of a BitSet representing a set of states * as well as iterating over all states if the BitSet is {@code null}. */ -public class IterableStateSet implements IterableInt +public class IterableStateSet implements FunctionalPrimitiveIterable.OfInt { - private final IterableInt setOfStates; + protected final FunctionalPrimitiveIterable.OfInt setOfStates; /** * Constructor (iterate over all states 0..numStates-1) @@ -91,7 +92,7 @@ public IterableStateSet(BitSet setOfStates, int numStates, boolean complement, b if (setOfStates == null || (setOfStates.length() == numStates && setOfStates.cardinality() == numStates)) { // all states if (complement) { - this.setOfStates = EmptyIterable.OfInt(); + this.setOfStates = EmptyIterable.ofInt(); } else { this.setOfStates = reversed ? new RangeIntIterable(numStates-1, 0) : new RangeIntIterable(0, numStates-1); } @@ -100,7 +101,7 @@ public IterableStateSet(BitSet setOfStates, int numStates, boolean complement, b if (complement) { this.setOfStates = reversed ? new RangeIntIterable(numStates-1, 0) : new RangeIntIterable(0, numStates-1); } else { - this.setOfStates = EmptyIterable.OfInt(); + this.setOfStates = EmptyIterable.ofInt(); } } else { // build appropriate IterableBitSet with maxIndex = numStates-1 @@ -109,7 +110,7 @@ public IterableStateSet(BitSet setOfStates, int numStates, boolean complement, b } @Override - public OfInt iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { return setOfStates.iterator(); } diff --git a/prism/src/common/IteratorTools.java b/prism/src/common/IteratorTools.java index 24a0e79847..ea4b9e4d74 100644 --- a/prism/src/common/IteratorTools.java +++ b/prism/src/common/IteratorTools.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -28,148 +28,233 @@ package common; import java.util.Iterator; -import java.util.function.DoublePredicate; -import java.util.function.IntPredicate; -import java.util.function.LongPredicate; -import java.util.function.Predicate; - -import common.iterable.FilteringIterator; -import common.iterable.MappingIterator; - +import java.util.OptionalDouble; +import java.util.OptionalInt; +import java.util.OptionalLong; import java.util.PrimitiveIterator.OfDouble; import java.util.PrimitiveIterator.OfInt; import java.util.PrimitiveIterator.OfLong; +import java.util.function.Predicate; -/** Convenience methods for performing operations on Iterators / Iterables */ +import common.iterable.Reducible; + +/** + * Convenience methods for performing operations on Iterators / Iterables + */ public class IteratorTools { - /** Count the number of elements */ - public static int count(final Iterable iterable) + /** + * Boolean AND-function: Are all elements true? + */ + public static boolean and(Iterator booleans) { - return count(iterable.iterator()); + while (booleans.hasNext()) { + if (!booleans.next()) { + return false; + } + } + return true; } - /** Count the number of elements */ - public static int count(final Iterator iterator) + /** + * Boolean OR-function: Is at least one elements true? + */ + public static boolean or(Iterator booleans) { - if (iterator instanceof OfInt) { - return count((OfInt) iterator); - } - if (iterator instanceof OfLong) { - return count((OfLong) iterator); - } - if (iterator instanceof OfDouble) { - return count((OfDouble) iterator); + while (booleans.hasNext()) { + if (booleans.next()) { + return true; + } } + return false; + } - int count=0; - for (; iterator.hasNext(); iterator.next()) { - count++; - } - return count; + /** + * Count the number of elements + */ + public static long count(Iterable iterable) + { + return Reducible.extend(iterable).count(); } - /** Count the number of elements */ - public static int count(final OfInt iterator) + /** + * Count the number of elements + */ + public static long count(Iterator iterator) { - // call nextInt to avoid unnecessary boxing - int count=0; - for (; iterator.hasNext(); iterator.nextInt()) { - count++; - } - return count; + return Reducible.extend(iterator).count(); } - /** Count the number of elements */ - public static int count(final OfLong iterator) + /** + * Count the number of elements + */ + public static long count(Iterable iterable, Predicate predicate) { - // call nextLong to avoid unnecessary boxing - int count=0; - for (; iterator.hasNext(); iterator.nextLong()) { - count++; - } - return count; + return Reducible.extend(iterable).count(predicate); } - /** Count the number of elements */ - public static int count(final OfDouble iterator) + /** + * Count the number of elements + */ + public static long count(Iterator iterator, Predicate predicate) { - // call nextDouble to avoid unnecessary boxing - int count=0; - for (; iterator.hasNext(); iterator.nextDouble()) { - count++; - } - return count; + return Reducible.extend(iterator).count(predicate); } - /** Count the number of elements matching the predicate */ - public static int count(final Iterable iterable, final Predicate predicate) + /** + * Maximum over iterator elements + */ + public static OptionalDouble max(OfDouble numbers) { - return count(iterable.iterator(), predicate); + return Reducible.extend(numbers).max(); } - /** Count the number of elements matching the predicate */ - public static int count(final Iterator iterator, final Predicate predicate) + /** + * Maximum over iterator elements + */ + public static OptionalInt max(OfInt numbers) { - if (iterator instanceof OfInt && predicate instanceof IntPredicate) { - return count(new FilteringIterator.OfInt((OfInt) iterator, (IntPredicate) predicate)); - } - if (iterator instanceof OfLong && predicate instanceof LongPredicate) { - return count(new FilteringIterator.OfLong((OfLong) iterator, (LongPredicate) predicate)); - } - if (iterator instanceof OfDouble && predicate instanceof DoublePredicate) { - return count(new FilteringIterator.OfDouble((OfDouble) iterator, (DoublePredicate) predicate)); - } + return Reducible.extend(numbers).max(); + } - return count(new FilteringIterator.Of<>(iterator, predicate)); + /** + * Maximum over iterator elements + */ + public static OptionalLong max(OfLong numbers) + { + return Reducible.extend(numbers).max(); } - /** Sum over iterator elements */ - public static int sumInt(final Iterator numbers) + /** + * Maximum over non-null iterator elements + */ + public static OptionalDouble maxDouble(Iterator numbers) { - return sum(MappingIterator.toInt(numbers)); + return Reducible.unboxDouble(Reducible.extend(numbers).nonNull()).max(); } - /** Sum over iterator elements */ - public static int sum(final OfInt numbers) + /** + * Maximum over non-null iterator elements + */ + public static OptionalInt maxInt(Iterator numbers) { - int sum = 0; - while (numbers.hasNext()) { - sum += numbers.nextInt(); - } - return sum; + return Reducible.unboxInt(Reducible.extend(numbers).nonNull()).max(); } - /** Sum over iterator elements */ - public static long sumLong(final Iterator numbers) + /** + * Maximum over non-null iterator elements + */ + public static OptionalLong maxLong(Iterator numbers) { - return sum(MappingIterator.toLong(numbers)); + return Reducible.unboxLong(Reducible.extend(numbers).nonNull()).max(); } - /** Sum over iterator elements */ - public static long sum(final OfLong numbers) + /** + * Minimum over iterator elements + */ + public static OptionalDouble min(OfDouble numbers) { - long sum = 0; - while (numbers.hasNext()) { - sum += numbers.nextLong(); - } - return sum; + return Reducible.extend(numbers).min(); } - /** Sum over iterator elements */ - public static double sumDouble(final Iterator numbers) + /** + * Minimum over iterator elements + */ + public static OptionalInt min(OfInt numbers) { - return sum(MappingIterator.toDouble(numbers)); + return Reducible.extend(numbers).min(); } - /** Sum over iterator elements */ - public static double sum(final OfDouble numbers) + /** + * Minimum over iterator elements + */ + public static OptionalLong min(OfLong numbers) { - double sum = 0; - while (numbers.hasNext()) { - sum += numbers.nextDouble(); - } - return sum; + return Reducible.extend(numbers).min(); + } + + /** + * Minimum over non-null iterator elements + */ + public static OptionalDouble minDouble(Iterator numbers) + { + return Reducible.unboxDouble(Reducible.extend(numbers).nonNull()).min(); } + /** + * Minimum over non-null iterator elements + */ + public static OptionalInt minInt(Iterator numbers) + { + return Reducible.unboxInt(Reducible.extend(numbers).nonNull()).min(); + } + + /** + * Minimum over non-null iterator elements + */ + public static OptionalLong minLong(Iterator numbers) + { + return Reducible.unboxLong(Reducible.extend(numbers).nonNull()).min(); + } + + /** + * Sum over iterator elements + */ + public static double sum(OfDouble numbers) + { + return Reducible.extend(numbers).sum(); + } + + /** + * Sum over iterator elements + */ + public static long sum(OfInt numbers) + { + return Reducible.extend(numbers).sum(); + } + + /** + * Sum over iterator elements + */ + public static long sum(OfLong numbers) + { + return Reducible.extend(numbers).sum(); + } + + /** + * Sum over non-null iterator elements + */ + public static double sumDouble(Iterator numbers) + { + return Reducible.unboxDouble(Reducible.extend(numbers).nonNull()).sum(); + } + + /** + * Sum over non-null iterator elements + */ + public static long sumInt(Iterator numbers) + { + return Reducible.unboxInt(Reducible.extend(numbers).nonNull()).sum(); + } + + /** + * Sum over non-null iterator elements + */ + public static long sumLong(Iterator numbers) + { + return Reducible.unboxLong(Reducible.extend(numbers).nonNull()).sum(); + } + + /** + * Create String "name = {e_1, e_2}". + * + * @param name name of a variable + * @param iterator the iterator to be printed + */ + public static void printIterator(String name, Iterator iterator) + { + System.out.print(name + " = "); + System.out.print(Reducible.extend(iterator).asString()); + System.out.println(); + } } diff --git a/prism/src/common/iterable/ArrayIterator.java b/prism/src/common/iterable/ArrayIterator.java new file mode 100644 index 0000000000..5182034c45 --- /dev/null +++ b/prism/src/common/iterable/ArrayIterator.java @@ -0,0 +1,280 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// * Marcus Daum (Frauenhofer Institut) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Objects; + +/** + * Abstract base class of efficient Iterators over array slices. + * Implementations should release the underlying array after iteration. + * + * @param type of the array elements + */ +public abstract class ArrayIterator implements FunctionalIterator +{ + protected final int toIndex; + protected int nextIndex; + + /** + * Iterate over all elements in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + * @param length length of the array + */ + protected ArrayIterator(int fromIndex, int toIndex, int length) + { + Objects.checkFromToIndex(fromIndex, toIndex, length); + this.nextIndex = fromIndex; + this.toIndex = toIndex; + } + + @Override + public boolean hasNext() + { + if (nextIndex < toIndex) { + return true; + } + release(); + return false; + } + + @Override + public long count() + { + return Math.max(0, toIndex - nextIndex); + } + + /** + * Get the index of the next element. + */ + public int nextIndex() + { + requireNext(); + return nextIndex; + } + + /** + * Release reference to the underlying array. + */ + @Override + public void release() + { + nextIndex = toIndex; + } + + /** + * Generic implementation of an Iterator over an array slice. + * + * @param type of the array elements + */ + public static class Of extends ArrayIterator + { + /** Placeholder array after Iterator is exhausted */ + public static final Object[] EMPTY_OBJECT = new Object[0]; + + protected E[] elements; + + /** + * Iterate over all elements. + */ + @SafeVarargs + public Of(E... elements) + { + this(elements, 0, elements.length); + } + + /** + * Iterate over all elements in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public Of(E[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public E next() + { + requireNext(); + return elements[nextIndex++]; + } + + @SuppressWarnings("unchecked") + @Override + public void release() + { + super.release(); + elements = (E[]) EMPTY_OBJECT; + } + } + + + + /** + * Primitive specialisation for {@code double} of an Iterator over an array slice. + */ + public static class OfDouble extends ArrayIterator implements FunctionalPrimitiveIterator.OfDouble + { + /** Placeholder array after Iterator is exhausted */ + public static final double[] EMPTY_DOUBLE = new double[0]; + + protected double[] elements; + + /** + * Iterate over all elements. + */ + public OfDouble(double... elements) + { + this(elements, 0, elements.length); + } + + /** + * Iterate over all elements in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public OfDouble(double[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public double nextDouble() + { + requireNext(); + return elements[nextIndex++]; + } + + @Override + public void release() + { + super.release(); + elements = EMPTY_DOUBLE; + } + } + + + + /** + * Primitive specialisation for {@code int} of an Iterator over an array slice. + */ + public static class OfInt extends ArrayIterator implements FunctionalPrimitiveIterator.OfInt + { + /** Placeholder array after Iterator is exhausted */ + public static final int[] EMPTY_INT = new int[0]; + + protected int[] elements; + + /** + * Iterate over all elements. + */ + public OfInt(int... elements) + { + this(elements, 0, elements.length); + } + + /** + * Iterate over all elements in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public OfInt(int[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public int nextInt() + { + requireNext(); + return elements[nextIndex++]; + } + + @Override + public void release() + { + super.release(); + elements = EMPTY_INT; + } + } + + + + /** + * Primitive specialisation for {@code long} of an Iterator over an array slice. + */ + public static class OfLong extends ArrayIterator implements FunctionalPrimitiveIterator.OfLong + { + /** Placeholder array after Iterator is exhausted */ + public static final long[] EMPTY_LONG = new long[0]; + + protected long[] elements; + + /** + * Iterate over all elements. + */ + public OfLong(long... elements) + { + this(elements, 0, elements.length); + } + + /** + * Iterate over all elements in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public OfLong(long[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public long nextLong() + { + requireNext(); + return elements[nextIndex++]; + } + + @Override + public void release() + { + super.release(); + elements = EMPTY_LONG; + } + } +} diff --git a/prism/src/common/iterable/ChainedIterable.java b/prism/src/common/iterable/ChainedIterable.java new file mode 100644 index 0000000000..28b6868dbd --- /dev/null +++ b/prism/src/common/iterable/ChainedIterable.java @@ -0,0 +1,151 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Objects; + +/** + * Abstract base class for Iterables that chain a sequence of Iterables. + * + * @param type of the Iterator's elements + * @param type of the underlying Iterables + */ +public abstract class ChainedIterable> implements FunctionalIterable +{ + /** The Iterable over the sequence of Iterables that are chained */ + protected final FunctionalIterable iterables; + + /** + * Constructor for an Iterable that chains Iterables provided in an Iterable. + * + * @param iterables an Iterable of Iterables to be chained + */ + public ChainedIterable(Iterable iterables) + { + Objects.requireNonNull(iterables); + this.iterables = Reducible.extend(iterables); + } + + + + /** + * Generic implementation of a chained Iterable. + * + * @param type of the Iterable's elements + */ + public static class Of extends ChainedIterable> + { + /** + * Constructor for an Iterable that chains Iterables provided in an Iterable. + * + * @param iterables an Iterable of Iterables to be chained + */ + @SuppressWarnings("unchecked") + public Of(Iterable> iterables) + { + super((Iterable>) iterables); + } + + @Override + public FunctionalIterator iterator() + { + return new ChainedIterator.Of<>(iterables.map(Iterable::iterator).iterator()); + } + } + + + + /** + * Primitive specialisation for {@code double} of a chained Iterable. + */ + public static class OfDouble extends ChainedIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** + * Constructor for an Iterable that chains Iterables provided in an Iterable. + * + * @param iterables an Iterable of Iterables to be chained + */ + public OfDouble(Iterable iterables) + { + super(iterables); + } + + @Override + public FunctionalPrimitiveIterator.OfDouble iterator() + { + return new ChainedIterator.OfDouble(iterables.map(PrimitiveIterable.OfDouble::iterator).iterator()); + } + } + + + + /** + * Primitive specialisation for {@code int} of a chained Iterable. + */ + public static class OfInt extends ChainedIterable implements FunctionalPrimitiveIterable.OfInt + { + /** + * Constructor for an Iterable that chains Iterables provided in an Iterable. + * + * @param iterables an Iterable of Iterables to be chained + */ + public OfInt(Iterable iterables) + { + super(iterables); + } + + @Override + public FunctionalPrimitiveIterator.OfInt iterator() + { + return new ChainedIterator.OfInt(iterables.map(PrimitiveIterable.OfInt::iterator).iterator()); + } + } + + + + /** + * Primitive specialisation for {@code long} of a chained Iterable. + */ + public static class OfLong extends ChainedIterable implements FunctionalPrimitiveIterable.OfLong + { + /** + * Constructor for an Iterable that chains Iterables provided in an Iterable. + * + * @param iterables an Iterable of Iterables to be chained + */ + public OfLong(Iterable iterables) + { + super(iterables); + } + + @Override + public FunctionalPrimitiveIterator.OfLong iterator() + { + return new ChainedIterator.OfLong(iterables.map(PrimitiveIterable.OfLong::iterator).iterator()); + } + } +} \ No newline at end of file diff --git a/prism/src/common/iterable/ChainedIterator.java b/prism/src/common/iterable/ChainedIterator.java new file mode 100644 index 0000000000..ddc009a060 --- /dev/null +++ b/prism/src/common/iterable/ChainedIterator.java @@ -0,0 +1,426 @@ +//============================================================================== +// +// Copyright (c) 2015- +// Authors: +// * Steffen Maercker (TU Dresden) +// * Joachim Klein (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Iterator; +import java.util.Objects; +import java.util.OptionalDouble; +import java.util.OptionalInt; +import java.util.OptionalLong; +import java.util.PrimitiveIterator; + +/** + * Abstract base class implementing an Iterator that chains a sequence of Iterators. + * Returns all the elements of the first Iterator, then the elements of the + * second Iterator and so on. + *

+ * The calls to {@code next()} of the underlying Iterator happen on-the-fly, + * i.e., only when {@code next()} is called for this Iterator. + *

+ * Implementations should release the underlying Iterators after iteration. + *

+ * This Iterator does not support the {@code remove()} method, even if the underlying + * Iterators support it. + * + * @param type of the {@link Iterator}'s elements + * @param common super type of {@link FunctionalIterator} for all Iterators in the chain + */ +public abstract class ChainedIterator> implements FunctionalIterator +{ + /** The Iterator over the sequence of Iterators that are chained */ + protected FunctionalIterator iterators; + /** The current Iterator in the sequence of Iterators */ + protected I current; + + /** + * Constructor for an Iterator that chains Iterators provided in an Iterator. + * + * @param iterators an Iterator over Iterators to be chained + */ + public ChainedIterator(Iterator>iterators) + { + this(EmptyIterator.of(), iterators); + } + + /** + * Constructor for chaining an Iterator and a number of Iterators provided in an Iterator. + * + * @param iterator an Iterator to prepend the chain + * @param iterators an Iterator over Iterators to be chained + */ + @SuppressWarnings({ "unchecked"}) + public ChainedIterator(Iterator iterator, Iterator> iterators) + { + Objects.requireNonNull(iterator); + Objects.requireNonNull(iterators); + this.current = (I) Reducible.extend(iterator); + this.iterators = (FunctionalIterator) Reducible.extend(iterators).map(Reducible::extend); + hasNext(); + } + + @Override + public boolean hasNext() + { + if (current.hasNext()) { + // the current iterator has another element + return true; + } + + // the current iterator has no more elements, + // search for the next iterator that as an element + while (iterators.hasNext()) { + // consider the next iterator + current = iterators.next(); + if (current.hasNext()) { + // iterator has element, keep current and return true + return true; + } + } + // there are no more iterators / elements + release(); + return false; + } + + @Override + public long count() + { + long count = current.count() + iterators.mapToLong(FunctionalIterator::count).sum(); + release(); + return count; + } + + @Override + public void release() + { + iterators = EmptyIterator.of(); + } + + + + /** + * Generic implementation of a chained Iterator. + * + * @param type of the Iterator's elements + */ + public static class Of extends ChainedIterator> + { + /** + * Constructor for an Iterator that chains Iterators provided in an Iterator. + * + * @param iterators an Iterator over Iterators to be chained + */ + @SuppressWarnings("unchecked") + public Of(Iterator> iterators) + { + super((Iterator>) iterators); + } + + /** + * Constructor for chaining an Iterator and a number of Iterators provided in an Iterator. + * + * @param iterator an Iterator to prepend the chain + * @param iterators an Iterator over Iterators to be chained + */ + @SuppressWarnings("unchecked") + public Of(Iterator iterator, Iterator> iterators) + { + super((Iterator) iterator, (Iterator>) iterators); + } + + @Override + public E next() + { + requireNext(); + return current.next(); + } + + @Override + public boolean contains(Object obj) + { + boolean contains = current.contains(obj) || iterators.anyMatch(it -> it.contains(obj)); + release(); + return contains; + } + + @Override + public void release() + { + super.release(); + current = EmptyIterator.of(); + } + } + + + + /** + * Primitive specialisation for {@code double} of a chained Iterator. + */ + public static class OfDouble extends ChainedIterator implements FunctionalPrimitiveIterator.OfDouble + { + /** + * Constructor for an Iterator that chains Iterators provided in an Iterator. + * + * @param iterators an Iterator over Iterators to be chained + */ + public OfDouble(Iterator iterators) + { + super(iterators); + } + + /** + * Constructor for chaining an Iterator and a number of Iterators provided in an Iterator. + * + * @param iterator an Iterator to prepend the chain + * @param iterators an Iterator over Iterators to be chained + */ + public OfDouble(PrimitiveIterator.OfDouble iterator, Iterator iterators) + { + super(iterator, iterators); + } + + @Override + public double nextDouble() + { + requireNext(); + return current.nextDouble(); + } + + @Override + public boolean contains(double d) + { + boolean result = current.contains(d) || iterators.anyMatch(it -> it.contains(d)); + release(); + return result; + } + + @Override + public OptionalDouble max() + { + if (!hasNext()) { + return OptionalDouble.empty(); + } + double max = current.max().getAsDouble(); + max = iterators.reduce(max, (m, it) -> Math.max(m, it.max().orElse(m))); + release(); + return OptionalDouble.of(max); + } + + @Override + public OptionalDouble min() + { + if (!hasNext()) { + return OptionalDouble.empty(); + } + double min = current.min().getAsDouble(); + min = iterators.reduce(min, (m, it) -> Math.min(m, it.min().orElse(m))); + release(); + return OptionalDouble.of(min); + } + + @Override + public double sum() + { + double sum = iterators.reduce(current.sum(), (s, it) -> s + it.sum()); + release(); + return sum; + } + + @Override + public void release() + { + super.release(); + current = EmptyIterator.ofDouble(); + } + } + + + + /** + * Primitive specialisation for {@code int} of a chained Iterator. + */ + public static class OfInt extends ChainedIterator implements FunctionalPrimitiveIterator.OfInt + { + /** + * Constructor for an Iterator that chains Iterators provided in an Iterator. + * + * @param iterators an Iterator over Iterators to be chained + */ + public OfInt(Iterator iterators) + { + super(iterators); + } + + /** + * Constructor for chaining an Iterator and a number of Iterators provided in an Iterator. + * + * @param iterator an Iterator to prepend the chain + * @param iterators an Iterator over Iterators to be chained + */ + public OfInt(PrimitiveIterator.OfInt iterator, Iterator iterators) + { + super(iterator, iterators); + } + + @Override + public int nextInt() + { + requireNext(); + return current.nextInt(); + } + + @Override + public boolean contains(int i) + { + boolean result = current.contains(i) || iterators.anyMatch(it -> it.contains(i)); + release(); + return result; + } + + @Override + public OptionalInt max() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + int max = current.max().getAsInt(); + max = iterators.reduce(max, (int m, FunctionalPrimitiveIterator.OfInt it) -> Math.max(m, it.max().orElse(m))); + release(); + return OptionalInt.of(max); + } + + @Override + public OptionalInt min() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + int min = current.min().getAsInt(); + min = iterators.reduce(min, (int m, FunctionalPrimitiveIterator.OfInt it) -> Math.min(m, it.min().orElse(m))); + release(); + return OptionalInt.of(min); + } + + @Override + public long sum() + { + long sum = iterators.reduce(current.sum(), (long s, FunctionalPrimitiveIterator.OfInt it) -> s + it.sum()); + release(); + return sum; + } + + @Override + public void release() + { + super.release(); + current = EmptyIterator.ofInt(); + } + } + + + + /** + * Primitive specialisation for {@code long} of a chained iterator. + */ + public static class OfLong extends ChainedIterator implements FunctionalPrimitiveIterator.OfLong + { + /** + * Constructor for an Iterator that chains Iterators provided in an Iterator. + * + * @param iterators an Iterator over Iterators to be chained + */ + public OfLong(Iterator iterators) + { + super(iterators); + } + + /** + * Constructor for chaining an Iterator and a number of Iterators provided in an Iterator. + * + * @param iterator an Iterator to prepend the chain + * @param iterators an Iterator over Iterators to be chained + */ + public OfLong(PrimitiveIterator.OfLong iterator, Iterator iterators) + { + super(iterator, iterators); + } + + @Override + public long nextLong() + { + requireNext(); + return current.nextLong(); + } + + @Override + public boolean contains(long l) + { + boolean result = current.contains(l) || iterators.anyMatch(it -> it.contains(l)); + release(); + return result; + } + + @Override + public OptionalLong max() + { + if (!hasNext()) { + return OptionalLong.empty(); + } + long max = current.max().getAsLong(); + max = iterators.reduce(max, (long m, FunctionalPrimitiveIterator.OfLong it) -> Math.max(m, it.max().orElse(m))); + release(); + return OptionalLong.of(max); + } + + @Override + public OptionalLong min() + { + if (!hasNext()) { + return OptionalLong.empty(); + } + long min = current.min().getAsLong(); + min = iterators.reduce(min, (long m, FunctionalPrimitiveIterator.OfLong it) -> Math.min(m, it.min().orElse(m))); + release(); + return OptionalLong.of(min); + } + + @Override + public long sum() + { + long sum = iterators.reduce(current.sum(), (long s, FunctionalPrimitiveIterator.OfLong it) -> s + it.sum()); + release(); + return sum; + } + + @Override + public void release() + { + super.release(); + current = EmptyIterator.ofLong(); + } + } +} diff --git a/prism/src/common/iterable/Distinct.java b/prism/src/common/iterable/Distinct.java new file mode 100644 index 0000000000..7ca672f3ea --- /dev/null +++ b/prism/src/common/iterable/Distinct.java @@ -0,0 +1,164 @@ +//============================================================================== +// +// Copyright (c) 2020- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.HashSet; +import java.util.Set; +import java.util.function.DoublePredicate; +import java.util.function.IntPredicate; +import java.util.function.LongPredicate; +import java.util.function.Predicate; + +/** + * Mutable predicate that tells whether it encounters an element the first time or not. + * + * @param the type of the objects this predicate tests + */ +public abstract class Distinct +{ + protected final Set seen = new HashSet<>(); + + /** + * Answer whether the element has not been seen yet. + * + * @param element the element to be tested + * @return true iff the element has not been seen yet + */ + protected boolean isUnseen(E element) + { + return seen.add(element); + } + + /** + * Answer the elements that have already been seen. + */ + public abstract FunctionalIterable getSeen(); + + + + /** + * Mutable predicate for {@code Object} that tells whether it encounters an element the first time or not. + * Elements are identified in terms of {@link Object#equals(Object)} which requires to be accompanied by a matching {@link Object#hashCode()} implementation. + * This implementation uses a {@code HashSet} to store the elements it has already seen. + * + * @param the type of the objects this predicate tests + */ + public static class Of extends Distinct implements Predicate + { + @Override + public boolean test(E element) + { + return super.isUnseen(element); + } + + @Override + public FunctionalIterable getSeen() + { + return Reducible.extend(seen); + } + + } + + + + /** + * Mutable predicate for {@code double} that tells whether it encounters an element the first time or not. + * Elements are identified in terms of {@link ==} except for {@code NaN} for which all instances are consider equal, although {@code Double.NaN != Double.NaN}. + * This implementation uses a {@code HashSet} to store the elements it has already seen. + */ + public static class OfDouble extends Distinct implements DoublePredicate + { + boolean zeroSeen = false; + + @Override + public boolean test(double value) + { + if (value == 0.0) { + // Circumvent HashSet considering +0.0 != -0.0 + if (zeroSeen) { + return false; + } else { + zeroSeen = true; + seen.add(value); + return true; + } + } + // HashSet considers two Double.NaN instances to be equal + return super.isUnseen(value); + } + + @Override + public FunctionalPrimitiveIterable.OfDouble getSeen() + { + return Reducible.unboxDouble(seen); + } + } + + + + /** + * Mutable predicate for {@code int} that tells whether it encounters an element the first time or not. + * Elements are identified in terms of {@link ==}. + * This implementation uses a {@code HashSet} to store the elements it has already seen. + */ + public static class OfInt extends Distinct implements IntPredicate + { + @Override + public boolean test(int value) + { + return super.isUnseen(value); + } + + @Override + public FunctionalPrimitiveIterable.OfInt getSeen() + { + return Reducible.unboxInt(seen); + } + } + + + + /** + * Mutable predicate for {@code long} that tells whether it encounters an element the first time or not. + * Elements are identified in terms of {@link ==}. + * This implementation uses a {@code HashSet} to store the elements it has already seen. + */ + public static class OfLong extends Distinct implements LongPredicate + { + @Override + public boolean test(long value) + { + return super.isUnseen(value); + } + + @Override + public FunctionalPrimitiveIterable.OfLong getSeen() + { + return Reducible.unboxLong(seen); + } + } +} diff --git a/prism/src/common/iterable/EmptyIterable.java b/prism/src/common/iterable/EmptyIterable.java index 31b66316e7..5cef8008bc 100644 --- a/prism/src/common/iterable/EmptyIterable.java +++ b/prism/src/common/iterable/EmptyIterable.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -25,75 +25,139 @@ // //============================================================================== - package common.iterable; -import java.util.Iterator; - /** - * Base class for Iterables returning empty iterators, - * static helpers for common primitive iterators. + * Abstract base class for empty Iterables. + * The four natural implementations (generic, double, int, and long) + * are implemented as Singletons and their instances accessible by a static method. + * + * @param type of the Iterable's elements */ -public abstract class EmptyIterable implements Iterable +public abstract class EmptyIterable implements FunctionalIterable { - private static final Of OF = new Of<>(); - private static final OfInt OF_INT = new OfInt(); - private static final OfDouble OF_DOUBLE = new OfDouble(); - + /** + * Get unique instance for elements of a generic type. + * + * @param type of the Iterable's elements + */ @SuppressWarnings("unchecked") - public static Of Of() { - return (Of) OF; + public static Of of() + { + return (Of) Of.OF; } - public static OfInt OfInt() { - return OF_INT; + /** + * Get unique instance for {@code double} elements. + */ + public static OfDouble ofDouble() + { + return OfDouble.OF_DOUBLE; } - public static OfDouble OfDouble() { - return OF_DOUBLE; + /** + * Get unique instance for {@code int} elements. + */ + public static OfInt ofInt() + { + return OfInt.OF_INT; } - public static class Of extends EmptyIterable + /** + * Get unique instance for {@code long} elements. + */ + public static OfLong ofLong() { - private Of() {}; + return OfLong.OF_LONG; + } + + + + /** + * Generic implementation of an empty Iterable as Singleton. + * + * @param type of the Iterable's elements + */ + public static class Of extends EmptyIterable + { + /** Singleton instance elements of a generic type */ + private static final Of OF = new Of<>(); + + /** + * Private constructor for the Singleton instance. + */ + private Of() {} @Override - public Iterator iterator() + public EmptyIterator.Of iterator() { - return EmptyIterator.Of(); + return EmptyIterator.of(); } } - public static class OfInt extends EmptyIterable implements IterableInt + + + /** + * Primitive specialisation for {@code double} of an empty Iterable as Singleton. + */ + public static class OfDouble extends EmptyIterable implements FunctionalPrimitiveIterable.OfDouble { - private OfInt() {}; + /** Singleton instance for {@code double} elements */ + private static final EmptyIterable.OfDouble OF_DOUBLE = new EmptyIterable.OfDouble(); + /** + * Private constructor for the Singleton instance. + */ + private OfDouble() {} + @Override - public EmptyIterator.OfInt iterator() + public EmptyIterator.OfDouble iterator() { - return EmptyIterator.OfInt(); + return EmptyIterator.ofDouble(); } } - public static class OfLong extends EmptyIterable implements IterableLong + + + /** + * Primitive specialisation for {@code int} of an empty Iterable as Singleton. + */ + public static class OfInt extends EmptyIterable implements FunctionalPrimitiveIterable.OfInt { - private OfLong() {}; + /** Singleton instance for {@code int} elements */ + private static final EmptyIterable.OfInt OF_INT = new EmptyIterable.OfInt(); + + /** + * Private constructor for the Singleton instance. + */ + private OfInt() {} @Override - public EmptyIterator.OfLong iterator() + public EmptyIterator.OfInt iterator() { - return EmptyIterator.OfLong(); + return EmptyIterator.ofInt(); } } - public static class OfDouble extends EmptyIterable implements IterableDouble + + + /** + * Primitive specialisation for {@code long} of an empty Iterable as Singleton. + */ + public static class OfLong extends EmptyIterable implements FunctionalPrimitiveIterable.OfLong { - private OfDouble() {}; + /** Singleton instance for {@code long} elements*/ + private static final EmptyIterable.OfLong OF_LONG = new EmptyIterable.OfLong(); + + /** + * Private constructor for the Singleton instance. + */ + private OfLong() {} @Override - public EmptyIterator.OfDouble iterator() + public EmptyIterator.OfLong iterator() { - return EmptyIterator.OfDouble(); + return EmptyIterator.ofLong(); } } -} +} \ No newline at end of file diff --git a/prism/src/common/iterable/EmptyIterator.java b/prism/src/common/iterable/EmptyIterator.java index c468648e4d..2c0e3d5673 100644 --- a/prism/src/common/iterable/EmptyIterator.java +++ b/prism/src/common/iterable/EmptyIterator.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -27,36 +27,53 @@ package common.iterable; -import java.util.Iterator; import java.util.NoSuchElementException; -import java.util.PrimitiveIterator; +import java.util.OptionalDouble; +import java.util.OptionalInt; +import java.util.OptionalLong; /** - * Base class for empty Iterators, - * static helpers for common primitive iterators. + * Abstract base class for empty Iterators. + * The four natural implementations (generic, double, int, and long) + * are implemented as Singletons and their instances accessible by a static method. + * + * @param type of the Iterator's elements */ -public abstract class EmptyIterator implements Iterator +public abstract class EmptyIterator implements FunctionalIterator { - private static final Of OF = new Of<>(); - private static final OfInt OF_INT = new OfInt(); - private static final OfLong OF_LONG = new OfLong(); - private static final OfDouble OF_DOUBLE = new OfDouble(); - + /** + * Get unique instance for elements of a generic type. + * + * @param type of the Iterator's elements + */ @SuppressWarnings("unchecked") - public static Of Of() { - return (Of) OF; + public static Of of() + { + return (Of) Of.OF; } - public static OfInt OfInt() { - return OF_INT; + /** + * Get unique instance for {@code double} elements. + */ + public static OfDouble ofDouble() + { + return OfDouble.OF_DOUBLE; } - public static OfLong OfLong() { - return OF_LONG; + /** + * Get unique instance for {@code int} elements. + */ + public static OfInt ofInt() + { + return OfInt.OF_INT; } - public static OfDouble OfDouble() { - return OF_DOUBLE; + /** + * Get unique instance for {@code long} elements. + */ + public static OfLong ofLong() + { + return OfLong.OF_LONG; } @Override @@ -65,47 +82,195 @@ public boolean hasNext() return false; } - public static class Of extends EmptyIterator + @Override + public EmptyIterator dedupe() + { + return this; + } + + @Override + public EmptyIterator distinct() { - private Of() {}; + return this; + } + + + + /** + * Generic implementation of an empty Iterator as Singleton. + * + * @param type of the Iterator's elements + */ + public static class Of extends EmptyIterator + { + /** Singleton instance elements of a generic type */ + private static final Of OF = new Of<>(); + + /** + * Private constructor for the Singleton instance. + */ + private Of() {} @Override - public T next() + public E next() { throw new NoSuchElementException(); } } - public static class OfInt extends EmptyIterator implements PrimitiveIterator.OfInt + + + /** + * Primitive specialisation for {@code double} of an empty Iterator as Singleton. + */ + public static class OfDouble extends EmptyIterator implements FunctionalPrimitiveIterator.OfDouble { - private OfInt() {}; + /** Singleton instance for {@code double} elements */ + private static final EmptyIterator.OfDouble OF_DOUBLE = new EmptyIterator.OfDouble(); + + /** + * Private constructor for the Singleton instance. + */ + private OfDouble() {} @Override - public int nextInt() + public double nextDouble() { throw new NoSuchElementException(); } + + @Override + public EmptyIterator.OfDouble dedupe() + { + return this; + } + + @Override + public EmptyIterator.OfDouble distinct() + { + return this; + } + + @Override + public OptionalDouble max() + { + return OptionalDouble.empty(); + } + + @Override + public OptionalDouble min() + { + return max(); + } + + @Override + public double sum() + { + return 0.0; + } } - public static class OfLong extends EmptyIterator implements PrimitiveIterator.OfLong + + + /** + * Primitive specialisation for {@code int} of an empty Iterator as Singleton. + */ + public static class OfInt extends EmptyIterator implements FunctionalPrimitiveIterator.OfInt { - private OfLong() {}; + /** Singleton instance for {@code int} elements */ + private static final EmptyIterator.OfInt OF_INT = new EmptyIterator.OfInt(); + + /** + * Private constructor for the Singleton instance. + */ + private OfInt() {} @Override - public long nextLong() + public int nextInt() { throw new NoSuchElementException(); } + + @Override + public EmptyIterator.OfInt dedupe() + { + return this; + } + + @Override + public EmptyIterator.OfInt distinct() + { + return this; + } + + @Override + public OptionalInt max() + { + return OptionalInt.empty(); + } + + @Override + public OptionalInt min() + { + return max(); + } + + @Override + public long sum() + { + return 0; + } } - public static class OfDouble extends EmptyIterator implements PrimitiveIterator.OfDouble + + + /** + * Primitive specialisation for {@code long} of an empty Iterator as Singleton. + */ + public static class OfLong extends EmptyIterator implements FunctionalPrimitiveIterator.OfLong { - private OfDouble() {}; + /** Singleton instance for {@code long} elements*/ + private static final EmptyIterator.OfLong OF_LONG = new EmptyIterator.OfLong(); + + /** + * Private constructor for the Singleton instance. + */ + private OfLong() {} @Override - public double nextDouble() + public long nextLong() { throw new NoSuchElementException(); } + + @Override + public EmptyIterator.OfLong dedupe() + { + return this; + } + + @Override + public EmptyIterator.OfLong distinct() + { + return this; + } + + @Override + public OptionalLong max() + { + return OptionalLong.empty(); + } + + @Override + public OptionalLong min() + { + return max(); + } + + @Override + public long sum() + { + return 0; + } } } diff --git a/prism/src/common/iterable/FilteringIterable.java b/prism/src/common/iterable/FilteringIterable.java index b161b2e9c3..c3300c9bfd 100644 --- a/prism/src/common/iterable/FilteringIterable.java +++ b/prism/src/common/iterable/FilteringIterable.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -27,138 +27,162 @@ package common.iterable; -import java.util.Iterator; -import java.util.PrimitiveIterator; +import java.util.Objects; import java.util.function.DoublePredicate; import java.util.function.IntPredicate; import java.util.function.LongPredicate; import java.util.function.Predicate; /** - * Base class for Iterables around FilteringIterators, - * static constructors for deduplicating entries. */ -public abstract class FilteringIterable implements Iterable + * Abstract base class for Iterables that filter elements by a predicate. + * Returns only those elements for which the filter predicate evaluates to {@code true}. + * + * @param type of the Iterable's elements + * @param type of the underlying Iterable + */ +public abstract class FilteringIterable> implements FunctionalIterable { - protected final Iterable iterable; - - public FilteringIterable(final Iterable iterable) + /** The Iterable which elements are filtered */ + protected final I iterable; + + /** + * Constructor for a filtering Iterable without a predicate. + * + * @param iterable an Iterable to be filtered + */ + public FilteringIterable(I iterable) { + Objects.requireNonNull(iterable); this.iterable = iterable; } - public static class Of extends FilteringIterable - { - private Predicate predicate; - public Of(Iterable iterable, Predicate predicate) - { - super(iterable); - this.predicate = predicate; - } - @Override - public Iterator iterator() - { - return new FilteringIterator.Of<>(iterable, predicate); - } - } - - public static class OfInt extends FilteringIterable implements IterableInt + /** + * Generic implementation of a filtering Iterable. + * + * @param type of the Iterable's elements + */ + public static class Of extends FilteringIterable> { - private IntPredicate predicate; - - public OfInt(IterableInt iterable, IntPredicate predicate) + /** The predicate the Iterable uses to filter the elements */ + protected final Predicate filter; + + /** + * Constructor for an Iterable that filters elements by a predicate. + *

+ * Attention! If the predicate is stateful, subsequent iterations may yield different elements. + * + * @param iterable an Iterable to be filtered + * @param predicate a predicate used to filter the elements + */ + public Of(Iterable iterable, Predicate predicate) { super(iterable); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; } @Override - public PrimitiveIterator.OfInt iterator() + public FunctionalIterator iterator() { - return new FilteringIterator.OfInt((IterableInt) iterable, predicate); + return new FilteringIterator.Of<>(iterable.iterator(), filter); } } - public static class OfLong extends FilteringIterable implements IterableLong - { - private LongPredicate predicate; - public OfLong(IterableLong iterable, LongPredicate predicate) + + /** + * Primitive specialisation for {@code double} of a filtering Iterable. + */ + public static class OfDouble extends FilteringIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** The predicate the Iterable uses to filter the elements */ + protected final DoublePredicate filter; + + /** + * Constructor for an Iterable that filters elements by a predicate. + *

+ * Attention! If the predicate is stateful, subsequent iterations may yield different elements. + * + * @param iterable an Iterable to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfDouble(PrimitiveIterable.OfDouble iterable, DoublePredicate predicate) { super(iterable); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; } @Override - public PrimitiveIterator.OfLong iterator() + public FunctionalPrimitiveIterator.OfDouble iterator() { - return new FilteringIterator.OfLong((IterableLong) iterable, predicate); + return new FilteringIterator.OfDouble(iterable.iterator(), filter); } } - public static class OfDouble extends FilteringIterable implements IterableDouble - { - private DoublePredicate predicate; - public OfDouble(IterableDouble iterable, DoublePredicate predicate) + + /** + * Primitive specialisation for {@code int} of a filtering Iterable. + */ + public static class OfInt extends FilteringIterable implements FunctionalPrimitiveIterable.OfInt + { + /** The predicate the Iterable uses to filter the elements */ + protected final IntPredicate filter; + + /** + * Constructor for an Iterable that filters elements by a predicate. + *

+ * Attention! If the predicate is stateful, subsequent iterations may yield different elements. + * + * @param iterable an Iterable to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfInt(PrimitiveIterable.OfInt iterable, IntPredicate predicate) { super(iterable); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; } @Override - public PrimitiveIterator.OfDouble iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { - return new FilteringIterator.OfDouble((IterableDouble) iterable, predicate); + return new FilteringIterator.OfInt(iterable.iterator(), filter); } } - public static IterableInt dedupe(IterableInt iterable) - { - return new IterableInt() - { - @Override - public PrimitiveIterator.OfInt iterator() - { - return FilteringIterator.dedupe(iterable.iterator()); - } - }; - } - public static IterableLong dedupe(IterableLong iterable) - { - return new IterableLong() - { - @Override - public PrimitiveIterator.OfLong iterator() - { - return FilteringIterator.dedupe(iterable.iterator()); - } - }; - } - public static IterableDouble dedupe(IterableDouble iterable) + /** + * Primitive specialisation for {@code long} of a filtering Iterable. + */ + public static class OfLong extends FilteringIterable implements FunctionalPrimitiveIterable.OfLong { - return new IterableDouble() + /** The predicate the Iterable uses to filter the elements */ + protected final LongPredicate filter; + + /** + * Constructor for an Iterable that filters elements by a predicate. + *

+ * Attention! If the predicate is stateful, subsequent iterations may yield different elements. + * + * @param iterable an Iterable to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfLong(PrimitiveIterable.OfLong iterable, LongPredicate predicate) { - @Override - public PrimitiveIterator.OfDouble iterator() - { - return FilteringIterator.dedupe(iterable.iterator()); - } - }; - } + super(iterable); + Objects.requireNonNull(predicate); + this.filter = predicate; + } - public static Iterable dedupe(Iterable iterable) - { - return new Iterable() + @Override + public FunctionalPrimitiveIterator.OfLong iterator() { - @Override - public Iterator iterator() - { - return FilteringIterator.dedupe(iterable.iterator()); - } - }; + return new FilteringIterator.OfLong(iterable.iterator(), filter); + } } } diff --git a/prism/src/common/iterable/FilteringIterator.java b/prism/src/common/iterable/FilteringIterator.java index f5e1904e97..5b8ae4fdc5 100644 --- a/prism/src/common/iterable/FilteringIterator.java +++ b/prism/src/common/iterable/FilteringIterator.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -27,46 +27,44 @@ package common.iterable; -import java.util.HashSet; import java.util.Iterator; -import java.util.NoSuchElementException; import java.util.Objects; import java.util.PrimitiveIterator; -import java.util.Set; import java.util.function.DoublePredicate; import java.util.function.IntPredicate; import java.util.function.LongPredicate; import java.util.function.Predicate; /** - * Base class for filtering iterators, - * static helpers for common filtering task (deduping). + * Abstract base class implementing an Iterator that filters elements by a predicate. + * Returns only those elements for which the filter predicate evaluates to {@code true}. + *

+ * The calls to {@code next()} of the underlying Iterator happen on-the-fly, + * i.e., only when {@code next()} is called for this Iterator. + *

+ * Implementations should release the underlying Iterator after iteration. + *

+ * This Iterator does not support the {@code remove()} method, even if the underlying + * Iterator support it. + * + * @param type of the Iterator's elements + * @param type of the underlying Iterator */ -public abstract class FilteringIterator implements Iterator +public abstract class FilteringIterator> implements FunctionalIterator { - protected final Iterator iterator; + /** The Iterator which elements are filtered */ + protected I iterator; + /** A flag indicating whether another element exists */ protected boolean hasNext; - public static Iterator nonNull(Iterable iterable) - { - return nonNull(iterable.iterator()); - } - - public static Iterator nonNull(Iterator iterator) - { - if (iterator instanceof PrimitiveIterator) { - return iterator; - } - return new FilteringIterator.Of<>(iterator, Objects::nonNull); - } - - public FilteringIterator(final Iterable iterable) - { - this(iterable.iterator()); - } - - public FilteringIterator(final Iterator iterator) + /** + * Constructor for a FilteringIterator without a predicate. + * + * @param iterator an Iterator to be filtered + */ + public FilteringIterator(I iterator) { + Objects.requireNonNull(iterator); this.iterator = iterator; } @@ -76,166 +74,184 @@ public boolean hasNext() return hasNext; } - protected void requireNext() + @Override + public void release() { - if (!hasNext) { - throw new NoSuchElementException(); - } + hasNext = false; } /** - * Obtain filtering iterator for the given iterator, - * filtering duplicate elements (via HashSet, requires - * that {@code equals()} and {@code hashCode()} are properly - * implemented). + * Seek and store the next element for which the filter evaluates to {@code true}. */ - public static Iterator dedupe(final Iterator iterator) - { - final Set elements = new HashSet<>(); - return new FilteringIterator.Of<>(iterator, (Predicate) elements::add); - } + protected abstract void seekNext(); + - /** - * Obtain filtering iterator for the given primitive int iterator, - * filtering duplicate elements (via HashSet). - */ - public static OfInt dedupe(final PrimitiveIterator.OfInt iterator) - { - // TODO: use BitSet? Evaluate performance in practice... - final Set elements = new HashSet<>(); - return new FilteringIterator.OfInt(iterator, (IntPredicate) elements::add); - } - /** - * Obtain filtering iterator for the given primitive long iterator, - * filtering duplicate elements (via HashSet). - */ - public static OfLong dedupe(final PrimitiveIterator.OfLong iterator) - { - final Set elements = new HashSet<>(); - return new FilteringIterator.OfLong(iterator, (LongPredicate) elements::add); - } /** - * Obtain filtering iterator for the given primitive double iterator, - * filtering duplicate elements (via HashSet). + * Generic implementation of a FilteringIterator. + * + * @param type of the Iterable's elements */ - public static OfDouble dedupe(final PrimitiveIterator.OfDouble iterator) - { - final Set elements = new HashSet<>(); - return new FilteringIterator.OfDouble(iterator, (DoublePredicate) elements::add); - } - - public static class Of extends FilteringIterator + public static class Of extends FilteringIterator> { - protected final Predicate predicate; - private T next; - - public Of(Iterable iterable, Predicate predicate) - { - this(iterable.iterator(), predicate); - } - - public Of(Iterator iterator, Predicate predicate) + /** The predicate the Iterator uses to filter the elements */ + protected final Predicate filter; + /** The next element for which the filter predicates evaluates to {@code true} */ + protected E next; + + /** + * Constructor for an Iterator that filters elements by a predicate. + * + * @param iterator an Iterator to be filtered + * @param predicate a predicate used to filter the elements + */ + @SuppressWarnings("unchecked") + public Of(Iterator iterator, Predicate predicate) { super(iterator); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = (Predicate) predicate; seekNext(); } @Override - public T next() + public E next() { requireNext(); - T current = next; + E current = next; seekNext(); return current; } - private void seekNext() + @Override + public void release() + { + super.release(); + iterator = EmptyIterator.of(); + next = null; + } + + @Override + protected void seekNext() { while (iterator.hasNext()) { next = iterator.next(); - if (predicate.test(next)) { + if (filter.test(next)) { hasNext = true; return; } } - hasNext = false; - next = null; + release(); } } - public static class OfInt extends FilteringIterator implements PrimitiveIterator.OfInt - { - protected final IntPredicate predicate; - private int next; - public OfInt(IterableInt iterable, IntPredicate predicate) - { - this(iterable.iterator(), predicate); - } - public OfInt(PrimitiveIterator.OfInt iterator, IntPredicate predicate) + /** + * Primitive specialisation for {@code double} of a FilteringIterator. + */ + public static class OfDouble extends FilteringIterator implements FunctionalPrimitiveIterator.OfDouble + { + /** The predicate the Iterator uses to filter the elements */ + protected final DoublePredicate filter; + /** The next element for which the filter predicates evaluates to {@code true} */ + protected double next; + + /** + * Constructor for an Iterator that filters elements by a predicate. + * + * @param iterator an Iterator to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfDouble(PrimitiveIterator.OfDouble iterator, DoublePredicate predicate) { super(iterator); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; seekNext(); } @Override - public int nextInt() + public double nextDouble() { requireNext(); - int current = next; + double current = next; seekNext(); return current; } - private void seekNext() + @Override + public void release() + { + super.release(); + iterator = EmptyIterator.ofDouble(); + next = 0.0; + } + + @Override + protected void seekNext() { while (iterator.hasNext()) { - next = ((PrimitiveIterator.OfInt) iterator).nextInt(); - if (predicate.test(next)) { + next = iterator.nextDouble(); + if (filter.test(next)) { hasNext = true; return; } } - hasNext = false; + release(); } } - public static class OfLong extends FilteringIterator implements PrimitiveIterator.OfLong - { - protected final LongPredicate predicate; - private long next; - public OfLong(IterableLong iterable, LongPredicate predicate) - { - this(iterable.iterator(), predicate); - } - public OfLong(PrimitiveIterator.OfLong iterator, LongPredicate predicate) + /** + * Primitive specialisation for {@code int} of a FilteringIterator. + */ + public static class OfInt extends FilteringIterator implements FunctionalPrimitiveIterator.OfInt + { + /** The predicate the Iterator uses to filter the elements */ + protected final IntPredicate filter; + /** The next element for which the filter predicates evaluates to {@code true} */ + protected int next; + + /** + * Constructor for an Iterator that filters elements by a predicate. + * + * @param iterator an Iterator to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfInt(PrimitiveIterator.OfInt iterator, IntPredicate predicate) { super(iterator); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; seekNext(); } @Override - public long nextLong() + public int nextInt() { requireNext(); - long current = next; + int current = next; seekNext(); return current; } - private void seekNext() + @Override + public void release() + { + super.release(); + iterator = EmptyIterator.ofInt(); + next = 0; + } + + @Override + protected void seekNext() { while (iterator.hasNext()) { - next = ((PrimitiveIterator.OfLong) iterator).nextLong(); - if (predicate.test(next)) { + next = iterator.nextInt(); + if (filter.test(next)) { hasNext = true; return; } @@ -244,37 +260,54 @@ private void seekNext() } } - public static class OfDouble extends FilteringIterator implements PrimitiveIterator.OfDouble - { - protected final DoublePredicate predicate; - private double next; - public OfDouble(IterableDouble iterable, DoublePredicate predicate) - { - this(iterable.iterator(), predicate); - } - - public OfDouble(PrimitiveIterator.OfDouble iterator, DoublePredicate predicate) + /** + * Primitive specialisation for {@code long} of a FilteringIterator. + */ + public static class OfLong extends FilteringIterator implements FunctionalPrimitiveIterator.OfLong + { + /** The predicate the Iterator uses to filter the elements */ + protected final LongPredicate filter; + /** The next element for which the filter predicates evaluates to {@code true} */ + protected long next; + + /** + * Constructor for an Iterator that filters elements by a predicate. + * + * @param iterator an Iterator to be filtered + * @param predicate a predicate used to filter the elements + */ + public OfLong(PrimitiveIterator.OfLong iterator, LongPredicate predicate) { super(iterator); - this.predicate = predicate; + Objects.requireNonNull(predicate); + this.filter = predicate; seekNext(); } @Override - public double nextDouble() + public long nextLong() { requireNext(); - double current = next; + long current = next; seekNext(); return current; } - private void seekNext() + @Override + public void release() + { + super.release(); + iterator = EmptyIterator.ofLong(); + next = 0; + } + + @Override + protected void seekNext() { while (iterator.hasNext()) { - next = ((PrimitiveIterator.OfDouble) iterator).nextDouble(); - if (predicate.test(next)) { + next = iterator.nextLong(); + if (filter.test(next)) { hasNext = true; return; } diff --git a/prism/src/common/iterable/FunctionalIterable.java b/prism/src/common/iterable/FunctionalIterable.java new file mode 100644 index 0000000000..0c3a157a6a --- /dev/null +++ b/prism/src/common/iterable/FunctionalIterable.java @@ -0,0 +1,271 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import common.functions.DoubleObjToDoubleFunction; +import common.functions.IntObjToIntFunction; +import common.functions.LongObjToLongFunction; + +import java.util.Optional; +import java.util.function.*; + +/** + * A base type that implements the transformation and accumulation operations from {@link Reducible} for {@link Iterable}s. + * Additionally, it provides the methods {@link FunctionalIterable#flatMap} and its primitive specializations + * {@link FunctionalIterable#flatMapToDouble}, {@link FunctionalIterable#flatMapToInt} and {@link FunctionalIterable#flatMapToLong}. + * + * @param the type of elements returned by this Iterable + */ +public interface FunctionalIterable extends Reducible>, Iterable +{ + // Bridging methods to Iterator-based code + + /** + * Create a FunctionalIterable over the given elements. + * + * @param elements the elements + * @param the type of the elements + * @return a FunctionalIterable over the elements + */ + @SafeVarargs + static FunctionalIterable of(E ... elements) + { + switch (elements.length) { + case 0: return EmptyIterable.of(); + case 1: return new SingletonIterable.Of<>(elements[0]); + default: return new IterableArray.Of<>(elements); + } + } + + /** + * Create a FunctionalPrimitiveIterable.OfDouble over the given doubles. + * + * @param numbers the doubles + * @return a FunctionalPrimitiveIterable.OfDouble over the doubles + */ + static FunctionalPrimitiveIterable.OfDouble ofDouble(double ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterable.ofDouble(); + case 1: return new SingletonIterable.OfDouble(numbers[0]); + default: return new IterableArray.OfDouble(numbers); + } + } + + /** + * Create a FunctionalPrimitiveIterable.OfInt over the given ints. + * + * @param numbers the ints + * @return a FunctionalPrimitiveIterable.OfInt over the ints + */ + static FunctionalPrimitiveIterable.OfInt ofInt(int ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterable.ofInt(); + case 1: return new SingletonIterable.OfInt(numbers[0]); + default: return new IterableArray.OfInt(numbers); + } + } + + /** + * Create a FunctionalPrimitiveIterable.OfLong over the given longs. + * + * @param numbers the longs + * @return a FunctionalPrimitiveIterable.OfLong over the longs + */ + static FunctionalPrimitiveIterable.OfLong ofLong(long ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterable.ofLong(); + case 1: return new SingletonIterable.OfLong(numbers[0]); + default: return new IterableArray.OfLong(numbers); + } + } + + + + // Fundamental methods + + @Override + FunctionalIterator iterator(); + + @Override + default void forEach(Consumer action) + { + iterator().forEach(action); + } + + @Override + default boolean isEmpty() + { + return !iterator().hasNext(); + } + + + + // Transforming Methods + + @Override + default FunctionalIterable concat(Iterable iterable) + { + return new ChainedIterable.Of<>(new IterableArray.Of<>(this, iterable)); + } + + @Override + default FunctionalIterable dedupe() + { + return (FunctionalIterable) Reducible.super.dedupe(); + } + + @Override + default FunctionalIterable distinct() + { + return (FunctionalIterable) Reducible.super.distinct(); + } + + @Override + default FunctionalIterable filter(Predicate predicate) + { + return new FilteringIterable.Of<>(this, predicate); + } + + /** + * Map each element to an Iterable and concatenate the obtained Iterables. + * + * @param function a function that maps each element to an {@link Iterable} + */ + default FunctionalIterable flatMap(Function> function) + { + return new ChainedIterable.Of<>(map(function)); + } + + /** + * Map each element to an FunctionalPrimitiveIterable.OfDouble and concatenate the obtained Iterables. + * + * @param function a function that maps each element to an {@link FunctionalPrimitiveIterable.OfDouble} + */ + default FunctionalPrimitiveIterable.OfDouble flatMapToDouble(Function function) + { + return new ChainedIterable.OfDouble(map(function)); + } + + /** + * Map each element to an FunctionalPrimitiveIterable.OfInt and concatenate the obtained Iterables. + * + * @param function a function that maps each element to an {@link FunctionalPrimitiveIterable.OfInt} + */ + default FunctionalPrimitiveIterable.OfInt flatMapToInt(Function function) + { + return new ChainedIterable.OfInt(map(function)); + } + + /** + * Map each element to an FunctionalPrimitiveIterable.OfLong and concatenate the obtained Iterables. + * + * @param function a function that maps each element to an {@link FunctionalPrimitiveIterable.OfLong} + */ + default FunctionalPrimitiveIterable.OfLong flatMapToLong(Function function) + { + return new ChainedIterable.OfLong(map(function)); + } + + @Override + default FunctionalIterable map(Function function) + { + return new MappingIterable.ObjToObj<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble mapToDouble(ToDoubleFunction function) + { + return new MappingIterable.ObjToDouble<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfInt mapToInt(ToIntFunction function) + { + return new MappingIterable.ObjToInt<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfLong mapToLong(ToLongFunction function) + { + return new MappingIterable.ObjToLong<>(this, function); + } + + @Override + default FunctionalIterable nonNull() + { + return (FunctionalIterable) Reducible.super.nonNull(); + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalIterable consume() + { + return (FunctionalIterable) Reducible.super.consume(); + } + + @Override + default E detect(Predicate predicate) + { + return iterator().detect(predicate); + } + + @Override + default Optional reduce(BinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default T reduce(T init, BiFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default double reduce(double init, DoubleObjToDoubleFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default int reduce(int init, IntObjToIntFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default long reduce(long init, LongObjToLongFunction accumulator) + { + return iterator().reduce(init, accumulator); + } +} diff --git a/prism/src/common/iterable/FunctionalIterator.java b/prism/src/common/iterable/FunctionalIterator.java new file mode 100644 index 0000000000..552c6945b7 --- /dev/null +++ b/prism/src/common/iterable/FunctionalIterator.java @@ -0,0 +1,336 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import common.functions.DoubleObjToDoubleFunction; +import common.functions.IntObjToIntFunction; +import common.functions.LongObjToLongFunction; + +import java.util.*; +import java.util.function.*; + +/** + * A base type that implements the transformation and accumulation operations from {@link Reducible} for {@link Iterator}s. + * Additionally, it provides the methods {@link FunctionalIterator#flatMap} and its primitive specializations + * {@link FunctionalIterator#flatMapToDouble}, {@link FunctionalIterator#flatMapToInt} and {@link FunctionalIterator#flatMapToLong}. + * + * @param the type of elements returned by this Iterator + */ +public interface FunctionalIterator extends Reducible>, Iterator +{ + // Bridging methods to Iterator-based code + + /** + * Create a FunctionalIterator over the given elements. + * + * @param elements the elements + * @param the type of the elements + * @return a FunctionalIterator over the elements + */ + @SafeVarargs + static FunctionalIterator of(E ... elements) + { + switch (elements.length) { + case 0: return EmptyIterator.of(); + case 1: return new SingletonIterator.Of<>(elements[0]); + default: return new ArrayIterator.Of<>(elements); + } + } + + /** + * Create a FunctionalPrimitiveIterator.OfDouble over the given doubles. + * + * @param numbers the doubles + * @return a FunctionalPrimitiveIterator.OfDouble over the doubles + */ + static FunctionalPrimitiveIterator.OfDouble ofDouble(double ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterator.ofDouble(); + case 1: return new SingletonIterator.OfDouble(numbers[0]); + default: return new ArrayIterator.OfDouble(numbers); + } + } + + /** + * Create a FunctionalPrimitiveIterator.OfInt over the given ints. + * + * @param numbers the ints + * @return a FunctionalPrimitiveIterator.OfInt over the ints + */ + static FunctionalPrimitiveIterator.OfInt ofInt(int ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterator.ofInt(); + case 1: return new SingletonIterator.OfInt(numbers[0]); + default: return new ArrayIterator.OfInt(numbers); + } + } + + /** + * Create a FunctionalPrimitiveIterator.OfLong over the given longs. + * + * @param numbers the longs + * @return a FunctionalPrimitiveIterator.OfLong over the longs + */ + static FunctionalPrimitiveIterator.OfLong ofLong(long ... numbers) + { + switch (numbers.length) { + case 0: return EmptyIterator.ofLong(); + case 1: return new SingletonIterator.OfLong(numbers[0]); + default: return new ArrayIterator.OfLong(numbers); + } + } + + + + // Fundamental methods + + @Override + default void forEach(Consumer action) + { + unwrap().forEachRemaining(action); + release(); + } + + @Override + default boolean isEmpty() + { + return ! hasNext(); + } + + /** + * Unwrap a nested iterator if this instance is an adapting wrapper. + * Use to avoid repeated indirections, especially in loops. + * + * @return {@code this} instance + */ + default Iterator unwrap() + { + return this; + } + + /** + * Release resources such as wrapped Iterators making this Iterator empty. + * Should be called internally after an Iterator is exhausted. + */ + default void release() + { + // no-op + } + + /** + * Check that there is a next element, throw if not. + * + * @throws NoSuchElementException if Iterator is exhausted + */ + default void requireNext() + { + if (!hasNext()) { + throw new NoSuchElementException(); + } + } + + + + // Transforming Methods + + @Override + default FunctionalIterator concat(Iterator iterator) + { + return new ChainedIterator.Of<>(unwrap(), new ArrayIterator.Of<>(iterator)); + } + + @Override + default FunctionalIterator dedupe() + { + return (FunctionalIterator) Reducible.super.dedupe(); + } + + @Override + default FunctionalIterator distinct() + { + return (FunctionalIterator) Reducible.super.distinct(); + } + + @Override + default FunctionalIterator filter(Predicate predicate) + { + return new FilteringIterator.Of<>(unwrap(), predicate); + } + + /** + * Map each element to an Iterator and concatenate the obtained Iterators. + * + * @param function a function that maps each element to an {@link Iterator} + */ + default FunctionalIterator flatMap(Function> function) + { + return new ChainedIterator.Of<>(map(function)); + } + + /** + * Map each element to a PrimitiveIterator over {@code double} and concatenate the obtained Iterators. + * + * @param function a function that maps each element to an {@link PrimitiveIterator.OfDouble} + */ + default FunctionalPrimitiveIterator.OfDouble flatMapToDouble(Function function) + { + return new ChainedIterator.OfDouble(map(function)); + } + + /** + * Map each element to a PrimitiveIterator over {@code int} and concatenate the obtained Iterators. + * + * @param function a function that maps each element to an {@link PrimitiveIterator.OfInt} + */ + default FunctionalPrimitiveIterator.OfInt flatMapToInt(Function function) + { + return new ChainedIterator.OfInt(map(function)); + } + + /** + * Map each element to a PrimitiveIterator over {@code long} and concatenate the obtained Iterators. + * + * @param function a function that maps each element to an {@link PrimitiveIterator.OfLong} + */ + default FunctionalPrimitiveIterator.OfLong flatMapToLong(Function function) + { + return new ChainedIterator.OfLong(map(function)); + } + + @Override + default FunctionalIterator map(Function function) + { + return new MappingIterator.ObjToObj<>(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble mapToDouble(ToDoubleFunction function) + { + return new MappingIterator.ObjToDouble<>(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfInt mapToInt(ToIntFunction function) + { + return new MappingIterator.ObjToInt<>(unwrap(), function); + } + @Override + default FunctionalPrimitiveIterator.OfLong mapToLong(ToLongFunction function) + { + return new MappingIterator.ObjToLong<>(unwrap(), function); + } + + @Override + default FunctionalIterator nonNull() + { + return (FunctionalIterator) Reducible.super.nonNull(); + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalIterator consume() + { + return (FunctionalIterator) Reducible.super.consume(); + } + + @Override + default E detect(Predicate predicate) + { + return filter(predicate).next(); + } + + @Override + default Optional reduce(BinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return Optional.empty(); + } + return Optional.of(reduce(next(), accumulator)); + } + + @Override + default T reduce(T init, BiFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + Iterator local = unwrap(); + T result = init; + while (local.hasNext()) { + result = accumulator.apply(result, local.next()); + } + release(); + return result; + } + + @Override + default double reduce(double init, DoubleObjToDoubleFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + Iterator local = unwrap(); + double result = init; + while (local.hasNext()) { + result = accumulator.applyAsDouble(result, local.next()); + } + release(); + return result; + } + + @Override + default int reduce(int init, IntObjToIntFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + Iterator local = unwrap(); + int result = init; + while (local.hasNext()) { + result = accumulator.applyAsInt(result, local.next()); + } + release(); + return result; + } + + @Override + default long reduce(long init, LongObjToLongFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + Iterator local = unwrap(); + long result = init; + while (local.hasNext()) { + result = accumulator.applyAsLong(result, local.next()); + } + release(); + return result; + } +} diff --git a/prism/src/common/iterable/FunctionalPrimitiveIterable.java b/prism/src/common/iterable/FunctionalPrimitiveIterable.java new file mode 100644 index 0000000000..cd90e42cfd --- /dev/null +++ b/prism/src/common/iterable/FunctionalPrimitiveIterable.java @@ -0,0 +1,570 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import common.functions.*; + +import java.util.OptionalDouble; +import java.util.OptionalInt; +import java.util.OptionalLong; +import java.util.function.*; + +/** + * A base type for primitive specializations of the methods provided by {@link FunctionalIterable}. + * Specialized sub interfaces are provided for {@code double}, {@code int} and {@code long}: + *

    + *
  • {@link PrimitiveIterable.OfDouble double}
  • + *
  • {@link PrimitiveIterable.OfInt int}
  • + *
  • {@link PrimitiveIterable.OfLong long}
  • + *
+ * + * @param the type of elements hold by this PrimitiveIterable + * @param the type of primitive consumer + */ +public interface FunctionalPrimitiveIterable extends PrimitiveReducible, E_CONS>, FunctionalIterable, PrimitiveIterable +{ + @Override + FunctionalPrimitiveIterator iterator(); + + @Override + default void forEach(E_CONS action) + { + iterator().forEach(action); + } + + + /** + * Specialisation for {@code double} of a FunctionalPrimitiveIterable. + */ + interface OfDouble extends FunctionalPrimitiveIterable, PrimitiveReducible.OfDouble>, PrimitiveIterable.OfDouble + { + @Override + FunctionalPrimitiveIterator.OfDouble iterator(); + + + // Transforming Methods + + @Override + default FunctionalIterable concat(Iterable iterable) + { + if (iterable instanceof PrimitiveIterable.OfDouble) { + return concat((PrimitiveIterable.OfDouble) iterable); + } + return FunctionalPrimitiveIterable.super.concat(iterable); + } + + /** + * Primitive specialisation of {@code concat} for {@code double}. + * + * @param iterable the {@link PrimitiveIterable.OfDouble} to append + * @return an {@link Iterable} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterable.OfDouble concat(PrimitiveIterable.OfDouble iterable) + { + return new ChainedIterable.OfDouble(new IterableArray.Of<>(this, iterable)); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble dedupe() + { + return (FunctionalPrimitiveIterable.OfDouble) PrimitiveReducible.OfDouble.super.dedupe(); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble distinct() + { + return (FunctionalPrimitiveIterable.OfDouble) PrimitiveReducible.OfDouble.super.distinct(); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble filter(DoublePredicate predicate) + { + return new FilteringIterable.OfDouble(this, predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code double}. + * + * @see FunctionalIterable#flatMap(java.util.function.Function) + */ + default FunctionalIterable flatMap(DoubleFunction> function) + { + return new ChainedIterable.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code double}. + * + * @see FunctionalIterable#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfDouble flatMapToDouble(DoubleFunction function) + { + return new ChainedIterable.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code double}. + * + * @see FunctionalIterable#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfInt flatMapToInt(DoubleFunction function) + { + return new ChainedIterable.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code double}. + * + * @see FunctionalIterable#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfLong flatMapToLong(DoubleFunction function) + { + return new ChainedIterable.OfLong(map(function)); + } + + @Override + default FunctionalIterable map(DoubleFunction function) + { + return new MappingIterable.DoubleToObj<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble mapToDouble(DoubleUnaryOperator function) + { + return new MappingIterable.DoubleToDouble(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfInt mapToInt(DoubleToIntFunction function) + { + return new MappingIterable.DoubleToInt(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfLong mapToLong(DoubleToLongFunction function) + { + return new MappingIterable.DoubleToLong(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterable.OfDouble consume() + { + return (FunctionalPrimitiveIterable.OfDouble) PrimitiveReducible.OfDouble.super.consume(); + } + + @Override + default double detect(DoublePredicate predicate) + { + return iterator().detect(predicate); + } + + @Override + default OptionalDouble reduce(DoubleBinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default T reduce(T init, ObjDoubleFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default double reduce(double init, DoubleBinaryOperator accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default int reduce(int init, IntDoubleToIntFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default long reduce(long init, LongDoubleToLongFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + } + + + /** + * Specialisation for {@code int} of a FunctionalPrimitiveIterable. + */ + interface OfInt extends FunctionalPrimitiveIterable, PrimitiveReducible.OfInt>, PrimitiveIterable.OfInt + { + @Override + FunctionalPrimitiveIterator.OfInt iterator(); + + + // Transforming Methods + + @Override + default FunctionalIterable concat(Iterable iterable) + { + if (iterable instanceof PrimitiveIterable.OfInt) { + return concat((PrimitiveIterable.OfInt) iterable); + } + return FunctionalPrimitiveIterable.super.concat(iterable); + } + + /** + * Primitive specialisation of {@code concat} for {@code int}. + * + * @param iterable the {@link PrimitiveIterable.OfInt} to append + * @return an {@link Iterable} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterable.OfInt concat(PrimitiveIterable.OfInt iterable) + { + return new ChainedIterable.OfInt(new IterableArray.Of<>(this, iterable)); + } + + @Override + default FunctionalPrimitiveIterable.OfInt dedupe() + { + return (FunctionalPrimitiveIterable.OfInt) PrimitiveReducible.OfInt.super.dedupe(); + } + + @Override + default FunctionalPrimitiveIterable.OfInt distinct() + { + return (FunctionalPrimitiveIterable.OfInt) PrimitiveReducible.OfInt.super.distinct(); + } + + @Override + default FunctionalPrimitiveIterable.OfInt filter(IntPredicate predicate) + { + return new FilteringIterable.OfInt(this, predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code int}. + * + * @see FunctionalIterable#flatMap(java.util.function.Function) + */ + default FunctionalIterable flatMap(IntFunction> function) + { + return new ChainedIterable.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code int}. + * + * @see FunctionalIterable#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfDouble flatMapToDouble(IntFunction function) + { + return new ChainedIterable.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code int}. + * + * @see FunctionalIterable#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfInt flatMapToInt(IntFunction function) + { + return new ChainedIterable.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code int}. + * + * @see FunctionalIterable#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfLong flatMapToLong(IntFunction function) + { + return new ChainedIterable.OfLong(map(function)); + } + + @Override + default FunctionalIterable map(IntFunction function) + { + return new MappingIterable.IntToObj<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble mapToDouble(IntToDoubleFunction function) + { + return new MappingIterable.IntToDouble(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfInt mapToInt(IntUnaryOperator function) + { + return new MappingIterable.IntToInt(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfLong mapToLong(IntToLongFunction function) + { + return new MappingIterable.IntToLong(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfInt nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterable.OfInt consume() + { + return (FunctionalPrimitiveIterable.OfInt) PrimitiveReducible.OfInt.super.consume(); + } + + @Override + default int detect(IntPredicate predicate) + { + return iterator().detect(predicate); + } + + @Override + default OptionalDouble reduce(DoubleBinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default OptionalInt reduce(IntBinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default OptionalLong reduce(LongBinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default T reduce(T init, ObjIntFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default double reduce(double init, DoubleBinaryOperator accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default int reduce(int init, IntBinaryOperator accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default long reduce(long init, LongBinaryOperator accumulator) + { + return iterator().reduce(init, accumulator); + } + } + + + /** + * Specialisation for {@code long} of a FunctionalPrimitiveIterable. + */ + interface OfLong extends FunctionalPrimitiveIterable, PrimitiveReducible.OfLong>, PrimitiveIterable.OfLong + { + @Override + FunctionalPrimitiveIterator.OfLong iterator(); + + + + // Transforming Methods + + @Override + default FunctionalIterable concat(Iterable iterable) + { + if (iterable instanceof PrimitiveIterable.OfLong) { + return concat((PrimitiveIterable.OfLong) iterable); + } + return FunctionalPrimitiveIterable.super.concat(iterable); + } + + /** + * Primitive specialisation of {@code concat} for {@code long}. + * + * @param iterable the {@link PrimitiveIterable.OfLong} to append + * @return an {@link Iterable} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterable.OfLong concat(PrimitiveIterable.OfLong iterable) + { + return new ChainedIterable.OfLong(new IterableArray.Of<>(this, iterable)); + } + + @Override + default FunctionalPrimitiveIterable.OfLong dedupe() + { + return (FunctionalPrimitiveIterable.OfLong) PrimitiveReducible.OfLong.super.dedupe(); + } + @Override + default FunctionalPrimitiveIterable.OfLong distinct() + { + return (FunctionalPrimitiveIterable.OfLong) PrimitiveReducible.OfLong.super.distinct(); + } + @Override + default FunctionalPrimitiveIterable.OfLong filter(LongPredicate predicate) + { + return new FilteringIterable.OfLong(this, predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code long}. + * + * @see FunctionalIterable#flatMap(java.util.function.Function) + */ + default FunctionalIterable flatMap(LongFunction> function) + { + return new ChainedIterable.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code long}. + * + * @see FunctionalIterable#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfDouble flatMapToDouble(LongFunction function) + { + return new ChainedIterable.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code long}. + * + * @see FunctionalIterable#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfInt flatMapToInt(LongFunction function) + { + return new ChainedIterable.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code long}. + * + * @see FunctionalIterable#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterable.OfLong flatMapToLong(LongFunction function) + { + return new ChainedIterable.OfLong(map(function)); + } + + @Override + default FunctionalIterable map(LongFunction function) + { + return new MappingIterable.LongToObj<>(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfDouble mapToDouble(LongToDoubleFunction function) + { + return new MappingIterable.LongToDouble(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfInt mapToInt(LongToIntFunction function) + { + return new MappingIterable.LongToInt(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfLong mapToLong(LongUnaryOperator function) + { + return new MappingIterable.LongToLong(this, function); + } + + @Override + default FunctionalPrimitiveIterable.OfLong nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterable.OfLong consume() + { + return (FunctionalPrimitiveIterable.OfLong) PrimitiveReducible.OfLong.super.consume(); + } + + @Override + default long detect(LongPredicate predicate) + { + return iterator().detect(predicate); + } + + @Override + default OptionalLong reduce(LongBinaryOperator accumulator) + { + return iterator().reduce(accumulator); + } + + @Override + default T reduce(T init, ObjLongFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default double reduce(double init, DoubleLongToDoubleFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default int reduce(int init, IntLongToIntFunction accumulator) + { + return iterator().reduce(init, accumulator); + } + + @Override + default long reduce(long init, LongBinaryOperator accumulator) + { + return iterator().reduce(init, accumulator); + } + } +} diff --git a/prism/src/common/iterable/FunctionalPrimitiveIterator.java b/prism/src/common/iterable/FunctionalPrimitiveIterator.java new file mode 100644 index 0000000000..69ba04e8b6 --- /dev/null +++ b/prism/src/common/iterable/FunctionalPrimitiveIterator.java @@ -0,0 +1,749 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import common.functions.*; + +import java.util.*; +import java.util.function.*; + +/** + * A base type for primitive specializations of the methods provided by {@link FunctionalIterator}. + * Specialized sub interfaces are provided for {@code double}, {@code int} and {@code long}: + *
    + *
  • {@link PrimitiveIterator.OfDouble double}
  • + *
  • {@link PrimitiveIterator.OfInt int}
  • + *
  • {@link PrimitiveIterator.OfLong long}
  • + *
+ * + * @param the type of elements returned by this PrimitiveIterator + * @param the type of primitive consumer + */ +public interface FunctionalPrimitiveIterator extends PrimitiveReducible, E_CONS>,FunctionalIterator, PrimitiveIterator +{ + @Override + default void forEach(E_CONS action) + { + unwrap().forEachRemaining(action); + release(); + } + + @Override + PrimitiveIterator unwrap(); + + + + /** + * Specialisation for {@code double} of a FunctionalPrimitiveIterator. + */ + interface OfDouble extends FunctionalPrimitiveIterator, PrimitiveReducible.OfDouble>, PrimitiveIterator.OfDouble + { + @Override + default PrimitiveIterator.OfDouble unwrap() + { + return this; + } + + + + // Transforming Methods + + @Override + default FunctionalIterator concat(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfDouble) { + return concat((PrimitiveIterator.OfDouble) iterator); + } + return FunctionalPrimitiveIterator.super.concat(iterator); + } + + /** + * Primitive specialisation of {@code concat} for {@code double}. + * + * @param iterator the {@link PrimitiveIterator.OfDouble} to append + * @return an {@link Iterator} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterator.OfDouble concat(PrimitiveIterator.OfDouble iterator) + { + return new ChainedIterator.OfDouble(unwrap(), new ArrayIterator.Of<>(iterator)); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble dedupe() + { + return (FunctionalPrimitiveIterator.OfDouble) PrimitiveReducible.OfDouble.super.dedupe(); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble distinct() + { + return (FunctionalPrimitiveIterator.OfDouble) PrimitiveReducible.OfDouble.super.distinct(); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble filter(DoublePredicate predicate) + { + return new FilteringIterator.OfDouble(unwrap(), predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code double}. + * + * @see FunctionalIterator#flatMap(java.util.function.Function) + */ + default FunctionalIterator flatMap(DoubleFunction> function) + { + return new ChainedIterator.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code double}. + * + * @see FunctionalIterator#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfDouble flatMapToDouble(DoubleFunction function) + { + return new ChainedIterator.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code double}. + * + * @see FunctionalIterator#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfInt flatMapToInt(DoubleFunction function) + { + return new ChainedIterator.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code double}. + * + * @see FunctionalIterator#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfLong flatMapToLong(DoubleFunction function) + { + return new ChainedIterator.OfLong(map(function)); + } + + @Override + default FunctionalIterator map(DoubleFunction function) + { + return new MappingIterator.DoubleToObj<>(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble mapToDouble(DoubleUnaryOperator function) + { + return new MappingIterator.DoubleToDouble(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfInt mapToInt(DoubleToIntFunction function) + { + return new MappingIterator.DoubleToInt(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfLong mapToLong(DoubleToLongFunction function) + { + return new MappingIterator.DoubleToLong(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterator.OfDouble consume() + { + return (FunctionalPrimitiveIterator.OfDouble) PrimitiveReducible.OfDouble.super.consume(); + } + + @Override + default boolean contains(Object obj) + { + boolean found = PrimitiveReducible.OfDouble.super.contains(obj); + release(); + return found; + } + + @Override + default double detect(DoublePredicate predicate) + { + return filter(predicate).nextDouble(); + } + + @Override + default OptionalDouble reduce(DoubleBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return OptionalDouble.empty(); + } + return OptionalDouble.of(reduce(nextDouble(), accumulator)); + } + + @Override + default T reduce(T init, ObjDoubleFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfDouble local = unwrap(); + T result = init; + while (local.hasNext()) { + result = accumulator.apply(result, local.nextDouble()); + } + release(); + return result; + } + + @Override + default double reduce(double init, DoubleBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfDouble local = unwrap(); + double result = init; + while (local.hasNext()) { + result = accumulator.applyAsDouble(result, local.nextDouble()); + } + release(); + return result; + } + + @Override + default int reduce(int init, IntDoubleToIntFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfDouble local = unwrap(); + int result = init; + while (local.hasNext()) { + result = accumulator.applyAsInt(result, local.nextDouble()); + } + release(); + return result; + } + + @Override + default long reduce(long init, LongDoubleToLongFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfDouble local = unwrap(); + long result = init; + while (local.hasNext()) { + result = accumulator.applyAsLong(result, local.nextDouble()); + } + release(); + return result; + } + } + + + + /** + * Specialisation for {@code int} of a FunctionalPrimitiveIterator. + */ + interface OfInt extends FunctionalPrimitiveIterator, PrimitiveReducible.OfInt>, PrimitiveIterator.OfInt + { + @Override + default PrimitiveIterator.OfInt unwrap() + { + return this; + } + + + + // Transforming Methods + + @Override + default FunctionalIterator concat(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfInt) { + return concat((PrimitiveIterator.OfInt) iterator); + } + return FunctionalPrimitiveIterator.super.concat(iterator); + } + + /** + * Primitive specialisation of {@code concat} for {@code int}. + * + * @param iterator the {@link PrimitiveIterator.OfInt} to append + * @return an {@link Iterator} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterator.OfInt concat(PrimitiveIterator.OfInt iterator) + { + return new ChainedIterator.OfInt(unwrap(), new ArrayIterator.Of<>(iterator)); + } + + @Override + default FunctionalPrimitiveIterator.OfInt dedupe() + { + return (FunctionalPrimitiveIterator.OfInt) PrimitiveReducible.OfInt.super.dedupe(); + } + + @Override + default FunctionalPrimitiveIterator.OfInt distinct() + { + return (FunctionalPrimitiveIterator.OfInt) PrimitiveReducible.OfInt.super.distinct(); + } + + @Override + default FunctionalPrimitiveIterator.OfInt filter(IntPredicate predicate) + { + return new FilteringIterator.OfInt(unwrap(), predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code int}. + * + * @see FunctionalIterator#flatMap(java.util.function.Function) + */ + default FunctionalIterator flatMap(IntFunction> function) + { + return new ChainedIterator.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code int}. + * + * @see FunctionalIterator#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfDouble flatMapToDouble(IntFunction function) + { + return new ChainedIterator.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code int}. + * + * @see FunctionalIterator#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfInt flatMapToInt(IntFunction function) + { + return new ChainedIterator.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code int}. + * + * @see FunctionalIterator#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfLong flatMapToLong(IntFunction function) + { + return new ChainedIterator.OfLong(map(function)); + } + + @Override + default FunctionalIterator map(IntFunction function) + { + return new MappingIterator.IntToObj<>(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfDouble mapToDouble(IntToDoubleFunction function) + { + return new MappingIterator.IntToDouble(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfInt mapToInt(IntUnaryOperator function) + { + return new MappingIterator.IntToInt(unwrap(), function); + } + + /** + * Primitive specialisation of {@code mapToLong} for {@code int}. + * + * @see FunctionalIterator#mapToLong(java.util.function.ToLongFunction) + */ + @Override + default FunctionalPrimitiveIterator.OfLong mapToLong(IntToLongFunction function) + { + return new MappingIterator.IntToLong(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfInt nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterator.OfInt consume() + { + return (FunctionalPrimitiveIterator.OfInt) PrimitiveReducible.OfInt.super.consume(); + } + + @Override + default boolean contains(Object obj) + { + boolean found = PrimitiveReducible.OfInt.super.contains(obj); + release(); + return found; + } + + @Override + default int detect(IntPredicate predicate) + { + return filter(predicate).nextInt(); + } + + @Override + default OptionalDouble reduce(DoubleBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return OptionalDouble.empty(); + } + return OptionalDouble.of(reduce(nextInt(), accumulator)); + } + + @Override + default OptionalInt reduce(IntBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return OptionalInt.empty(); + } + return OptionalInt.of(reduce(nextInt(), accumulator)); + } + + @Override + default OptionalLong reduce(LongBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return OptionalLong.empty(); + } + return OptionalLong.of(reduce(nextInt(), accumulator)); + } + + @Override + default T reduce(T init, ObjIntFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfInt local = unwrap(); + T result = init; + while (local.hasNext()) { + result = accumulator.apply(result, local.nextInt()); + } + release(); + return result; + } + + @Override + default double reduce(double init, DoubleBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfInt local = unwrap(); + double result = init; + while (local.hasNext()) { + result = accumulator.applyAsDouble(result, local.nextInt()); + } + release(); + return result; + } + + @Override + default int reduce(int init, IntBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfInt local = unwrap(); + int result = init; + while (local.hasNext()) { + result = accumulator.applyAsInt(result, local.nextInt()); + } + release(); + return result; + } + + @Override + default long reduce(long init, LongBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfInt local = unwrap(); + long result = init; + while (local.hasNext()) { + result = accumulator.applyAsLong(result, local.nextInt()); + } + release(); + return result; + } + } + + + + /** + * Specialisation for {@code long} of a FunctionalPrimitiveIterator. + */ + interface OfLong extends FunctionalPrimitiveIterator, PrimitiveReducible.OfLong>, PrimitiveIterator.OfLong + { + @Override + default PrimitiveIterator.OfLong unwrap() + { + return this; + } + + + + // Transforming Methods + + @Override + default FunctionalIterator concat(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfLong) { + return concat((PrimitiveIterator.OfLong) iterator); + } + return FunctionalPrimitiveIterator.super.concat(iterator); + } + + /** + * Primitive specialisation of {@code concat} for {@code long}. + * + * @param iterator the {@link PrimitiveIterator.OfLong} to append + * @return an {@link Iterator} that iterates over the elements of the receiver and the argument + */ + default FunctionalPrimitiveIterator.OfLong concat(PrimitiveIterator.OfLong iterator) + { + return new ChainedIterator.OfLong(unwrap(), new ArrayIterator.Of<>(iterator)); + } + + @Override + default FunctionalPrimitiveIterator.OfLong dedupe() + { + return (FunctionalPrimitiveIterator.OfLong) PrimitiveReducible.OfLong.super.dedupe(); + } + + @Override + default FunctionalPrimitiveIterator.OfLong distinct() + { + return (FunctionalPrimitiveIterator.OfLong) PrimitiveReducible.OfLong.super.distinct(); + } + + @Override + default FunctionalPrimitiveIterator.OfLong filter(LongPredicate predicate) + { + return new FilteringIterator.OfLong(unwrap(), predicate); + } + + /** + * Primitive specialisation of {@code flatMap} for {@code long}. + * + * @see FunctionalIterator#flatMap(java.util.function.Function) + */ + default FunctionalIterator flatMap(LongFunction> function) + { + return new ChainedIterator.Of<>(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToDouble} for {@code long}. + * + * @see FunctionalIterator#flatMapToDouble(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfDouble flatMapToDouble(LongFunction function) + { + return new ChainedIterator.OfDouble(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToInt} for {@code long}. + * + * @see FunctionalIterator#flatMapToInt(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfInt flatMapToInt(LongFunction function) + { + return new ChainedIterator.OfInt(map(function)); + } + + /** + * Primitive specialisation of {@code flatMapToLong} for {@code long}. + * + * @see FunctionalIterator#flatMapToLong(java.util.function.Function) + */ + default FunctionalPrimitiveIterator.OfLong flatMapToLong(LongFunction function) + { + return new ChainedIterator.OfLong(map(function)); + } + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see FunctionalIterator#map(java.util.function.Function) + */ + @Override + default FunctionalIterator map(LongFunction function) + { + return new MappingIterator.LongToObj<>(unwrap(), function); + } + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see FunctionalIterator#mapToDouble(java.util.function.ToDoubleFunction) + */ + @Override + default FunctionalPrimitiveIterator.OfDouble mapToDouble(LongToDoubleFunction function) + { + return new MappingIterator.LongToDouble(unwrap(), function); + } + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see FunctionalIterator#mapToInt(java.util.function.ToIntFunction) + */ + @Override + default FunctionalPrimitiveIterator.OfInt mapToInt(LongToIntFunction function) + { + return new MappingIterator.LongToInt(unwrap(), function); + } + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see FunctionalIterator#mapToLong(java.util.function.ToLongFunction) + */ + @Override + default FunctionalPrimitiveIterator.OfLong mapToLong(LongUnaryOperator function) + { + return new MappingIterator.LongToLong(unwrap(), function); + } + + @Override + default FunctionalPrimitiveIterator.OfLong nonNull() + { + return this; + } + + + + // Accumulations Methods (Consuming) + + @Override + default FunctionalPrimitiveIterator.OfLong consume() + { + return (FunctionalPrimitiveIterator.OfLong) PrimitiveReducible.OfLong.super.consume(); + } + + @Override + default boolean contains(Object obj) + { + boolean found = PrimitiveReducible.OfLong.super.contains(obj); + release(); + return found; + } + + @Override + default long detect(LongPredicate predicate) + { + return filter(predicate).nextLong(); + } + + default OptionalLong reduce(LongBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + if (! hasNext()) { + return OptionalLong.empty(); + } + return OptionalLong.of(reduce(nextLong(), accumulator)); + } + + @Override + default T reduce(T init, ObjLongFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfLong local = unwrap(); + T result = init; + while (local.hasNext()) { + result = accumulator.apply(result, local.nextLong()); + } + release(); + return result; + } + + @Override + default double reduce(double init, DoubleLongToDoubleFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfLong local = unwrap(); + double result = init; + while (local.hasNext()) { + result = accumulator.applyAsDouble(result, local.nextLong()); + } + release(); + return result; + } + + @Override + default int reduce(int init, IntLongToIntFunction accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfLong local = unwrap(); + int result = init; + while (local.hasNext()) { + result = accumulator.applyAsInt(result, local.nextLong()); + } + release(); + return result; + } + + @Override + default long reduce(long init, LongBinaryOperator accumulator) + { + Objects.requireNonNull(accumulator); + // avoid redirection in wrappers + PrimitiveIterator.OfLong local = unwrap(); + long result = init; + while (local.hasNext()) { + result = accumulator.applyAsLong(result, local.nextLong()); + } + release(); + return result; + } + } +} diff --git a/prism/src/common/iterable/Interval.java b/prism/src/common/iterable/Interval.java new file mode 100644 index 0000000000..d7d698a2d8 --- /dev/null +++ b/prism/src/common/iterable/Interval.java @@ -0,0 +1,213 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.OptionalInt; + +import common.IteratorTools; + +/** + * An Iterable that yields all ints from an interval with a given step-width. + */ +public class Interval implements FunctionalPrimitiveIterable.OfInt +{ + protected final int lowerBound; + protected final int upperBound; + protected final int step; + + /** + * Constructor for an interval [0, upperBound) with step-width 1. + * + * @param upperBound last {@code int}, exclusive + */ + public Interval(int upperBound) + { + this(0, upperBound); + } + + /** + * Constructor for an interval [lowerBound, upperBound) with step-width 1. + * + * @param lowerBound first {@code int}, inclusive + * @param upperBound last {@code int}, exclusive + */ + public Interval(int lowerBound, int upperBound) + { + this(lowerBound, upperBound, 1); + } + + /** + * Constructor for an interval [lowerBound, upperBound) with a custom step-width. + * + * @param lowerBound first {@code int}, inclusive + * @param upperBound last {@code int}, exclusive + * @param step a positive {@code int} + */ + public Interval(int lowerBound, int upperBound, int step) + { + assert step > 0 : "positive step width expected"; + this.lowerBound = lowerBound; + this.upperBound = upperBound; + this.step = step; + } + + @Override + public IntervalIterator iterator() + { + return new IntervalIterator(lowerBound, upperBound, step); + } + + @Override + public String toString() + { + return getClass().getSimpleName() + "(" + lowerBound + ", " + upperBound + ", " + step + ")"; + } + + + + /** + * An Iterator that yields all ints from an interval with a given step-width. + */ + public static class IntervalIterator implements FunctionalPrimitiveIterator.OfInt + { + protected final int upperBound; + protected final int step; + protected int next; + + /** + * Constructor for an Iterator over an interval [lowerBound, upperBound) with a custom step-width. + * + * @param lowerBound first {@code int}, inclusive + * @param upperBound last {@code int}, exclusive + * @param step a positive {@code int} + */ + public IntervalIterator(int first, int upperBound, int step) + { + assert step > 0 : "positive step width expected"; + this.upperBound = upperBound; + this.step = step; + this.next = first; + } + + @Override + public boolean hasNext() + { + return next < upperBound; + } + + @Override + public int nextInt() + { + requireNext(); + int current = next; + next = next + step; + return current; + } + + @Override + public boolean contains(int i) + { + boolean result = (i >= next) && (i < upperBound) && ((i - next) % step) == 0; + next = upperBound; + return result; + } + + @Override + public long count() + { + if (next >= upperBound) { + return 0; + } + long result = ((long)upperBound - (long)next - 1) / step + 1; + next = upperBound; + return result; + } + + @Override + public OptionalInt max() + { + OptionalInt result = (next >= upperBound) ? OptionalInt.empty() : OptionalInt.of(upperBound); + next = upperBound; + return result; + } + + @Override + public OptionalInt min() + { + OptionalInt result = (next >= upperBound) ? OptionalInt.empty() : OptionalInt.of(next); + next = upperBound; + return result; + } + + @Override + public long sum() + { + if (next >= upperBound) { + return 0; + } + // Sn = a + (a+d) + (a+2d) + ... + (a+(n-1)d) + // Sn = n(2a+(n-1)d)/2 + long count = count(); + long result = count * (2*next + (count-1)*step)/2; + next = upperBound; + return result; + } + } + + + + /** + * Simple test method + */ + public static void main(final String[] args) + { + Interval interval = new Interval(-3, 5); + IteratorTools.printIterator("Interval(-3, 5, 1)", interval.iterator()); + System.out.println("count = "+interval.count()); + System.out.println("sum = "+interval.sum()); + + interval = new Interval(-3, 3, 2); + IteratorTools.printIterator("Interval(-3, 3, 2)", interval.iterator()); + System.out.println("count = "+interval.count()); + System.out.println("sum = "+interval.sum()); + + interval = new Interval(-3, 5, 3); + IteratorTools.printIterator("Interval(-3, 5, 3)", interval.iterator()); + System.out.println("count = "+interval.count()); + System.out.println("sum = "+interval.sum()); + + interval = new Interval(-3, -3); + IteratorTools.printIterator("Interval(-3, -3)", interval.iterator()); + System.out.println("count = "+interval.count()); + System.out.println("sum = "+interval.sum()); + + interval = new Interval(-5, -3); + IteratorTools.printIterator("Interval(-5, -3)", interval.iterator()); + System.out.println("count = "+interval.count()); + System.out.println("sum = "+interval.sum()); +} +} diff --git a/prism/src/common/iterable/IterableAdaptor.java b/prism/src/common/iterable/IterableAdaptor.java new file mode 100644 index 0000000000..ac9d927e83 --- /dev/null +++ b/prism/src/common/iterable/IterableAdaptor.java @@ -0,0 +1,165 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Objects; +import java.util.PrimitiveIterator; +import java.util.function.Consumer; +import java.util.function.DoubleConsumer; +import java.util.function.IntConsumer; +import java.util.function.LongConsumer; + +/** + * An adaptor that extends non-functional Iterables with the methods provided by {@link FunctionalIterable}. + * + * @param type of the {@link Iterable}'s elements + * @param type of the Iterable to extend + */ +public abstract class IterableAdaptor> implements FunctionalIterable +{ + /** the Iterable that is extended */ + protected final I iterable; + + /** + * Generic constructor that wraps an Iterable. + * + * @param iterable the {@link Iterable} to be extended + */ + public IterableAdaptor(I iterable) + { + Objects.requireNonNull(iterable); + this.iterable = iterable; + } + + @Override + public void forEach(Consumer action) + { + iterable.forEach(action); + } + + + + public static class Of extends IterableAdaptor> + { + /** + * Generic constructor that wraps an Iterable. + * + * @param iterable the {@link Iterable} to be extended + */ + public Of(Iterable iterable) + { + super(iterable); + } + + @Override + public IteratorAdaptor.Of iterator() + { + return new IteratorAdaptor.Of<>(iterable.iterator()); + } + } + + + + public static class OfDouble extends IterableAdaptor implements FunctionalPrimitiveIterable.OfDouble + { + /** + * Constructor that wraps a PrimitiveIterator.OfDouble. + * + * @param iterator the {@link PrimitiveIterator.OfDouble} to be extended + */ + public OfDouble(PrimitiveIterable.OfDouble iterator) + { + super(iterator); + } + + @Override + public IteratorAdaptor.OfDouble iterator() + { + return new IteratorAdaptor.OfDouble(iterable.iterator()); + } + + @Override + public void forEach(DoubleConsumer action) + { + iterable.forEach(action); + } + } + + + + public static class OfInt extends IterableAdaptor implements FunctionalPrimitiveIterable.OfInt + { + /** + * Constructor that wraps a PrimitiveIterator.OfInt. + * + * @param iterator the {@link PrimitiveIterator.OfLong} to be extended + */ + public OfInt(PrimitiveIterable.OfInt iterator) + { + super(iterator); + } + + @Override + public IteratorAdaptor.OfInt iterator() + { + return new IteratorAdaptor.OfInt(iterable.iterator()); + } + + @Override + public void forEach(IntConsumer action) + { + iterable.forEach(action); + } +} + + + + public static class OfLong extends IterableAdaptor implements FunctionalPrimitiveIterable.OfLong + { + /** + * Constructor that wraps a PrimitiveIterator.OfLong. + * + * @param iterator the {@link PrimitiveIterator.OfLong} to be extended + */ + public OfLong(PrimitiveIterable.OfLong iterator) + { + super(iterator); + } + + @Override + public IteratorAdaptor.OfLong iterator() + { + return new IteratorAdaptor.OfLong(iterable.iterator()); + } + + @Override + public void forEach(LongConsumer action) + { + iterable.forEach(action); + } + } +} diff --git a/prism/src/common/iterable/IterableArray.java b/prism/src/common/iterable/IterableArray.java new file mode 100644 index 0000000000..5b8c50c8bc --- /dev/null +++ b/prism/src/common/iterable/IterableArray.java @@ -0,0 +1,213 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// * Marcus Daum (Frauenhofer Institut) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Objects; + +/** + * Abstract base class of efficient Iterables over array slices. + * + * @param type of the array elements + */ +public abstract class IterableArray implements FunctionalIterable +{ + protected final int fromIndex; + protected final int toIndex; + + /** + * Iterable slice of array in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + * @param length length of the array + */ + protected IterableArray(int fromIndex, int toIndex, int length) + { + Objects.checkFromToIndex(fromIndex, toIndex, length); + this.fromIndex = fromIndex; + this.toIndex = toIndex; + } + + @Override + public long count() + { + return size(); + } + + @Override + public abstract ArrayIterator iterator(); + + /** + * Get the number of elements. + */ + public int size() + { + return Math.max(0, toIndex - fromIndex); + } + + + + /** + * Generic implementation of an Iterable over an array slice. + * + * @param type of the array elements + */ + public static class Of extends IterableArray + { + protected final E[] elements; + + /** + * Iterable slice of array over all elements. + */ + @SafeVarargs + public Of(E... elements) + { + this(elements,0, elements.length); + } + + /** + * Iterable slice of array in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public Of(E[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public ArrayIterator.Of iterator() + { + return new ArrayIterator.Of<>(elements, fromIndex, toIndex); + } + } + + + + /** + * Primitive specialisation for {@code double} of an Iterable over an array slice. + */ + public static class OfInt extends IterableArray implements FunctionalPrimitiveIterable.OfInt + { + protected final int[] elements; + + /** + * Iterable slice of array over all elements. + */ + public OfInt(int... elements) + { + this(elements, 0, elements.length); + } + + public OfInt(int[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public ArrayIterator.OfInt iterator() + { + return new ArrayIterator.OfInt(elements, fromIndex, toIndex); + } + } + + + + /** + * Primitive specialisation for {@code int} of an Iterable over an array slice. + */ + public static class OfDouble extends IterableArray implements FunctionalPrimitiveIterable.OfDouble + { + protected final double[] elements; + + /** + * Iterable slice of array over all elements. + */ + public OfDouble(double... elements) + { + this(elements,0, elements.length); + } + + /** + * Iterable slice of array in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public OfDouble(double[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public ArrayIterator.OfDouble iterator() + { + return new ArrayIterator.OfDouble(elements, fromIndex, toIndex); + } + } + + + + /** + * Primitive specialisation for {@code long} of an Iterable over an array slice. + */ + public static class OfLong extends IterableArray implements FunctionalPrimitiveIterable.OfLong + { + protected final long[] elements; + + /** + * Iterable slice of array over all elements. + */ + public OfLong(long... elements) + { + this(elements,0, elements.length); + } + + /** + * Iterable slice of array in index interval [fromIndex, toIndex). + * + * @param fromIndex first index, inclusive + * @param toIndex last index, exclusive + */ + public OfLong(long[] elements, int fromIndex, int toIndex) + { + super(fromIndex, toIndex, elements.length); + this.elements = elements; + } + + @Override + public ArrayIterator.OfLong iterator() + { + return new ArrayIterator.OfLong(elements, fromIndex, toIndex); + } + } +} diff --git a/prism/src/common/iterable/IterableDouble.java b/prism/src/common/iterable/IterableDouble.java deleted file mode 100644 index f2690013e3..0000000000 --- a/prism/src/common/iterable/IterableDouble.java +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// -// Copyright (c) 2016- -// Authors: -// * Steffen Maercker (TU Dresden) -// -//------------------------------------------------------------------------------ -// -// This file is part of PRISM. -// -// PRISM is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// PRISM is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with PRISM; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -//============================================================================== - -package common.iterable; - -import java.util.PrimitiveIterator.OfDouble; - -/** Iterable for a PrimitiveIterator.OfDouble */ -public interface IterableDouble extends Iterable -{ - @Override - public OfDouble iterator(); -} diff --git a/prism/src/common/iterable/IterableInt.java b/prism/src/common/iterable/IterableInt.java deleted file mode 100644 index db8e42531e..0000000000 --- a/prism/src/common/iterable/IterableInt.java +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// -// Copyright (c) 2016- -// Authors: -// * Steffen Maercker (TU Dresden) -// -//------------------------------------------------------------------------------ -// -// This file is part of PRISM. -// -// PRISM is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// PRISM is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with PRISM; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -//============================================================================== - -package common.iterable; - -import java.util.PrimitiveIterator.OfInt; - -/** Iterable for a PrimitiveIterator.OfInt */ -public interface IterableInt extends Iterable -{ - @Override - public OfInt iterator(); -} diff --git a/prism/src/common/iterable/IterableLong.java b/prism/src/common/iterable/IterableLong.java deleted file mode 100644 index c113ef73f1..0000000000 --- a/prism/src/common/iterable/IterableLong.java +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// -// Copyright (c) 2016- -// Authors: -// * Steffen Maercker (TU Dresden) -// -//------------------------------------------------------------------------------ -// -// This file is part of PRISM. -// -// PRISM is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// PRISM is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with PRISM; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -//============================================================================== - -package common.iterable; - -import java.util.PrimitiveIterator.OfLong; - -/** Iterable for a PrimitiveIterator.OfLong */ -public interface IterableLong extends Iterable -{ - @Override - public OfLong iterator(); -} diff --git a/prism/src/common/iterable/IteratorAdaptor.java b/prism/src/common/iterable/IteratorAdaptor.java new file mode 100644 index 0000000000..3b7b060831 --- /dev/null +++ b/prism/src/common/iterable/IteratorAdaptor.java @@ -0,0 +1,226 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Iterator; +import java.util.Objects; +import java.util.PrimitiveIterator; +import java.util.function.Consumer; +import java.util.function.DoubleConsumer; +import java.util.function.IntConsumer; +import java.util.function.LongConsumer; + +/** + * Abstract base class of adaptors that extend non-functional Iterators with the methods provided by {@link FunctionalIterator}. + * Implementations should release the underlying Iterator after iteration. + * + * @param type of the {@link Iterator}'s elements + * @param type of the Iterator to extend + */ +public abstract class IteratorAdaptor> implements FunctionalIterator +{ + /** the Iterator that is extended */ + protected I iterator; + + /** + * Generic constructor that wraps an Iterator. + * + * @param iterator the {@link Iterator} to be extended + */ + public IteratorAdaptor(I iterator) + { + Objects.requireNonNull(iterator); + this.iterator = iterator; + } + + @Override + public boolean hasNext() + { + if (iterator.hasNext()) { + return true; + } + release(); + return false; + } + + @Override + public E next() + { + return iterator.next(); + } + + @Override + public void forEachRemaining(Consumer action) + { + iterator.forEachRemaining(action); + release(); + } + + /** + * Unwrap a nested iterator if this instance is an adaptor wrapping an Iterator. + * Use to avoid repeated indirections, especially in loops. + * + * @return the wrapped iterator. + */ + @Override + public I unwrap() + { + return iterator; + } + + + + /** + * Generic implementation of an {@link IteratorAdaptor}. + * + * @param type of the Iterator's elements + */ + public static class Of extends IteratorAdaptor> + { + public Of(Iterator iterator) + { + super(iterator); + } + + @Override + public void release() + { + iterator = EmptyIterator.of(); + } + } + + + + /** + * Primitive specialisation for {@code double} of an {@link IteratorAdaptor}. + */ + public static class OfDouble extends IteratorAdaptor implements FunctionalPrimitiveIterator.OfDouble + { + /** + * Constructor that wraps a PrimitiveIterator.OfDouble. + * + * @param iterator the {@link PrimitiveIterator.OfDouble} to be extended + */ + public OfDouble(PrimitiveIterator.OfDouble iterator) + { + super(iterator); + } + + @Override + public double nextDouble() + { + return iterator.nextDouble(); + } + + @Override + public void forEachRemaining(DoubleConsumer action) + { + iterator.forEachRemaining(action); + release(); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofDouble(); + } + } + + + + /** + * Primitive specialisation for {@code int} of an {@link IteratorAdaptor}. + */ + public static class OfInt extends IteratorAdaptor implements FunctionalPrimitiveIterator.OfInt + { + /** + * Constructor that wraps a PrimitiveIterator.OfInt. + * + * @param iterator the {@link PrimitiveIterator.OfInt} to be extended + */ + public OfInt(PrimitiveIterator.OfInt iterator) + { + super(iterator); + } + + @Override + public int nextInt() + { + return iterator.nextInt(); + } + + @Override + public void forEachRemaining(IntConsumer action) + { + iterator.forEachRemaining(action); + release(); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofInt(); + } + } + + + + /** + * Primitive specialisation for {@code long} of an {@link IteratorAdaptor}. + */ + public static class OfLong extends IteratorAdaptor implements FunctionalPrimitiveIterator.OfLong + { + /** + * Constructor that wraps a PrimitiveIterator.OfLong. + * + * @param iterator the {@link PrimitiveIterator.OfLong} to be extended + */ + public OfLong(PrimitiveIterator.OfLong iterator) + { + super(iterator); + } + + @Override + public long nextLong() + { + return iterator.nextLong(); + } + + @Override + public void forEachRemaining(LongConsumer action) + { + iterator.forEachRemaining(action); + release(); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofLong(); + } + } +} diff --git a/prism/src/common/iterable/MappingIterable.java b/prism/src/common/iterable/MappingIterable.java new file mode 100644 index 0000000000..f1e12f6222 --- /dev/null +++ b/prism/src/common/iterable/MappingIterable.java @@ -0,0 +1,566 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.util.Objects; +import java.util.function.DoubleFunction; +import java.util.function.DoubleToIntFunction; +import java.util.function.DoubleToLongFunction; +import java.util.function.DoubleUnaryOperator; +import java.util.function.Function; +import java.util.function.IntFunction; +import java.util.function.IntToDoubleFunction; +import java.util.function.IntToLongFunction; +import java.util.function.IntUnaryOperator; +import java.util.function.LongFunction; +import java.util.function.LongToDoubleFunction; +import java.util.function.LongToIntFunction; +import java.util.function.LongUnaryOperator; +import java.util.function.ToDoubleFunction; +import java.util.function.ToIntFunction; +import java.util.function.ToLongFunction; + +/** + * Abstract base class for Iterables that map elements using a function {@code f: S -> E}. + * Yields the result of applying {@code f} to each each element of the underlying Iterable: + * Iterable(S) -{@code f}-> Iterable(E) + * + * @param type of the underlying Iterable's elements + * @param type of the Iterable's elements after mapping + * @param type of the underlying Iterable + */ +public abstract class MappingIterable> implements FunctionalIterable +{ + /** The Iterable which elements are mapped */ + protected final I iterable; + + /** + * Constructor for a mapping Iterable without a mapping function. + * + * @param iterable an Iterable to be mapped + */ + public MappingIterable(I iterable) + { + Objects.requireNonNull(iterable); + this.iterable = iterable; + } + + + + /** + * Generic implementation using a function {@code f: S -> E}. + * + * @param type of the underlying Iterable's elements + * @param type of the Iterable's elements after mapping + */ + public static class ObjToObj extends MappingIterable> + { + /** The function the Iterable uses to map the elements */ + protected final Function function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public ObjToObj(Iterable iterable, Function function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalIterator iterator() + { + return new MappingIterator.ObjToObj<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: S -> double}. + * + * @param type of the underlying Iterable's elements + */ + public static class ObjToDouble extends MappingIterable> implements FunctionalPrimitiveIterable.OfDouble + { + /** The function the Iterable uses to map the elements */ + protected final ToDoubleFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public ObjToDouble(Iterable iterable, ToDoubleFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfDouble iterator() + { + return new MappingIterator.ObjToDouble<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: S -> int}. + * + * @param type of the underlying Iterable's elements + */ + public static class ObjToInt extends MappingIterable> implements FunctionalPrimitiveIterable.OfInt + { + /** The function the Iterable uses to map the elements */ + protected final ToIntFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public ObjToInt(Iterable iterable, ToIntFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfInt iterator() + { + return new MappingIterator.ObjToInt<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: S -> long}. + * + * @param type of the underlying Iterable's elements + */ + public static class ObjToLong extends MappingIterable> implements FunctionalPrimitiveIterable.OfLong + { + /** The function the Iterable uses to map the elements */ + protected final ToLongFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public ObjToLong(Iterable iterable, ToLongFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfLong iterator() + { + return new MappingIterator.ObjToLong<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: double -> E}. + * + * @param type of the Iterable's elements after mapping + */ + public static class DoubleToObj extends MappingIterable + { + /** The function the Iterable uses to map the elements */ + protected final DoubleFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public DoubleToObj(PrimitiveIterable.OfDouble iterable, DoubleFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalIterator iterator() + { + return new MappingIterator.DoubleToObj<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: double -> double}. + */ + public static class DoubleToDouble extends MappingIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** The function the Iterable uses to map the elements */ + protected final DoubleUnaryOperator function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public DoubleToDouble(PrimitiveIterable.OfDouble iterable, DoubleUnaryOperator function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfDouble iterator() + { + return new MappingIterator.DoubleToDouble(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: double -> int}. + */ + public static class DoubleToInt extends MappingIterable implements FunctionalPrimitiveIterable.OfInt + { + /** The function the Iterable uses to map the elements */ + protected final DoubleToIntFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public DoubleToInt(PrimitiveIterable.OfDouble iterable, DoubleToIntFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfInt iterator() + { + return new MappingIterator.DoubleToInt(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: double -> long}. + */ + public static class DoubleToLong extends MappingIterable implements FunctionalPrimitiveIterable.OfLong + { + /** The function the Iterable uses to map the elements */ + protected final DoubleToLongFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public DoubleToLong(PrimitiveIterable.OfDouble iterable, DoubleToLongFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfLong iterator() + { + return new MappingIterator.DoubleToLong(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: int -> E}. + * + * @param type of the Iterable's elements after mapping + */ + public static class IntToObj extends MappingIterable + { + /** The function the Iterable uses to map the elements */ + protected final IntFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public IntToObj(PrimitiveIterable.OfInt iterable, IntFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalIterator iterator() + { + return new MappingIterator.IntToObj<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: int -> double}. + */ + public static class IntToDouble extends MappingIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** The function the Iterable uses to map the elements */ + protected final IntToDoubleFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public IntToDouble(PrimitiveIterable.OfInt iterable, IntToDoubleFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfDouble iterator() + { + return new MappingIterator.IntToDouble(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: int -> int}. + */ + public static class IntToInt extends MappingIterable implements FunctionalPrimitiveIterable.OfInt + { + /** The function the Iterable uses to map the elements */ + protected final IntUnaryOperator function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public IntToInt(PrimitiveIterable.OfInt iterable, IntUnaryOperator function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfInt iterator() + { + return new MappingIterator.IntToInt(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: int -> long}. + */ + public static class IntToLong extends MappingIterable implements FunctionalPrimitiveIterable.OfLong + { + /** The function the Iterable uses to map the elements */ + protected final IntToLongFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public IntToLong(PrimitiveIterable.OfInt iterable, IntToLongFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfLong iterator() + { + return new MappingIterator.IntToLong(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: long -> E}. + * + * @param type of the Iterable's elements after mapping + */ + public static class LongToObj extends MappingIterable + { + /** The function the Iterable uses to map the elements */ + protected final LongFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public LongToObj(PrimitiveIterable.OfLong iterable, LongFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalIterator iterator() + { + return new MappingIterator.LongToObj<>(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: long -> double}. + */ + public static class LongToDouble extends MappingIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** The function the Iterable uses to map the elements */ + protected final LongToDoubleFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public LongToDouble(PrimitiveIterable.OfLong iterable, LongToDoubleFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfDouble iterator() + { + return new MappingIterator.LongToDouble(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: long -> int}. + */ + public static class LongToInt extends MappingIterable implements FunctionalPrimitiveIterable.OfInt + { + /** The function the Iterable uses to map the elements */ + protected final LongToIntFunction function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public LongToInt(PrimitiveIterable.OfLong iterable, LongToIntFunction function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfInt iterator() + { + return new MappingIterator.LongToInt(iterable.iterator(), function); + } + } + + + + /** + * Primitive specialisation of a mapping Iterable using a function {@code f: long -> long}. + */ + public static class LongToLong extends MappingIterable implements FunctionalPrimitiveIterable.OfLong + { + /** The function the Iterable uses to map the elements */ + protected final LongUnaryOperator function; + + /** + * Constructor for an Iterable that maps elements using a function. + * + * @param iterable an Iterable to be mapped + * @param function a function used to map the elements + */ + public LongToLong(PrimitiveIterable.OfLong iterable, LongUnaryOperator function) + { + super(iterable); + Objects.requireNonNull(function); + this.function = function; + } + + @Override + public FunctionalPrimitiveIterator.OfLong iterator() + { + return new MappingIterator.LongToLong(iterable.iterator(), function); + } + } +} \ No newline at end of file diff --git a/prism/src/common/iterable/MappingIterator.java b/prism/src/common/iterable/MappingIterator.java index 8f81d74f44..f4195a195e 100644 --- a/prism/src/common/iterable/MappingIterator.java +++ b/prism/src/common/iterable/MappingIterator.java @@ -1,6 +1,34 @@ +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + package common.iterable; import java.util.Iterator; +import java.util.Objects; +import java.util.PrimitiveIterator; import java.util.PrimitiveIterator.OfDouble; import java.util.PrimitiveIterator.OfInt; import java.util.PrimitiveIterator.OfLong; @@ -21,443 +49,657 @@ import java.util.function.ToIntFunction; import java.util.function.ToLongFunction; -/** Helpers for mapping Iterators to another Iterator, performing some mapping on the elements */ -public abstract class MappingIterator implements Iterator +/** + * Abstract base class for Iterators that map elements using a function {@code f: S -> E}. + * Yields the result of applying {@code f} to each each element of the underlying Iterator: + * Iterator(S) -{@code f}-> Iterator(E) + *

+ * The calls to {@code next()} of the underlying Iterator happen on-the-fly, + * i.e., only when {@code next()} is called for this Iterator. + *

+ * Implementations should release the underlying Iterator after iteration. + * + * @param type of the underlying Iterator's elements + * @param type of the Iterator's elements after mapping + * @param type of the underlying Iterator + */ +public abstract class MappingIterator> implements FunctionalIterator { - protected final Iterator iterator; - - public MappingIterator(Iterable iterable) - { - this(iterable.iterator()); - } - - public MappingIterator(Iterator iterator) + /** The Iterator which elements are mapped */ + protected I iterator; + + /** + * Constructor for a MappingIterator without a mapping function. + * + * @param iterator an Iterator to be mapped + */ + public MappingIterator(I iterator) { + Objects.requireNonNull(iterator); this.iterator = iterator; } @Override public boolean hasNext() { - return iterator.hasNext(); + if (iterator.hasNext()) { + return true; + } + release(); + return false; } @Override - public void remove() + public long count() { - iterator.remove(); + // do not apply mapping, just count elements of underlying iterator + return Reducible.extend(iterator).count(); } - /** Map an Iterator to an Iterator using the given mapping function */ - public static class From extends MappingIterator - { - protected final Function function; - public From(Iterable iterable, Function function) - { - this(iterable.iterator(), function); - } - public From(Iterator iterator, Function function) + /** + * Generic implementation of a MappingIterator using a function {@code f: S -> E}. + * + * @param type of the underlying Iterator's elements + * @param type of the Iterator's elements after mapping + */ + public static class ObjToObj extends MappingIterator> + { + /** The function the Iterator uses to map the elements */ + protected final Function function; + + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public ObjToObj(Iterator iterator, Function function) { super(iterator); + Objects.requireNonNull(function); this.function = function; } @Override - public T next() + public E next() { + requireNext(); return function.apply(iterator.next()); } - } - - /** Map an Iterable to a PrimitiveIterator.OfInt */ - public static OfInt toInt(Iterable iterable) - { - return toInt(iterable.iterator()); - } - /** Map an Iterator to a PrimitiveIterator.OfInt */ - public static OfInt toInt(Iterator iterator) - { - if (iterator instanceof OfInt) { - return (OfInt) iterator; + @Override + public void release() + { + iterator = EmptyIterator.of(); } - return new ToInt<>(iterator, Integer::intValue); } - /** Map an Iterator to a PrimitiveIterator.OfInt using the given mapping function */ - public static class ToInt extends MappingIterator implements OfInt + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: S -> double}. + * + * @param type of the underlying Iterator's elements + */ + public static class ObjToDouble extends MappingIterator> implements FunctionalPrimitiveIterator.OfDouble { - protected ToIntFunction function; + /** The function the Iterator uses to map the elements */ + protected final ToDoubleFunction function; - public ToInt(Iterable iterable, ToIntFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public ObjToDouble(Iterator iterator, ToDoubleFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public ToInt(Iterator iterator, ToIntFunction function) + @Override + public double nextDouble() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsDouble(iterator.next()); } @Override - public int nextInt() + public void release() { - return function.applyAsInt(iterator.next()); + iterator = EmptyIterator.of(); } } - /** Map an Iterable to a PrimitiveIterator.OfDouble */ - public static OfDouble toDouble(Iterable iterable) - { - return toDouble(iterable.iterator()); - } - /** Map an Iterator to a PrimitiveIterator.OfDouble */ - public static OfDouble toDouble(Iterator iterator) - { - if (iterator instanceof OfDouble) { - return (OfDouble) iterator; - } - return new ToDouble<>(iterator, Double::doubleValue); - } - /** Map an Iterator to a PrimitiveIterator.OfDouble using the given mapping function */ - public static class ToDouble extends MappingIterator implements OfDouble + /** + * Primitive specialisation of a MappingIterator using a function {@code f: S -> int}. + * + * @param type of the underlying Iterator's elements + */ + public static class ObjToInt extends MappingIterator> implements FunctionalPrimitiveIterator.OfInt { - protected ToDoubleFunction function; + /** The function the Iterator uses to map the elements */ + protected final ToIntFunction function; - public ToDouble(Iterable iterable, ToDoubleFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public ObjToInt(Iterator iterator, ToIntFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public ToDouble(Iterator iterator, ToDoubleFunction function) + @Override + public int nextInt() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsInt(iterator.next()); } @Override - public double nextDouble() + public void release() { - return function.applyAsDouble(iterator.next()); + iterator = EmptyIterator.of(); } } - /** Map an Iterable to a PrimitiveIterator.OfLong */ - public static OfLong toLong(Iterable iterable) - { - return toLong(iterable.iterator()); - } - /** Map an Iterator to a PrimitiveIterator.OfLong */ - public static OfLong toLong(Iterator iterator) - { - if (iterator instanceof OfLong) { - return (OfLong) iterator; - } - return new ToLong<>(iterator, Long::longValue); - } - /** Map an Iterator to a PrimitiveIterator.OfLong using the given mapping function */ - public static class ToLong extends MappingIterator implements OfLong + /** + * Primitive specialisation of a MappingIterator using a function {@code f: S -> long}. + * + * @param type of the underlying Iterator's elements + */ + public static class ObjToLong extends MappingIterator> implements FunctionalPrimitiveIterator.OfLong { - protected ToLongFunction function; - - public ToLong(Iterable iterable, ToLongFunction function) - { - this(iterable.iterator(), function); - } + /** The function the Iterator uses to map the elements */ + protected final ToLongFunction function; - public ToLong(Iterator iterator, ToLongFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public ObjToLong(Iterator iterator, ToLongFunction function) { super(iterator); + Objects.requireNonNull(function); this.function = function; } @Override public long nextLong() { + requireNext(); return function.applyAsLong(iterator.next()); } + + @Override + public void release() + { + iterator = EmptyIterator.of(); + } } - /** Map an iterator over integers to an iterator over T */ - public static class FromInt extends MappingIterator + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: double -> E}. + * + * @param type of the Iterator's elements after mapping + */ + public static class DoubleToObj extends MappingIterator { - protected IntFunction function; + /** The function the Iterator uses to map the elements */ + protected final DoubleFunction function; - public FromInt(IterableInt iterable, IntFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public DoubleToObj(OfDouble iterator, DoubleFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromInt(OfInt iterator, IntFunction function) + @Override + public E next() { - super(iterator); - this.function = function; + requireNext(); + return function.apply(iterator.nextDouble()); } @Override - public T next() + public void release() { - return function.apply(((OfInt) iterator).nextInt()); + iterator = EmptyIterator.ofDouble(); } } - /** Map an iterator over integers to another iterator over integers */ - public static class FromIntToInt extends MappingIterator implements OfInt + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: double -> double}. + */ + public static class DoubleToDouble extends MappingIterator implements FunctionalPrimitiveIterator.OfDouble { - protected IntUnaryOperator function; + /** The function the Iterator uses to map the elements */ + protected final DoubleUnaryOperator function; - public FromIntToInt(IterableInt iterable, IntUnaryOperator function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public DoubleToDouble(PrimitiveIterator.OfDouble iterator, DoubleUnaryOperator function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromIntToInt(OfInt iterator, IntUnaryOperator function) + @Override + public double nextDouble() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsDouble(iterator.nextDouble()); } @Override - public int nextInt() + public void release() { - return function.applyAsInt(((OfInt) iterator).nextInt()); + iterator = EmptyIterator.ofDouble(); } } - /** Map an iterator over integers to iterator over doubles */ - public static class FromIntToDouble extends MappingIterator implements OfDouble + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: double -> int}. + */ + public static class DoubleToInt extends MappingIterator implements FunctionalPrimitiveIterator.OfInt { - protected IntToDoubleFunction function; + /** The function the Iterator uses to map the elements */ + protected final DoubleToIntFunction function; - public FromIntToDouble(IterableInt iterable, IntToDoubleFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public DoubleToInt(PrimitiveIterator.OfDouble iterator, DoubleToIntFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromIntToDouble(OfInt iterator, IntToDoubleFunction function) + @Override + public int nextInt() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsInt(iterator.nextDouble()); } @Override - public double nextDouble() + public void release() { - return function.applyAsDouble(((OfInt) iterator).nextInt()); + iterator = EmptyIterator.ofDouble(); } } - /** Map an iterator over integers to iterator over longs */ - public static class FromIntToLong extends MappingIterator implements OfLong - { - protected IntToLongFunction function; - public FromIntToLong(IterableInt iterable, IntToLongFunction function) - { - this(iterable.iterator(), function); - } - public FromIntToLong(OfInt iterator, IntToLongFunction function) + /** + * Primitive specialisation of a MappingIterator using a function {@code f: double -> long}. + */ + public static class DoubleToLong extends MappingIterator implements FunctionalPrimitiveIterator.OfLong + { + /** The function the Iterator uses to map the elements */ + protected final DoubleToLongFunction function; + + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public DoubleToLong(PrimitiveIterator.OfDouble iterator, DoubleToLongFunction function) { super(iterator); + Objects.requireNonNull(function); this.function = function; } @Override public long nextLong() { - return function.applyAsLong(((OfInt) iterator).nextInt()); + requireNext(); + return function.applyAsLong(iterator.nextDouble()); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofDouble(); } } - /** Map an iterator over doubles to an iterator over T */ - public static class FromDouble extends MappingIterator + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: int -> E}. + * + * @param type of the Iterator's elements after mapping + */ + public static class IntToObj extends MappingIterator { - protected DoubleFunction function; + /** The function the Iterator uses to map the elements */ + protected final IntFunction function; - public FromDouble(IterableDouble iterable, DoubleFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public IntToObj(OfInt iterator, IntFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromDouble(OfDouble iterator, DoubleFunction function) + @Override + public E next() { - super(iterator); - this.function = function; + requireNext(); + return function.apply(iterator.nextInt()); } @Override - public T next() + public void release() { - return function.apply(((OfDouble) iterator).nextDouble()); + iterator = EmptyIterator.ofInt(); } } - /** Map an iterator over doubles to an iterator over integers */ - public static class FromDoubleToInt extends MappingIterator implements OfInt + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: int -> double}. + */ + public static class IntToDouble extends MappingIterator implements FunctionalPrimitiveIterator.OfDouble { - protected DoubleToIntFunction function; + /** The function the Iterator uses to map the elements */ + protected final IntToDoubleFunction function; - public FromDoubleToInt(IterableDouble iterable, DoubleToIntFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public IntToDouble(PrimitiveIterator.OfInt iterator, IntToDoubleFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromDoubleToInt(OfDouble iterator, DoubleToIntFunction function) + @Override + public double nextDouble() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsDouble(iterator.nextInt()); } @Override - public int nextInt() + public void release() { - return function.applyAsInt(((OfDouble) iterator).nextDouble()); + iterator = EmptyIterator.ofInt(); } } - /** Map an iterator over doubles to another iterator over doubles */ - public static class FromDoubleToDouble extends MappingIterator implements OfDouble + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: int -> int}. + */ + public static class IntToInt extends MappingIterator implements FunctionalPrimitiveIterator.OfInt { - protected DoubleUnaryOperator function; + /** The function the Iterator uses to map the elements */ + protected final IntUnaryOperator function; - public FromDoubleToDouble(IterableDouble iterable, DoubleUnaryOperator function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public IntToInt(PrimitiveIterator.OfInt iterator, IntUnaryOperator function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromDoubleToDouble(OfDouble iterator, DoubleUnaryOperator function) + @Override + public int nextInt() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsInt(iterator.nextInt()); } @Override - public double nextDouble() + public void release() { - return function.applyAsDouble(((OfDouble) iterator).nextDouble()); + iterator = EmptyIterator.ofInt(); } } - /** Map an iterator over doubles to an iterator over longs */ - public static class FromDoubleToLong extends MappingIterator implements OfLong - { - protected DoubleToLongFunction function; - public FromDoubleToLong(IterableDouble iterable, DoubleToLongFunction function) - { - this(iterable.iterator(), function); - } - public FromDoubleToLong(OfDouble iterator, DoubleToLongFunction function) + /** + * Primitive specialisation of a MappingIterator using a function {@code f: int -> long}. + */ + public static class IntToLong extends MappingIterator implements FunctionalPrimitiveIterator.OfLong + { + /** The function the Iterator uses to map the elements */ + protected final IntToLongFunction function; + + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public IntToLong(PrimitiveIterator.OfInt iterator, IntToLongFunction function) { super(iterator); + Objects.requireNonNull(function); this.function = function; } @Override public long nextLong() { - return function.applyAsLong(((OfDouble) iterator).nextDouble()); + requireNext(); + return function.applyAsLong(iterator.nextInt()); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofInt(); } } - /** Map an iterator over longs to an iterator over T */ - public static class FromLong extends MappingIterator + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: long -> E}. + * + * @param type of the Iterator's elements after mapping + */ + public static class LongToObj extends MappingIterator { - protected LongFunction function; + /** The function the Iterator uses to map the elements */ + protected final LongFunction function; - public FromLong(IterableLong iterable, LongFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public LongToObj(OfLong iterator, LongFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromLong(OfLong iterator, LongFunction function) + @Override + public E next() { - super(iterator); - this.function = function; + requireNext(); + return function.apply(iterator.nextLong()); } @Override - public T next() + public void release() { - return function.apply(((OfLong) iterator).nextLong()); + iterator = EmptyIterator.ofLong(); } } - /** Map an iterator over longs to an iterator over integers */ - public static class FromLongToInt extends MappingIterator implements OfInt + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: long -> double}. + */ + public static class LongToDouble extends MappingIterator implements FunctionalPrimitiveIterator.OfDouble { - protected LongToIntFunction function; + /** The function the Iterator uses to map the elements */ + protected final LongToDoubleFunction function; - public FromLongToInt(IterableLong iterable, LongToIntFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public LongToDouble(PrimitiveIterator.OfLong iterator, LongToDoubleFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromLongToInt(OfLong iterator, LongToIntFunction function) + @Override + public double nextDouble() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsDouble(iterator.nextLong()); } @Override - public int nextInt() + public void release() { - return function.applyAsInt(((OfLong) iterator).nextLong()); + iterator = EmptyIterator.ofLong(); } } - /** Map an iterator over longs to an iterator over doubles */ - public static class FromLongToDouble extends MappingIterator implements OfDouble + + + /** + * Primitive specialisation of a MappingIterator using a function {@code f: long -> int}. + */ + public static class LongToInt extends MappingIterator implements FunctionalPrimitiveIterator.OfInt { - protected LongToDoubleFunction function; + /** The function the Iterator uses to map the elements */ + protected final LongToIntFunction function; - public FromLongToDouble(IterableLong iterable, LongToDoubleFunction function) + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public LongToInt(PrimitiveIterator.OfLong iterator, LongToIntFunction function) { - this(iterable.iterator(), function); + super(iterator); + Objects.requireNonNull(function); + this.function = function; } - public FromLongToDouble(OfLong iterator, LongToDoubleFunction function) + @Override + public int nextInt() { - super(iterator); - this.function = function; + requireNext(); + return function.applyAsInt(iterator.nextLong()); } @Override - public double nextDouble() + public void release() { - return function.applyAsDouble(((OfLong) iterator).nextLong()); + iterator = EmptyIterator.ofLong(); } } - /** Map an iterator over longs to another iterator over longs */ - public static class FromLongToLong extends MappingIterator implements OfLong - { - protected LongUnaryOperator function; - public FromLongToLong(IterableLong iterable, LongUnaryOperator function) - { - this(iterable.iterator(), function); - } - public FromLongToLong(OfLong iterator, LongUnaryOperator function) + /** + * Primitive specialisation of a MappingIterator using a function {@code f: long -> long}. + */ + public static class LongToLong extends MappingIterator implements FunctionalPrimitiveIterator.OfLong + { + /** The function the Iterator uses to map the elements */ + protected final LongUnaryOperator function; + + /** + * Constructor for an Iterator that maps elements using a function. + * + * @param iterator an Iterator to be mapped + * @param function a function used to map the elements + */ + public LongToLong(PrimitiveIterator.OfLong iterator, LongUnaryOperator function) { super(iterator); + Objects.requireNonNull(function); this.function = function; } @Override public long nextLong() { - return function.applyAsLong(((OfLong) iterator).nextLong()); + requireNext(); + return function.applyAsLong(iterator.nextLong()); + } + + @Override + public void release() + { + iterator = EmptyIterator.ofLong(); } } -} +} \ No newline at end of file diff --git a/prism/src/common/iterable/PrimitiveReducible.java b/prism/src/common/iterable/PrimitiveReducible.java new file mode 100644 index 0000000000..824bd9d56e --- /dev/null +++ b/prism/src/common/iterable/PrimitiveReducible.java @@ -0,0 +1,922 @@ +package common.iterable; + +import common.functions.*; + +import java.util.*; +import java.util.function.*; + +/** + * A base type for primitive specializations of the methods provided by {@link Reducible}. + * Specialized sub interfaces are provided for {@code double}, {@code int} and {@code long}: + *

    + *
  • {@link PrimitiveReducible.OfDouble}
  • + *
  • {@link PrimitiveReducible.OfInt}
  • + *
  • {@link PrimitiveReducible.OfLong}
  • + *
+ * + * @param the type of elements returned by this Reducible + * @param the type of primitive consumers for the elements + * + * @see java.util.stream.DoubleStream DoubleStream + * @see java.util.stream.IntStream IntStream + * @see java.util.stream.LongStream LongStream + */ +public interface PrimitiveReducible extends Reducible +{ + /** + * Primitive specialisation of {@link Reducible#forEach}. + * + * @param action the action to be performed with each element + * @see PrimitiveIterator#forEachRemaining(Object); + */ + void forEach(E_CONS action); + + + + /** + * Specialisation for {@code double} of a {@link PrimitiveReducible}. + */ + interface OfDouble extends PrimitiveReducible + { + // Transforming Methods + + @Override + default OfDouble dedupe() + { + DoublePredicate isFirst = new DoublePredicate() + { + boolean start = true; + double previous = 0.0; + + @Override + public boolean test(double d) + { + if (start) { + start = false; + } else if (previous == d) { + return false; + } else if (Double.isNaN(previous) && Double.isNaN(d)) { + // Circumvent Double.NaN != Double.NaN + return false; + } + previous = d; + return true; + } + }; + return filter(isFirst); + } + + @Override + default OfDouble distinct() + { + return filter(new Distinct.OfDouble()); + } + + /** + * Primitive specialisation of {@code filter} for {@code double}. + * + * @see Reducible#filter(java.util.function.Predicate) + */ + OfDouble filter(DoublePredicate predicate); + + /** + * Primitive specialisation of {@code map} for {@code double}. + * + * @see Reducible#map(java.util.function.Function) + */ + Reducible map(DoubleFunction function); + + /** + * Primitive specialisation of {@code mapToDouble} for {@code double}. + * + * @see Reducible#mapToDouble(java.util.function.ToDoubleFunction) + */ + OfDouble mapToDouble(DoubleUnaryOperator function); + + /** + * Primitive specialisation of {@code mapToInt} for {@code double}. + * + * @see Reducible#mapToInt(java.util.function.ToIntFunction) + */ + OfInt mapToInt(DoubleToIntFunction function); + + /** + * Primitive specialisation of {@code mapToLong} for {@code double}. + * + * @see Reducible#mapToLong(java.util.function.ToLongFunction) + */ + OfLong mapToLong(DoubleToLongFunction function); + + + + + // Accumulations Methods (Consuming) + + @Override + default OfDouble consume() + { + forEach((double each) -> {}); + return this; + } + + /** + * Primitive specialisation of {@code allMatch} for {@code double}. + * + * @see Reducible#allMatch(java.util.function.Predicate) + */ + default boolean allMatch(DoublePredicate predicate) + { + return ! anyMatch(predicate.negate()); + } + + /** + * Primitive specialisation of {@code anyMatch} for {@code double}. + * + * @see Reducible#anyMatch(java.util.function.Predicate) + */ + default boolean anyMatch(DoublePredicate predicate) + { + return ! filter(predicate).isEmpty(); + } + + /** + * Primitive specialisation of {@code noneMatch} for {@code double}. + * + * @see Reducible#noneMatch(java.util.function.Predicate) + */ + default boolean noneMatch(DoublePredicate predicate) + { + return ! anyMatch(predicate); + } + + /** + * Primitive specialisation of {@code collect} for {@code double}. + * + * @see Reducible#collect(Object[]) + */ + default double[] collect(double[] array) + { + return collect(array, 0); + } + + /** + * Primitive specialisation of {@code collect} for {@code double}. + * + * @see Reducible#collect(Object[], int) + */ + default double[] collect(double[] array, int offset) + { + collectAndCount(array, offset); + return array; + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code double}. + * + * @see Reducible#collectAndCount(Object[]) + */ + default int collectAndCount(double[] array) + { + return collectAndCount(array, 0); + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code double}. + * + * @see Reducible#collectAndCount(Object[], int) + */ + default int collectAndCount(double[] array, int offset) + { + Objects.requireNonNull(array); + int index = reduce(offset, (int i, double e) -> { + array[i] = e; + return i + 1; + }); + return index - offset; + } + + @Override + default FunctionalPrimitiveIterable.OfDouble collectDistinct() + { + Distinct.OfDouble unseen = new Distinct.OfDouble(); + filter(unseen).consume(); + return unseen.getSeen(); + } + + @Override + default boolean contains(Object obj) + { + if (obj instanceof Double) { + return contains(((Double) obj).doubleValue()); + } + return false; + } + + /** + * Primitive specialisation of {@code contains} for {@code double}. + * Inclusion is defined in terms of {@link ==} except for {@code NaN} for which all instances are consider equal, although {@code Double.NaN != Double.NaN}. + * + * @see Reducible#contains(Object) + */ + default boolean contains(double d) + { + return anyMatch(Double.isNaN(d) ? (double e) -> Double.isNaN(e) : (double e) -> e == d); + } + + @Override + default long count() + { + // avoid auto-boxing + return reduce(0L, (long c, double d) -> c + 1); + } + + /** + * Primitive specialisation of {@code count} for {@code double}. + * + * @see Reducible#count(java.util.function.Predicate) + */ + default long count(DoublePredicate predicate) + { + return filter(predicate).count(); + } + + /** + * Primitive specialisation of {@code detect} for {@code double}. + * + * @see Reducible#detect(java.util.function.Predicate) + */ + double detect(DoublePredicate predicate); + + /** + * Find the maximum. + * + * @return an {@link OptionalDouble} either containing the maximum or being empty if the receiver is empty + * @see Math#max(double, double). + */ + default OptionalDouble max() + { + return reduce((DoubleBinaryOperator) Math::max); + } + + /** + * Find the minimum. + * + * @return an {@link OptionalDouble} either containing the minimum or being empty if the receiver is empty + * @see Math#min(double, double). + */ + default OptionalDouble min() + { + return reduce((DoubleBinaryOperator) Math::min); + } + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(java.util.function.BinaryOperator) + */ + OptionalDouble reduce(DoubleBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(Object, java.util.function.BiFunction) + */ + T reduce(T init, ObjDoubleFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(double, common.functions.DoubleObjToDoubleFunction) + */ + double reduce(double init, DoubleBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(int, common.functions.IntObjToIntFunction) + */ + int reduce(int init, IntDoubleToIntFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(long, common.functions.LongObjToLongFunction) + */ + long reduce(long init, LongDoubleToLongFunction accumulator); + + /** + * Compute the sum over all elements of the receiver. + * + * @return the sum over all elements or 0 if the receiver is empty + */ + default double sum() + { + return reduce(0.0, (DoubleBinaryOperator) Double::sum); + } + } + + + + /** + * Specialisation for {@code int} of a PrimitiveReducible. + */ + interface OfInt extends PrimitiveReducible + { + // Transforming Methods + + @Override + default OfInt dedupe() + { + IntPredicate isFirst = new IntPredicate() + { + boolean start = true; + int previous = 0; + + @Override + public boolean test(int i) + { + if (start) { + start = false; + } else if (previous == i) { + return false; + } + previous = i; + return true; + } + }; + return filter(isFirst); + } + + @Override + default OfInt distinct() + { + return filter(new Distinct.OfInt()); + } + + /** + * Primitive specialisation of {@code filter} for {@code int}. + * + * @see Reducible#filter(java.util.function.Predicate) + */ + OfInt filter(IntPredicate predicate); + + /** + * Primitive specialisation of {@code map} for {@code int}. + * + * @see Reducible#map(java.util.function.Function) + */ + Reducible map(IntFunction function); + + /** + * Primitive specialisation of {@code mapToDouble} for {@code int}. + * + * @see Reducible#mapToDouble(java.util.function.ToDoubleFunction) + */ + OfDouble mapToDouble(IntToDoubleFunction function); + + /** + * Primitive specialisation of {@code mapToInt} for {@code int}. + * + * @see Reducible#mapToInt(java.util.function.ToIntFunction) + */ + OfInt mapToInt(IntUnaryOperator function); + + /** + * Primitive specialisation of {@code mapToLong} for {@code int}. + * + * @see Reducible#mapToLong(java.util.function.ToLongFunction) + */ + OfLong mapToLong(IntToLongFunction function); + + + // Accumulations Methods (Consuming) + + @Override + default OfInt consume() + { + forEach((int each) -> {}); + return this; + } + + /** + * Primitive specialisation of {@code allMatch} for {@code int}. + * + * @see Reducible#allMatch(java.util.function.Predicate) + */ + default boolean allMatch(IntPredicate predicate) + { + return ! anyMatch(predicate.negate()); + } + + /** + * Primitive specialisation of {@code anyMatch} for {@code int}. + * + * @see Reducible#anyMatch(java.util.function.Predicate) + */ + default boolean anyMatch(IntPredicate predicate) + { + return ! filter(predicate).isEmpty(); + } + + /** + * Primitive specialisation of {@code noneMatch} for {@code int}. + * + * @see Reducible#noneMatch(java.util.function.Predicate) + */ + default boolean noneMatch(IntPredicate predicate) + { + return ! anyMatch(predicate); + } + + /** + * Primitive specialisation of {@code collect} for {@code int}. + * + * @see Reducible#collect(Object[]) + */ + default int[] collect(int[] array) + { + return collect(array, 0); + } + + /** + * Primitive specialisation of {@code collect} for {@code int}. + * + * @see Reducible#collect(Object[], int) + */ + default int[] collect(int[] array, int offset) + { + collectAndCount(array, offset); + return array; + } + + /** + * Primitive specialisation of {@code collect} for {@code int} storing the elements in a {@link BitSet}. + * This method fails if the receiver yields a negative integer. + * + * @param indices a {@link BitSet} + * @return the BitSet with all elements added to it + * @throws IndexOutOfBoundsException if an integer is negative + * @see Reducible#collect(java.util.Collection) + */ + default BitSet collect(BitSet indices) + { + forEach((IntConsumer) indices::set); + return indices; + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code int}. + * + * @see Reducible#collectAndCount(Object[]) + */ + default int collectAndCount(int[] array) + { + return collectAndCount(array, 0); + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code int}. + * + * @see Reducible#collectAndCount(Object[]) + */ + default int collectAndCount(int[] array, int offset) + { + Objects.requireNonNull(array); + int index = reduce(offset, (int i, int e) -> { + array[i] = e; + return i + 1; + }); + return index - offset; + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code int} storing the elements in a {@link BitSet}. + * This method fails if the receiver yields a negative integer. + * + * @param indices a {@link BitSet} + * @return the number of elements added to the BitSet + * @throws IndexOutOfBoundsException if an integer is negative + * @see Reducible#collectAndCount(java.util.Collection) + */ + default int collectAndCount(BitSet indices) + { + Objects.requireNonNull(indices); + return reduce(0, (int c, int i) -> { + indices.set(i); + return c + 1; + }); + } + + @Override + default FunctionalPrimitiveIterable.OfInt collectDistinct() + { + Distinct.OfInt unseen = new Distinct.OfInt(); + filter(unseen).consume(); + return unseen.getSeen(); + } + + @Override + default boolean contains(Object obj) + { + if (obj instanceof Integer) { + return contains(((Integer) obj).intValue()); + } + return false; + } + + /** + * Primitive specialisation of {@code contains} for {@code int}. + * + * @see Reducible#contains(Object) + */ + default boolean contains(int i) + { + return anyMatch((int e) -> e == i); + } + + @Override + default long count() + { + // avoid auto-boxing + return reduce(0, (long c, long i) -> c + 1); + } + + /** + * Primitive specialisation of {@code count} for {@code int}. + * + * @see Reducible#count(java.util.function.Predicate) + */ + default long count(IntPredicate predicate) + { + return filter(predicate).count(); + } + + /** + * Primitive specialisation of {@code detect} for {@code int}. + * + * @see Reducible#detect(java.util.function.Predicate) + */ + int detect(IntPredicate predicate); + + /** + * Find the maximum. + * + * @return an {@link OptionalDouble} either containing the maximum or being empty if the receiver is empty + * @see Math#max(int, int). + */ + default OptionalInt max() + { + return reduce((IntBinaryOperator) Math::max); + } + + /** + * Find the minimum. + * + * @return an {@link OptionalDouble} either containing the minimum or being empty if the receiver is empty + * @see Math#min(int, int). + */ + default OptionalInt min() + { + return reduce((IntBinaryOperator) Math::min); + } + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * This methods exploits the widening primitive conversion from {@code int} to {@code double}. + * + * @see Reducible#reduce(java.util.function.BinaryOperator) + */ + OptionalDouble reduce(DoubleBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code int}. + * + * @see Reducible#reduce(java.util.function.BinaryOperator) + */ + OptionalInt reduce(IntBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code long}. + * This methods exploits the widening primitive conversion from {@code int} to {@code long}. + * + * @see Reducible#reduce(java.util.function.BinaryOperator) + */ + OptionalLong reduce(LongBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code int}. + * + * @see Reducible#reduce(Object, java.util.function.BiFunction) + */ + T reduce(T init, ObjIntFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * This methods exploits the widening primitive conversion from {@code int} to {@code double}. + * + * @see Reducible#reduce(double, common.functions.DoubleObjToDoubleFunction) + */ + double reduce(double init, DoubleBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code int}. + * + * @see Reducible#reduce(int, common.functions.IntObjToIntFunction) + */ + int reduce(int init, IntBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code long}. + * This methods exploits the widening primitive conversion from {@code int} to {@code long}. + * + * @see Reducible#reduce(long, common.functions.LongObjToLongFunction) + */ + long reduce(long init, LongBinaryOperator accumulator); + + /** + * Compute the sum over all elements of the receiver. + * + * @return the sum over all elements or 0 if the receiver is empty + */ + default long sum() + { + return reduce(0L, (LongBinaryOperator) Long::sum); + } + } + + + + /** + * Specialisation for {@code long} of a PrimitiveReducible. + */ + interface OfLong extends PrimitiveReducible + { + // Transforming Methods + + @Override + default OfLong dedupe() + { + LongPredicate isFirst = new LongPredicate() + { + boolean start = true; + long previous = 0; + + @Override + public boolean test(long l) + { + if (start) { + start = false; + } else if (previous == l) { + return false; + } + previous = l; + return true; + } + }; + return filter(isFirst); + } + + @Override + default OfLong distinct() + { + return filter(new Distinct.OfLong()); + } + + /** + * Primitive specialisation of {@code filter} for {@code long}. + * + * @see Reducible#filter(java.util.function.Predicate) + */ + OfLong filter(LongPredicate predicate); + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see Reducible#map(java.util.function.Function) + */ + Reducible map(LongFunction function); + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see Reducible#mapToDouble(java.util.function.ToDoubleFunction) + */ + OfDouble mapToDouble(LongToDoubleFunction function); + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see Reducible#mapToInt(java.util.function.ToIntFunction) + */ + OfInt mapToInt(LongToIntFunction function); + + /** + * Primitive specialisation of {@code map} for {@code long}. + * + * @see Reducible#mapToLong(java.util.function.ToLongFunction) + */ + OfLong mapToLong(LongUnaryOperator function); + + + + // Accumulations Methods (Consuming) + + @Override + default OfLong consume() + { + forEach((long each) -> {}); + return this; + } + + /** + * Primitive specialisation of {@code allMatch} for {@code long}. + * + * @see Reducible#allMatch(java.util.function.Predicate) + */ + default boolean allMatch(LongPredicate predicate) + { + return ! anyMatch(predicate.negate()); + } + + /** + * Primitive specialisation of {@code anyMatch} for {@code long}. + * + * @see Reducible#anyMatch(java.util.function.Predicate) + */ + default boolean anyMatch(LongPredicate predicate) + { + return ! filter(predicate).isEmpty(); + } + + /** + * Primitive specialisation of {@code noneMatch} for {@code long}. + * + * @see Reducible#noneMatch(java.util.function.Predicate) + */ + default boolean noneMatch(LongPredicate predicate) + { + return ! anyMatch(predicate); + } + + /** + * Primitive specialisation of {@code collect} for {@code long}. + * + * @see Reducible#collect(Object[]) + */ + default long[] collect(long[] array) + { + return collect(array, 0); + } + + /** + * Primitive specialisation of {@code collect} for {@code long}. + * + * @see Reducible#collect(Object[], int) + */ + default long[] collect(long[] array, int offset) + { + collectAndCount(array, offset); + return array; + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code long}. + * + * @see Reducible#collectAndCount(Object[]) + */ + default int collectAndCount(long[] array) + { + return collectAndCount(array, 0); + } + + /** + * Primitive specialisation of {@code collectAndCount} for {@code long}. + * + * @see Reducible#collectAndCount(Object[], int) + */ + default int collectAndCount(long[] array, int offset) + { + Objects.requireNonNull(array); + int index = reduce(offset, (int i, long e) -> {array[i] = e; return i + 1;}); + return index - offset; + } + + @Override + default FunctionalPrimitiveIterable.OfLong collectDistinct() + { + Distinct.OfLong unseen = new Distinct.OfLong(); + filter(unseen).consume(); + return unseen.getSeen(); + } + + @Override + default boolean contains(Object obj) + { + if (obj instanceof Long) { + return contains(((Long) obj).longValue()); + } + return false; + } + + /** + * Primitive specialisation of {@code contains} for {@code long}. + * + * @see Reducible#contains(Object) + */ + default boolean contains(long l) + { + return anyMatch((long e) -> e == l); + } + + @Override + default long count() + { + // avoid auto-boxing + return reduce(0, (long c, long l) -> c + 1); + } + + /** + * Primitive specialisation of {@code count} for {@code long}. + * + * @see Reducible#count(java.util.function.Predicate) + */ + default long count(LongPredicate predicate) + { + return filter(predicate).count(); + } + + /** + * Primitive specialisation of {@code detect} for {@code long}. + * + * @see Reducible#detect(java.util.function.Predicate) + */ + long detect(LongPredicate predicate); + + /** + * Find the maximum. + * + * @return an {@link OptionalDouble} either containing the maximum or being empty if the receiver is empty + * @see Math#max(long, long). + */ + default OptionalLong max() + { + return reduce((LongBinaryOperator) Math::max); + } + + /** + * Find the minimum. + * + * @return an {@link OptionalDouble} either containing the minimum or being empty if the receiver is empty + * @see Math#min(long, long). + */ + default OptionalLong min() + { + return reduce((LongBinaryOperator) Math::min); + } + + /** + * Primitive specialisation of {@code reduce} for {@code long}. + * + * @see Reducible#reduce(java.util.function.BinaryOperator) + */ + OptionalLong reduce(LongBinaryOperator accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code long}. + * + * @see Reducible#reduce(Object, java.util.function.BiFunction) + */ + T reduce(T init, ObjLongFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code double}. + * + * @see Reducible#reduce(double, common.functions.DoubleObjToDoubleFunction) + */ + double reduce(double init, DoubleLongToDoubleFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code int}. + * + * @see Reducible#reduce(int, common.functions.IntObjToIntFunction) + */ + int reduce(int init, IntLongToIntFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for {@code long}. + * + * @see Reducible#reduce(long, common.functions.LongObjToLongFunction) + */ + long reduce(long init, LongBinaryOperator accumulator); + + /** + * Compute the sum over all elements of the receiver. + * + * @return the sum over all elements or 0 if the receiver is empty + */ + default long sum() + { + return reduce(0L, (LongBinaryOperator) Long::sum); + } + } +} diff --git a/prism/src/common/iterable/RangeIntIterable.java b/prism/src/common/iterable/RangeIntIterable.java index c8e220d8c2..735e7cf128 100644 --- a/prism/src/common/iterable/RangeIntIterable.java +++ b/prism/src/common/iterable/RangeIntIterable.java @@ -3,6 +3,7 @@ // Copyright (c) 2016- // Authors: // * Joachim Klein (TU Dresden) +// * Steffen Maercker (TU Dresden) // //------------------------------------------------------------------------------ // @@ -24,18 +25,15 @@ // //============================================================================== - package common.iterable; -import java.util.PrimitiveIterator; - /** - * An Iterable that returns a Primitive.OfInt iterator for all the integers - * between two values, first and last (inclusive). + * An Iterable that returns a Functional Primitive.OfInt iterator + * for all the integers between two values, first and last (inclusive). * If first > last, then the sequence is descending (first, first-1, ..., last+1, last), * otherwise it is ascending (first, first+1, ..., last-1, last). */ -public class RangeIntIterable implements IterableInt +public class RangeIntIterable implements FunctionalPrimitiveIterable.OfInt { /** The first integer of the sequence */ final private int first; @@ -57,9 +55,9 @@ public RangeIntIterable(int first, int last) } @Override - public PrimitiveIterator.OfInt iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { - return new PrimitiveIterator.OfInt() + return new FunctionalPrimitiveIterator.OfInt() { int current = first; diff --git a/prism/src/common/iterable/Reducible.java b/prism/src/common/iterable/Reducible.java new file mode 100644 index 0000000000..2002c010a3 --- /dev/null +++ b/prism/src/common/iterable/Reducible.java @@ -0,0 +1,651 @@ +package common.iterable; + +import common.functions.DoubleObjToDoubleFunction; +import common.functions.IntObjToIntFunction; +import common.functions.LongObjToLongFunction; + +import java.util.*; +import java.util.function.*; + +/** + * A {@link Reducible} provides transformation and accumulation operations similar to {@link java.util.stream.Stream Stream}. + * It servers as a bridge between Iterator-based code and the functional API provided by Java streams. + * The operations are implemented and specialized in {@link FunctionalIterator} and {@link FunctionalIterable}. + * The following example illustrates is usage. + * + *
+ * List<String>  allFibonacci = List.of("0", "1", "1", "2", "3", "5", "8", "13");
+ * List<Integer> oddFibonacci = Reducible.extend(allFibonacci)
+ *                                   .mapToInt(Integer::parseInt)
+ *                                   .filter((int i) -> i % 2 != 0)
+ *                                   .collect(ArrayList::new);
+ * 
+ * The code computes the odd Fibonacci numbers from a {@code List} of {@code String} representations: + *
    + *
  1. Extend an ordinary Iterable (the {@code List}) with the methods of this interface + *
  2. Map the String representation of each number to its respective {@code int} value + *
  3. Filter all odd numbers + *
  4. Collect the filtered numbers in a new {@code ArrayList} + *
+ * Please note that {@link Reducible#mapToInt} and {@link Reducible#filter} only wrap the underlying reducible. + * The actual computation happens on-the-fly when {@code collect} is called. + * + *

Transformation operations (known as intermediate operations on streams) + * transform the sequence of elements, e.g., by filtering with a predicate or by mapping elements using a function. + * All transformation operations are defined in this interface with one exception: + * {@code flatMap} and its primitive specializations {@code flatMapToDouble}, {@code flatMapToInt} and {@code flatMapToLong} + * have to be defined in the implementors of this interface, as Java's generic type system is not flexible enough to define it here. + * + *

Accumulation operations (known as terminal operations on streams) + * consume the elements and compute a result, e.g., by testing whether all elements match a predicate or by collecting all elements in an array. + * The most general accumulation operation is {@link Reducible#reduce(Object, BiFunction) reduce}. + * To enable an efficient treatment of the primitive types {@code double}, {@code int} and {@code long}, reduce is overloaded. + * Please note that implementors of the interface may consume no elements if the result of an accumulation can be computed directly. + * + * @param the type of elements returned by this Reducible + * @param the type of reducibles accepted by {@link Reducible#concat concat} + *ø + * @see java.util.stream.Stream Stream + */ +public interface Reducible +{ + // Bridging methods to Iterator-based code + + /** + * Extend an Iterable with the methods provided by FunctionalIterable. + * Answer the argument if it already implements {@code FunctionalIterable}. + * + * @param iterable the {@link Iterable} to extend + * @return a {@link FunctionalIterable} that is either the argument or an adaptor on the argument + */ + @SuppressWarnings("unchecked") + static FunctionalIterable extend(Iterable iterable) + { + if (iterable instanceof FunctionalIterable) { + return (FunctionalIterable) iterable; + } + if (iterable instanceof PrimitiveIterable.OfDouble) { + return (FunctionalIterable) extend((PrimitiveIterable.OfDouble) iterable); + } + if (iterable instanceof PrimitiveIterable.OfInt) { + return (FunctionalIterable) extend((PrimitiveIterable.OfInt) iterable); + } + if (iterable instanceof PrimitiveIterable.OfLong) { + return (FunctionalIterable) extend((PrimitiveIterable.OfLong) iterable); + } + return new IterableAdaptor.Of<>(iterable); + + } + + /** + * Extend an Iterator with the methods provided by FunctionalIterator. + * If the Iterator is a PrimitiveIterator, the extension is a {@code FunctionalPrimitiveIterator}. + * Answer the argument if it already implements {@code FunctionalIterator}. + * + * @param iterator the {@link Iterator} to extend + * @return a {@link FunctionalIterator} that is either the argument or an adaptor on the argument + */ + @SuppressWarnings("unchecked") + static FunctionalIterator extend(Iterator iterator) + { + if (iterator instanceof FunctionalIterator) { + return (FunctionalIterator) iterator; + } + if (iterator instanceof PrimitiveIterator.OfDouble) { + return (FunctionalIterator) extend((PrimitiveIterator.OfDouble) iterator); + } + if (iterator instanceof PrimitiveIterator.OfInt) { + return (FunctionalIterator) extend((PrimitiveIterator.OfInt) iterator); + } + if (iterator instanceof PrimitiveIterator.OfLong) { + return (FunctionalIterator) extend((PrimitiveIterator.OfLong) iterator); + } + return new IteratorAdaptor.Of<>(iterator); + } + + /** + * Extend a PrimitiveIterable.OfDouble with the methods provided by FunctionalPrimitiveIterable. + * Answer the argument if it already implements {@code FunctionalIterable}. + * + * @param iterable the {@link PrimitiveIterable.OfDouble} to extend + * @return a {@link FunctionalPrimitiveIterable.OfDouble} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfDouble extend(PrimitiveIterable.OfDouble iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfDouble) { + return (FunctionalPrimitiveIterable.OfDouble) iterable; + } + return new IterableAdaptor.OfDouble(iterable); + } + + /** + * Extend a PrimitiveIterator.OfDouble with the methods provided by FunctionalPrimitiveIterator. + * Answer the argument if it already implements {@code FunctionalPrimitiveIterator.OfDouble}. + * + * @param iterator the {@link PrimitiveIterator.OfDouble} to extend + * @return a {@link FunctionalPrimitiveIterator.OfDouble} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterator.OfDouble extend(PrimitiveIterator.OfDouble iterator) + { + if (iterator instanceof FunctionalPrimitiveIterator.OfDouble) { + return (FunctionalPrimitiveIterator.OfDouble) iterator; + } + return new IteratorAdaptor.OfDouble(iterator); + } + + /** + * Extend a PrimitiveIterable.OfInt with the methods provided by FunctionalPrimitiveIterable. + * Answer the argument if it already implements {@code FunctionalPrimitiveIterable}. + * + * @param iterable the {@link PrimitiveIterable.OfInt} to extend + * @return a {@link FunctionalPrimitiveIterable.OfDouble} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfInt extend(PrimitiveIterable.OfInt iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfInt) { + return (FunctionalPrimitiveIterable.OfInt) iterable; + } + return new IterableAdaptor.OfInt(iterable); + } + + /** + * Extend a PrimitiveIterator.OfInt with the methods provided by FunctionalPrimitiveIterator. + * Answer the argument if it already implements {@code FunctionalPrimitiveIterator.OfInt}. + * + * @param iterator the {@link PrimitiveIterator.OfInt} to extend + * @return a {@link FunctionalPrimitiveIterator.OfInt} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterator.OfInt extend(PrimitiveIterator.OfInt iterator) + { + if (iterator instanceof FunctionalPrimitiveIterator.OfInt) { + return (FunctionalPrimitiveIterator.OfInt) iterator; + } + return new IteratorAdaptor.OfInt(iterator); + } + + /** + * Extend a PrimitiveIterable.OfLong with the methods provided by FunctionalPrimitiveIterable. + * Answer the argument if it already implements {@code FunctionalPrimitiveIterable}. + * + * @param iterable the {@link PrimitiveIterable.OfLong} to extend + * @return a {@link FunctionalPrimitiveIterable.OfLong} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfLong extend(PrimitiveIterable.OfLong iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfLong) { + return (FunctionalPrimitiveIterable.OfLong) iterable; + } + return new IterableAdaptor.OfLong(iterable); + } + + /** + * Extend a PrimitiveIterator.OfLong with the methods provided by FunctionalPrimitiveIterator. + * Answer the argument if it already implements {@code FunctionalPrimitiveIterator.OfLong}. + * + * @param iterator the {@link PrimitiveIterator.OfLong} to extend + * @return a {@link FunctionalPrimitiveIterator.OfLong} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterator.OfLong extend(PrimitiveIterator.OfLong iterator) + { + if (iterator instanceof FunctionalPrimitiveIterator.OfLong) { + return (FunctionalPrimitiveIterator.OfLong) iterator; + } + return new IteratorAdaptor.OfLong(iterator); + } + + /** + * Convert an Iterable<Double> to a FunctionalPrimitiveIterable.OfDouble by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of FunctionalPrimitiveIterable.OfDouble. + * + * @param iterable the {@link Iterable}<Double> to extend + * @return a {@link FunctionalPrimitiveIterable.OfDouble} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfDouble unboxDouble(Iterable iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfDouble) { + return (FunctionalPrimitiveIterable.OfDouble) iterable; + } + return extend(PrimitiveIterable.unboxDouble(iterable)); + } + + /** + * Convert an Iterator<Double> to a FunctionalPrimitiveIterator.OfDouble by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of FunctionalPrimitiveIterator.OfDouble. + * + * @param iterator the {@link Iterator}<Double> to unbox + * @return a {@link FunctionalPrimitiveIterator.OfDouble} that is either the argument or an unboxing iterator + */ + static FunctionalPrimitiveIterator.OfDouble unboxDouble(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfDouble) { + return extend((PrimitiveIterator.OfDouble) iterator); + } + return extend(PrimitiveIterable.unboxDouble(iterator)); + } + + /** + * Convert an Iterable<Integer> to a FunctionalPrimitiveIterable.OfInt by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of FunctionalPrimitiveIterable.OfInt. + * + * @param iterable the {@link Iterable}<Integer> to extend + * @return a {@link FunctionalPrimitiveIterable.OfInt} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfInt unboxInt(Iterable iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfInt) { + return (FunctionalPrimitiveIterable.OfInt) iterable; + } + return extend(PrimitiveIterable.unboxInt(iterable)); + } + + /** + * Convert an Iterator<Integer> to a FunctionalPrimitiveIterator.OfInt by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of FunctionalPrimitiveIterator.OfInt. + * + * @param iterator the {@link Iterator}<Integer> to unbox + * @return a {@link FunctionalPrimitiveIterator.OfInt} that is either the argument or an unboxing iterator + */ + static FunctionalPrimitiveIterator.OfInt unboxInt(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfInt) { + return extend((PrimitiveIterator.OfInt) iterator); + } + return extend(PrimitiveIterable.unboxInt(iterator)); + } + + /** + * Convert an Iterable<Long> to a FunctionalPrimitiveIterable.OfLong by unboxing each element. + * If the argument's Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterable if it already implements of FunctionalPrimitiveIterable.OfLong. + * + * @param iterable the {@link Iterable}<Long> to extend + * @return a {@link FunctionalPrimitiveIterable.OfLong} that is either the argument or an adaptor on the argument + */ + static FunctionalPrimitiveIterable.OfLong unboxLong(Iterable iterable) + { + if (iterable instanceof FunctionalPrimitiveIterable.OfLong) { + return (FunctionalPrimitiveIterable.OfLong) iterable; + } + return extend(PrimitiveIterable.unboxLong(iterable)); + } + + /** + * Convert an Iterator<Long> to a FunctionalPrimitiveIterator.OfLong by unboxing each element. + * If the Iterator yields {@code null}, a {@link NullPointerException} is thrown when iterating. + * Answer the Iterator if it already implements of FunctionalPrimitiveIterator.OfLong. + * + * @param iterator the {@link Iterator}<Long> to unbox + * @return a {@link FunctionalPrimitiveIterator.OfLong} that is either the argument or an unboxing iterator + */ + static FunctionalPrimitiveIterator.OfLong unboxLong(Iterator iterator) + { + if (iterator instanceof PrimitiveIterator.OfLong) { + return extend((PrimitiveIterator.OfLong) iterator); + } + return extend(PrimitiveIterable.unboxLong(iterator)); + } + + + + // Fundamental methods + + /** + * Perform an action with each of the receivers elements. + * + * @param action the action to be performed with each element + * @see Iterable#forEach(Consumer) + */ + void forEach(Consumer action); + + /** + * Test whether the receiver is empty. + * + * @return {@code true} iff the receiver is empty + */ + boolean isEmpty(); + + + + // Transforming Methods + + /** + * Concatenate the receiver and the argument. + * The returned reducible first iterates over the elements of the receiver and then over the elements the argument. + * + * @param reducible the {@link Reducible} to append + * @return a {@link Reducible} that iterates over the elements of the receiver and the argument + */ + Reducible concat(E_CAT reducible); + + /** + * Remove consecutive duplicate elements such that only the first occurrence in a sequence is retained. + * Duplicates are identified in terms of {@link Object#equals}. + */ + default Reducible dedupe() + { + Predicate isFirst = new Predicate<>() + { + Object previous = new Object(); + + @Override + public boolean test(E obj) + { + if (Objects.equals(previous, obj)) { + return false; + } + previous = obj; + return true; + } + }; + return filter(isFirst); + } + + /** + * Remove duplicate elements from the receiver such that only one occurrence is retained. + * Duplicates are identified in terms of {@link Object#equals} which requires a proper implementation of {@link Object#hashCode}. + */ + default Reducible distinct() + { + return filter(new Distinct.Of<>()); + } + + /** + * Filter the receiver by a predicate, i.e., only elements that match the predicate are kept. + * + * @param predicate a predicate evaluating to {@code true} for the elements to keep + */ + Reducible filter(Predicate predicate); + + /** + * Map each element. + * + * @param function a mapping function that is applied to each element + */ + Reducible map(Function function); + + /** + * Map each element to a {@code double}. + * + * @param function a mapping function that is applied to each element + */ + PrimitiveReducible.OfDouble mapToDouble(ToDoubleFunction function); + + /** + * Map each element to an {@code int}. + * + * @param function a mapping function that is applied to each element + */ + PrimitiveReducible.OfInt mapToInt(ToIntFunction function); + + /** + * Map each element to a {@code long}. + * + * @param function a mapping function that is applied to each element + */ + PrimitiveReducible.OfLong mapToLong(ToLongFunction function); + + /** + * Remove all {@code null} elements. + */ + default Reducible nonNull() + { + return filter(Objects::nonNull); + } + + + + // Accumulations Methods (Consuming) + + /** + * Consume this reducible, i.e., iterate over all its elements. + */ + default Reducible consume() + { + forEach((E each) -> {}); + return this; + } + + /** + * Test whether each element matches a predicate. + * + * @param predicate a {@link Predicate} to test the element against + * @return {@code true} iff the predicate evaluates to {@code true} for each element + */ + default boolean allMatch(Predicate predicate) + { + return !anyMatch(predicate.negate()); + } + + /** + * Test whether any element matches a predicate. + * Return {@code true} after the first match without testing the remaining elements. + * + * @param predicate a {@link Predicate} to test the elements against + * @return {@code true} iff the predicate evaluates to {@code true} for any element + */ + default boolean anyMatch(Predicate predicate) + { + return ! filter(predicate).isEmpty(); + } + + /** + * Test whether no element matches a predicate. + * Return {@code false} after the first match without testing the remaining elements. + * + * @param predicate a {@link Predicate} to test the elements against + * @return {@code false} iff the predicate evaluates to {@code true} for any element + */ + default boolean noneMatch(Predicate predicate) + { + return !anyMatch(predicate); + } + + /** + * Build an array-like string that lists the string representation {@link Object#toString} of each element. + * + * @return a String of the form "[e_1, e_2, ... , e_n]" + */ + default String asString() + { + StringBuilder builder = new StringBuilder("["); + forEach(each -> { + if (builder.length() > 1) { + builder.append(", "); + } + builder.append(each); + }); + return builder.append("]").toString(); + } + + /** + * Add each element to a newly instantiated {@code Collection} supplied by the argument using {@link Collection#add(Object)}. + * + * @param constructor a function yielding a new Collection + * @return the new Collection with all elements added to it + * @see java.util.stream.Stream#collect(Supplier, java.util.function.BiConsumer, java.util.function.BiConsumer) + */ + default > C collect(Supplier constructor) + { + Objects.requireNonNull(constructor); + C collection = constructor.get(); + collect(collection); + return collection; + } + + /** + * Add each element to the argument {@code Collection} using {@link Collection#add(Object)}. + * + * @param collection a {@link Collection} + * @return the Collection with all elements added to it + */ + default > C collect(C collection) + { + Objects.requireNonNull(collection); + forEach(collection::add); + return collection; + } + + /** + * Store each element in an array starting at index 0. + * + * @param array an Array of the receiver's element type + * @return the array with all elements stored in it + */ + default E[] collect(E[] array) + { + return collect(array, 0); + } + + /** + * Store each element in an array starting at index {@code offset}. + * + * @param array an Array of the receiver's element type + * @param offset an index (inclusive) from which on the elements are stored + * @return the array with all elements stored in it + */ + default E[] collect(E[] array, int offset) + { + collectAndCount(array, offset); + return array; + } + + /** + * Add each element to the argument {@code Collection} using {@link Collection#add(Object)} and count the number of elements added. + * + * @param collection a {@link Collection} + * @return the number of elements added to the Collection + */ + default long collectAndCount(Collection collection) + { + Objects.requireNonNull(collection); + return reduce(0L, (long c, E e) -> {collection.add(e); return c + 1;}); + } + + /** + * Store each element in an array starting at index 0 and count the number of elements stored. + * + * @param array an Array of the receiver's element type + * @return the number of elements stored in the array + */ + default int collectAndCount(E[] array) + { + return collectAndCount(array, 0); + } + + /** + * Store each element in an array starting at index {@code offset} and count the number of elements stored. + * + * @param array an Array of the receiver's element type + * @param offset an index (inclusive) from which on the elements are stored + * @return the number of elements stored in the array + */ + default int collectAndCount(E[] array, int offset) + { + Objects.requireNonNull(array); + int index = reduce(offset, (int i, E e) -> {array[i] = e; return i + 1;}); + return index - offset; + } + + /** + * Collect distinct elements from the receiver such that only one occurrence of each element is retained. + * Duplicates are identified in terms of {@link Object#equals} which requires a proper implementation of {@link Object#hashCode}. + * The order of elements in the result may differ from the order in the receiver. + * + * @return a {@link FunctionalIterable} that contains each distinct of the receiver exactly once + * @see FunctionalIterator#distinct() + */ + default FunctionalIterable collectDistinct() + { + Distinct.Of unseen = new Distinct.Of<>(); + filter(unseen).consume(); + return unseen.getSeen(); + } + + /** + * Test in terms of {@link Object#equals} whether an object (or {@code null}) is one of the receiver's elements. + * + * @param obj an object to be found in the receiver + * @return {@code true} if the argument is contained in the receiver + */ + default boolean contains(Object obj) + { + return anyMatch((obj == null) ? Objects::isNull : obj::equals); + } + + /** + * Count the number of elements in the receiver. + * + * @return the number of elements + */ + default long count() + { + return reduce(0L, (long c, E e) -> c + 1); + } + + /** + * Count the number of elements that match a predicate. + * + * @param predicate a {@link Predicate} evaluating to {@code true} for the elements to count + * @return the number of elements matching the predicate + */ + default long count(Predicate predicate) + { + return filter(predicate).count(); + } + + /** + * Find the first element that matches a predicate. + * + * @param predicate a {@link Predicate} evaluating to {@code true} for the element to return + * @return the first a matching element + * @throws NoSuchElementException if no matching element was found + */ + E detect(Predicate predicate); + + /** + * Reduce the receiver with an accumulator similar to {@code fold}. + * The first element serves as initial value for the reduction of the remaining elements. + * + * @param accumulator a {@link BinaryOperator} taking an intermediate result as first argument and an element as second argument + * @return an {@link Optional} either containing the result of the evaluation of the accumulator with the last element or being empty if the receiver is empty. + * @throws NullPointerException if the result of the reduction is {@code null} + * @see FunctionalIterator#reduce(Object, BiFunction) + */ + Optional reduce(BinaryOperator accumulator); + + /** + * Reduce the receiver with an accumulator and an initial value. + * First, the accumulator is evaluated with the initial value and the first element. + * Then it is evaluated with each subsequent element and the result of the previous evaluation. + * + * @param init an initial value for the reduction + * @param accumulator a {@link BiFunction} taking an intermediate result as first argument and an element as second argument + * @return the result of the evaluation of the accumulator with the last element + */ + T reduce(T init, BiFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for values of type {@code double}. + * + * @see FunctionalIterator#reduce(Object, BiFunction) + */ + double reduce(double init, DoubleObjToDoubleFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for values of type {@code int}. + * + * @see FunctionalIterator#reduce(Object, BiFunction) + */ + int reduce(int init, IntObjToIntFunction accumulator); + + /** + * Primitive specialisation of {@code reduce} for values of type {@code long}. + * + * @see FunctionalIterator#reduce(Object, BiFunction) + */ + long reduce(long init, LongObjToLongFunction accumulator); +} diff --git a/prism/src/common/iterable/SingletonIterable.java b/prism/src/common/iterable/SingletonIterable.java index ae56821322..94a0e3d97c 100644 --- a/prism/src/common/iterable/SingletonIterable.java +++ b/prism/src/common/iterable/SingletonIterable.java @@ -1,29 +1,157 @@ -package common.iterable; +//============================================================================== +// +// Copyright (c) 2016- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== -import java.util.Iterator; +package common.iterable; -public abstract class SingletonIterable implements Iterable +/** + * Abstract base class for Iterables ranging over a single element. + * + * @param type of the Iterable's elements + */ +public abstract class SingletonIterable implements FunctionalIterable { - public static class Of extends SingletonIterable + @Override + public long count() + { + return 1; + } + + @Override + public boolean isEmpty() { - final T element; + return false; + } - public Of(T theElement) + @Override + public SingletonIterable dedupe() + { + return this; + } + + @Override + public SingletonIterable distinct() + { + return this; + } + + + + /** + * Generic implementation of an singleton Iterable. + * + * @param type of the Iterables's elements + */ + public static class Of extends SingletonIterable + { + /** The single element */ + protected final E element; + + /** + * Constructor for an Iterable ranging over a single element. + * + * @param element the single element of the Iterable + */ + public Of(E theElement) { element = theElement; } @Override - public Iterator iterator() + public FunctionalIterator iterator() { return new SingletonIterator.Of<>(element); } + + @Override + public boolean contains(Object o) + { + return element == null ? o == null : element.equals(o); + } + } + + + + /** + * Primitive specialisation for {@code double} of an singleoton Iterable. + */ + public static class OfDouble extends SingletonIterable implements FunctionalPrimitiveIterable.OfDouble + { + /** The single element */ + protected final double element; + + /** + * Constructor for an Iterable ranging over a single element. + * + * @param element the single element of the Iterable + */ + public OfDouble(double theElement) + { + element = theElement; + } + + @Override + public SingletonIterator.OfDouble iterator() + { + return new SingletonIterator.OfDouble(element); + } + + @Override + public SingletonIterable.OfDouble dedupe() + { + return this; + } + + @Override + public SingletonIterable.OfDouble distinct() + { + return this; + } + + @Override + public boolean contains(double d) + { + return element == d; + } } - public static class OfInt extends SingletonIterable implements IterableInt + + + /** + * Primitive specialisation for {@code int} of an singleoton Iterable. + */ + public static class OfInt extends SingletonIterable implements FunctionalPrimitiveIterable.OfInt { - final int element; + /** The single element */ + protected final int element; + /** + * Constructor for an Iterable ranging over a single element. + * + * @param element the single element of the Iterable + */ public OfInt(int theElement) { element = theElement; @@ -34,12 +162,41 @@ public SingletonIterator.OfInt iterator() { return new SingletonIterator.OfInt(element); } + + @Override + public SingletonIterable.OfInt dedupe() + { + return this; + } + + @Override + public SingletonIterable.OfInt distinct() + { + return this; + } + + @Override + public boolean contains(int i) + { + return element == i; + } } - public static class OfLong extends SingletonIterable implements IterableLong + + + /** + * Primitive specialisation for {@code long} of an singleoton Iterable. + */ + public static class OfLong extends SingletonIterable implements FunctionalPrimitiveIterable.OfLong { - final long element; + /** The single element */ + protected final long element; + /** + * Constructor for an Iterable ranging over a single element. + * + * @param element the single element of the Iterable + */ public OfLong(long theElement) { element = theElement; @@ -50,21 +207,23 @@ public SingletonIterator.OfLong iterator() { return new SingletonIterator.OfLong(element); } - } - public static class OfDouble extends SingletonIterable implements IterableDouble - { - final double element; + @Override + public SingletonIterable.OfLong dedupe() + { + return this; + } - public OfDouble(double theElement) + @Override + public SingletonIterable.OfLong distinct() { - element = theElement; + return this; } @Override - public SingletonIterator.OfDouble iterator() + public boolean contains(long l) { - return new SingletonIterator.OfDouble(element); + return element == l; } } } diff --git a/prism/src/common/iterable/SingletonIterator.java b/prism/src/common/iterable/SingletonIterator.java index 62a5e365f7..1a9fe16626 100644 --- a/prism/src/common/iterable/SingletonIterator.java +++ b/prism/src/common/iterable/SingletonIterator.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // //------------------------------------------------------------------------------ // @@ -26,112 +26,267 @@ package common.iterable; -import java.util.Iterator; -import java.util.Optional; import java.util.OptionalDouble; import java.util.OptionalInt; import java.util.OptionalLong; -import java.util.PrimitiveIterator; /** - * Base class for an iterator that ranges over a single element, - * static helpers for common primitive iterators. + * Abstract base class for Iterators ranging over a single element. + * + * @param type of the Iterator's elements */ -public abstract class SingletonIterator implements Iterator +public abstract class SingletonIterator implements FunctionalIterator { - public static class Of extends SingletonIterator + protected boolean hasNext = true; + + @Override + public SingletonIterator dedupe() + { + return this; + } + + @Override + public SingletonIterator distinct() + { + return this; + } + + @Override + public boolean hasNext() + { + return hasNext; + } + + @Override + public void release() { - private Optional element; + hasNext = false; + } + - public Of(T element) + /** + * Generic implementation of an singleton Iterator. + * + * @param type of the Iterator's elements + */ + public static class Of extends SingletonIterator + { + /** The single element */ + protected E element; + + /** + * Constructor for an Iterator ranging over a single element. + * + * @param element the single element of the Iterator + */ + public Of(E element) { - this.element = Optional.of(element); + this.element = element; } @Override - public boolean hasNext() + public E next() { - return element.isPresent(); + requireNext(); + E next = element; + release(); + return next; } @Override - public T next() + public void release() { - Optional result = element; - element = Optional.empty(); - return result.get(); + super.release(); + element = null; } } - public static class OfInt extends SingletonIterator implements PrimitiveIterator.OfInt + + + /** + * Primitive specialisation for {@code double} of an singleoton Iterator. + */ + public static class OfDouble extends SingletonIterator implements FunctionalPrimitiveIterator.OfDouble { - private OptionalInt element; + /** The single element */ + protected final double element; - public OfInt(int element) + /** + * Constructor for an Iterator ranging over a single element. + * + * @param element the single element of the Iterator + */ + public OfDouble(double element) { - this.element = OptionalInt.of(element); + this.element = element; } @Override - public boolean hasNext() + public double nextDouble() { - return element.isPresent(); + requireNext(); + release(); + return element; } @Override - public int nextInt() + public SingletonIterator.OfDouble dedupe() { - OptionalInt result = element; - element = OptionalInt.empty(); - return result.getAsInt(); + return this; + } + + @Override + public SingletonIterator.OfDouble distinct() + { + return this; + } + + @Override + public OptionalDouble max() + { + if (hasNext) { + release(); + return OptionalDouble.of(element); + } + return OptionalDouble.empty(); + } + + @Override + public OptionalDouble min() + { + return max(); + } + + @Override + public double sum() + { + return hasNext ? element : 0.0; } } - public static class OfLong extends SingletonIterator implements PrimitiveIterator.OfLong + + + /** + * Primitive specialisation for {@code int} of an singleoton Iterator. + */ + public static class OfInt extends SingletonIterator implements FunctionalPrimitiveIterator.OfInt { - private OptionalLong element; + /** The single element */ + protected final int element; + + /** + * Constructor for an Iterator ranging over a single element. + * + * @param element the single element of the Iterator + */ + public OfInt(int element) + { + this.element = element; + } + + @Override + public int nextInt() + { + requireNext(); + release(); + return element; + } - public OfLong(Long element) + @Override + public SingletonIterator.OfInt dedupe() { - this.element = OptionalLong.of(element); + return this; } @Override - public boolean hasNext() + public SingletonIterator.OfInt distinct() { - return element.isPresent(); + return this; } @Override - public long nextLong() + public OptionalInt max() { - OptionalLong result = element; - element = OptionalLong.empty(); - return result.getAsLong(); + if (hasNext) { + release(); + return OptionalInt.of(element); + } + return OptionalInt.empty(); + } + + @Override + public OptionalInt min() + { + return max(); + } + + @Override + public long sum() + { + return hasNext ? element : 0L; } } - public static class OfDouble extends SingletonIterator implements PrimitiveIterator.OfDouble + + + /** + * Primitive specialisation for {@code long} of an singleoton Iterator. + */ + public static class OfLong extends SingletonIterator implements FunctionalPrimitiveIterator.OfLong { - private OptionalDouble element; + /** The single element */ + protected final long element; - public OfDouble(double element) + /** + * Constructor for an Iterator ranging over a single element. + * + * @param element the single element of the Iterator + */ + public OfLong(long element) { - this.element = OptionalDouble.of(element); + this.element = element; } @Override - public boolean hasNext() + public long nextLong() { - return element.isPresent(); + requireNext(); + release(); + return element; } @Override - public double nextDouble() + public SingletonIterator.OfLong dedupe() + { + return this; + } + + @Override + public SingletonIterator.OfLong distinct() + { + return this; + } + + @Override + public OptionalLong max() + { + if (hasNext) { + release(); + return OptionalLong.of(element); + } + return OptionalLong.empty(); + } + + @Override + public OptionalLong min() + { + return max(); + } + + @Override + public long sum() { - OptionalDouble result = element; - element = OptionalDouble.empty(); - return result.getAsDouble(); + return hasNext ? element : 0L; } } -} +} \ No newline at end of file diff --git a/prism/src/explicit/DTMC.java b/prism/src/explicit/DTMC.java index 822ad4738f..75d0bf2dc8 100644 --- a/prism/src/explicit/DTMC.java +++ b/prism/src/explicit/DTMC.java @@ -33,13 +33,9 @@ import java.util.PrimitiveIterator.OfInt; import common.IterableStateSet; -import common.iterable.IterableInt; import common.iterable.MappingIterator; -import prism.ModelType; -import prism.Pair; -import prism.PrismException; -import prism.PrismLog; -import prism.PrismUtils; +import common.iterable.PrimitiveIterable; +import prism.*; import explicit.graphviz.Decorator; import explicit.rewards.MCRewards; @@ -170,9 +166,9 @@ default String infoStringTable() */ public default Iterator>> getTransitionsAndActionsIterator(int s) { - // Default implementation just adds null actions + // Default implementation just adds null actions final Iterator> transitions = getTransitionsIterator(s); - return new MappingIterator.From<>(transitions, transition -> attachAction(transition, null)); + return new MappingIterator.ObjToObj<>(transitions, transition -> attachAction(transition, null)); } /** @@ -239,7 +235,7 @@ public interface TransitionToDoubleFunction { * Return sum_t f(s, t, P(s,t)), where t ranges over the successors of s. * * @param s the state s - * @param c the consumer + * @param f the consumer */ public default double sumOverTransitions(final int s, final TransitionToDoubleFunction f) { @@ -740,7 +736,7 @@ public default void vmMult(double vect[], double result[]) * @param deltaT deltaT conditioning factor * @param states subset of states to consider */ - public default void vmMultPowerSteadyState(double vect[], double[] result, double[] diagsQ, double deltaT, IterableInt states) + public default void vmMultPowerSteadyState(double vect[], double[] result, double[] diagsQ, double deltaT, PrimitiveIterable.OfInt states) { // Recall that the generator matrix Q has entries // Q(s,s) = -sum_{t!=s} prob(s,t) diff --git a/prism/src/explicit/DTMCFromMDPMemorylessAdversary.java b/prism/src/explicit/DTMCFromMDPMemorylessAdversary.java index 5b8057055e..7260e0c41c 100644 --- a/prism/src/explicit/DTMCFromMDPMemorylessAdversary.java +++ b/prism/src/explicit/DTMCFromMDPMemorylessAdversary.java @@ -163,7 +163,7 @@ public Iterator>> getTransitionsAndActionsIt { if (adv[s] >= 0) { final Iterator> transitions = mdp.getTransitionsIterator(s, adv[s]); - return new MappingIterator.From<>(transitions, transition -> DTMC.attachAction(transition, mdp.getAction(s, adv[s]))); + return new MappingIterator.ObjToObj<>(transitions, transition -> DTMC.attachAction(transition, mdp.getAction(s, adv[s]))); } else { // Empty iterator return Collections.>>emptyIterator(); diff --git a/prism/src/explicit/DTMCSparse.java b/prism/src/explicit/DTMCSparse.java index c337d969b2..19a46370f0 100644 --- a/prism/src/explicit/DTMCSparse.java +++ b/prism/src/explicit/DTMCSparse.java @@ -4,7 +4,7 @@ // Authors: // * Dave Parker (University of Oxford) // * Christian von Essen (Verimag, Grenoble) -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -38,8 +38,7 @@ import java.util.function.Function; import common.IterableStateSet; -import common.iterable.IterableInt; -import common.iterable.MappingIterator; +import common.iterable.PrimitiveIterable; import explicit.rewards.MCRewards; import prism.PrismException; import prism.PrismNotSupportedException; @@ -358,7 +357,7 @@ public void vmMult(final double[] vect, final double[] result) } @Override - public void vmMultPowerSteadyState(double vect[], double result[], double[] diagsQ, double deltaT, IterableInt states) + public void vmMultPowerSteadyState(double vect[], double result[], double[] diagsQ, double deltaT, PrimitiveIterable.OfInt states) { // Recall that the generator matrix Q has entries // Q(s,s) = -sum_{t!=s} prob(s,t) @@ -407,8 +406,8 @@ public final Entry apply(final Integer state) } }; String s = "trans: [ "; - final IterableStateSet states = new IterableStateSet(numStates); - final Iterator> distributions = new MappingIterator.From<>(states, getDistribution); + IterableStateSet states = new IterableStateSet(numStates); + Iterator> distributions = states.iterator().map(getDistribution); while (distributions.hasNext()) { final Entry dist = distributions.next(); s += dist.getKey() + ": " + dist.getValue(); diff --git a/prism/src/explicit/MDP.java b/prism/src/explicit/MDP.java index 8c6e69a3ef..facc73a58f 100644 --- a/prism/src/explicit/MDP.java +++ b/prism/src/explicit/MDP.java @@ -206,7 +206,7 @@ default String infoStringTable() @Override default int getNumTransitions(final int s, final int i) { - return IteratorTools.count(getTransitionsIterator(s, i)); + return Math.toIntExact(IteratorTools.count(getTransitionsIterator(s, i))); } @Override diff --git a/prism/src/explicit/Model.java b/prism/src/explicit/Model.java index e80a1a7f9f..c60b0cd3db 100644 --- a/prism/src/explicit/Model.java +++ b/prism/src/explicit/Model.java @@ -181,7 +181,7 @@ public default int getNumTransitions() */ public default int getNumTransitions(int s) { - return IteratorTools.count(getSuccessorsIterator(s)); + return Math.toIntExact(IteratorTools.count(getSuccessorsIterator(s))); } /** diff --git a/prism/src/explicit/SCCInfo.java b/prism/src/explicit/SCCInfo.java index 254c77feab..6a7f66011a 100644 --- a/prism/src/explicit/SCCInfo.java +++ b/prism/src/explicit/SCCInfo.java @@ -27,9 +27,10 @@ package explicit; import java.util.Arrays; -import java.util.PrimitiveIterator.OfInt; +import java.util.PrimitiveIterator; import common.IntSet; +import common.iterable.FunctionalPrimitiveIterator; import prism.PrismLog; /** @@ -144,9 +145,9 @@ public IntSet getStatesForSCC(final int sccIndex) return new IntSet() { @Override - public OfInt iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { - return new OfInt() { + return new FunctionalPrimitiveIterator.OfInt() { int cur = start; @Override @@ -164,9 +165,9 @@ public int nextInt() } @Override - public OfInt reversedIterator() + public FunctionalPrimitiveIterator.OfInt reversedIterator() { - return new OfInt() { + return new FunctionalPrimitiveIterator.OfInt() { int cur = end; @Override @@ -209,7 +210,7 @@ public void print(PrismLog log) { for (int scc = 0; scc < getNumSCCs(); scc++) { log.println("SCC " + scc + " (" + getNumStatesInSCC(scc) + "):"); - for (OfInt states = getStatesForSCC(scc).iterator(); states.hasNext();) { + for (PrimitiveIterator.OfInt states = getStatesForSCC(scc).iterator(); states.hasNext();) { int state = states.nextInt(); log.print(" "); log.print(state); diff --git a/prism/src/explicit/SuccessorsIterator.java b/prism/src/explicit/SuccessorsIterator.java index 1751e98169..60e49988ab 100644 --- a/prism/src/explicit/SuccessorsIterator.java +++ b/prism/src/explicit/SuccessorsIterator.java @@ -24,7 +24,6 @@ // //============================================================================== - package explicit; import java.util.Iterator; @@ -35,7 +34,8 @@ import java.util.stream.IntStream; import java.util.stream.StreamSupport; -import common.iterable.FilteringIterator; +import common.iterable.FunctionalIterator; +import common.iterable.Reducible; import common.iterable.SingletonIterator; /** @@ -70,7 +70,7 @@ public SuccessorsIterator distinct() if (successorsAreDistinct()) { return this; } else { - return new SuccessorsIteratorFromOfInt(FilteringIterator.dedupe(this), true); + return new SuccessorsIteratorFromOfInt(Reducible.extend(this).distinct(), true); } } diff --git a/prism/src/explicit/modelviews/DTMCView.java b/prism/src/explicit/modelviews/DTMCView.java index 1f9dbefb20..a942532c00 100644 --- a/prism/src/explicit/modelviews/DTMCView.java +++ b/prism/src/explicit/modelviews/DTMCView.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -34,7 +34,6 @@ import java.util.function.IntFunction; import common.IterableStateSet; -import common.iterable.MappingIterator; import explicit.DTMC; import explicit.Distribution; import explicit.SuccessorsIterator; @@ -77,8 +76,8 @@ public final Entry apply(final int state) } }; String s = "trans: [ "; - final IterableStateSet states = new IterableStateSet(getNumStates()); - final Iterator> distributions = new MappingIterator.FromInt<>(states, getDistribution); + IterableStateSet states = new IterableStateSet(getNumStates()); + Iterator> distributions = states.iterator().map(getDistribution); while (distributions.hasNext()) { final Entry dist = distributions.next(); s += dist.getKey() + ": " + dist.getValue(); diff --git a/prism/src/explicit/modelviews/MDPDroppedAllChoices.java b/prism/src/explicit/modelviews/MDPDroppedAllChoices.java index f71f75c91c..96cf587876 100644 --- a/prism/src/explicit/modelviews/MDPDroppedAllChoices.java +++ b/prism/src/explicit/modelviews/MDPDroppedAllChoices.java @@ -147,7 +147,7 @@ public boolean hasLabel(String name) @Override public Iterator getSuccessorsIterator(final int state) { - return states.get(state) ? EmptyIterator.Of() : model.getSuccessorsIterator(state); + return states.get(state) ? EmptyIterator.of() : model.getSuccessorsIterator(state); } diff --git a/prism/src/explicit/modelviews/MDPEquiv.java b/prism/src/explicit/modelviews/MDPEquiv.java index b715556da0..7b9fcb69e2 100644 --- a/prism/src/explicit/modelviews/MDPEquiv.java +++ b/prism/src/explicit/modelviews/MDPEquiv.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -34,12 +34,12 @@ import java.util.Map.Entry; import java.util.PrimitiveIterator.OfInt; import java.util.Set; +import java.util.function.IntUnaryOperator; import common.functions.PairPredicateInt; import common.iterable.FilteringIterator; import common.IterableBitSet; import common.IterableStateSet; -import common.IteratorTools; import common.iterable.MappingIterator; import explicit.BasicModelTransformation; import explicit.MDP; @@ -80,8 +80,8 @@ public MDPEquiv(final MDP model, final EquivalenceRelationInteger identify) // => leave it as it is numChoices[representative] = model.getNumChoices(representative); } else { - final IterableBitSet eqStates = new IterableBitSet(equivalenceClass); - numChoices[representative] = IteratorTools.sum(new MappingIterator.FromIntToInt(eqStates, model::getNumChoices)); + IterableBitSet eqStates = new IterableBitSet(equivalenceClass); + numChoices[representative] = Math.toIntExact(eqStates.mapToInt((IntUnaryOperator) model::getNumChoices).sum()); StateChoicePair[] choices = originalChoices[representative] = new StateChoicePair[numChoices[representative]]; assert representative == equivalenceClass.nextSetBit(0); int choice = model.getNumChoices(representative); @@ -232,7 +232,7 @@ public Iterator getSuccessorsIterator(final int state, final int choice } Iterator successors = model.getSuccessorsIterator(originalState, originalChoice); if (hasTransitionToNonRepresentative.get(originalState)) { - return FilteringIterator.dedupe(new MappingIterator.From<>(successors, this::mapStateToRestrictedModel)); + return (new MappingIterator.ObjToObj<>(successors, this::mapStateToRestrictedModel)).distinct(); } return successors; } @@ -255,7 +255,7 @@ public Iterator> getTransitionsIterator(final int state, } Iterator> transitions = model.getTransitionsIterator(originalState, originalChoice); if (hasTransitionToNonRepresentative.get(originalState)) { - return new MappingIterator.From<>(transitions, this::mapTransitionToRestrictedModel); + return new MappingIterator.ObjToObj<>(transitions, this::mapTransitionToRestrictedModel); } return transitions; } diff --git a/prism/src/explicit/modelviews/ModelView.java b/prism/src/explicit/modelviews/ModelView.java index 39809ee045..73c90e3cfe 100644 --- a/prism/src/explicit/modelviews/ModelView.java +++ b/prism/src/explicit/modelviews/ModelView.java @@ -2,7 +2,7 @@ // // Copyright (c) 2016- // Authors: -// * Steffen Maercker (TU Dresden) +// * Steffen Maercker (TU Dresden) // * Joachim Klein (TU Dresden) // //------------------------------------------------------------------------------ @@ -31,10 +31,10 @@ import java.util.List; import java.util.PrimitiveIterator.OfInt; +import common.iterable.FilteringIterable; +import common.iterable.FunctionalPrimitiveIterable; import common.IterableBitSet; import common.IterableStateSet; -import common.iterable.FilteringIterable; -import common.iterable.IterableInt; import explicit.Model; import explicit.PredecessorRelation; import explicit.StateValues; @@ -78,7 +78,7 @@ public int getNumDeadlockStates() } @Override - public IterableInt getDeadlockStates() + public FunctionalPrimitiveIterable.OfInt getDeadlockStates() { return new IterableBitSet(deadlockStates); } @@ -115,9 +115,9 @@ public void findDeadlocks(final boolean fix) throws PrismException } } - public IterableInt findDeadlocks(final BitSet except) + public FunctionalPrimitiveIterable.OfInt findDeadlocks(final BitSet except) { - IterableInt states = new IterableStateSet(except, getNumStates(), true); + IterableStateSet states = new IterableStateSet(except, getNumStates(), true); return new FilteringIterable.OfInt(states, state -> !getSuccessorsIterator(state).hasNext()); } diff --git a/prism/src/prism/PrismUtils.java b/prism/src/prism/PrismUtils.java index 054f2261fe..1a4ef3b0b6 100644 --- a/prism/src/prism/PrismUtils.java +++ b/prism/src/prism/PrismUtils.java @@ -39,7 +39,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import common.iterable.IterableInt; +import common.iterable.PrimitiveIterable; import param.BigRational; /** @@ -144,7 +144,7 @@ public static boolean doublesAreClose(double d1[], double d2[], double epsilon, *
* Considers Inf == Inf and -Inf == -Inf. */ - public static boolean doublesAreClose(double d1[], double d2[], IterableInt indizes, double epsilon, boolean abs) + public static boolean doublesAreClose(double d1[], double d2[], PrimitiveIterable.OfInt indizes, double epsilon, boolean abs) { return doublesAreClose(d1, d2, indizes.iterator(), epsilon, abs); } @@ -480,7 +480,7 @@ public static double[] normalise(double[] vector) * @param entries Iterable over the entries (must not contain duplicates) * @return the altered vector (returned for convenience; it's the same one) */ - public static double[] normalise(double[] vector, IterableInt entries) + public static double[] normalise(double[] vector, PrimitiveIterable.OfInt entries) { double sum = 0.0; for (PrimitiveIterator.OfInt iter = entries.iterator(); iter.hasNext();) { From 37f1bec347888ee3d5f2a5cd56fb31dbbd8298cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 4 Sep 2020 11:36:13 +0200 Subject: [PATCH 05/35] Adapt IntSet to properly implement IterableInt --- prism/src/common/IntSet.java | 124 ++++++++++------------- prism/src/explicit/DTMCModelChecker.java | 4 +- prism/src/explicit/MDPModelChecker.java | 4 +- prism/src/explicit/SCCInfo.java | 2 +- 4 files changed, 58 insertions(+), 76 deletions(-) diff --git a/prism/src/common/IntSet.java b/prism/src/common/IntSet.java index 8bac70fd54..1ca419be81 100644 --- a/prism/src/common/IntSet.java +++ b/prism/src/common/IntSet.java @@ -3,6 +3,7 @@ // Copyright (c) 2016- // Authors: // * Joachim Klein (TU Dresden) +// * Steffen Maercker (TU Dresden) // //------------------------------------------------------------------------------ // @@ -27,13 +28,18 @@ package common; import java.util.BitSet; +import java.util.Objects; +import java.util.PrimitiveIterator; import java.util.Spliterator; import java.util.Spliterators; -import java.util.PrimitiveIterator.OfInt; +import java.util.function.IntPredicate; import java.util.stream.IntStream; import java.util.stream.StreamSupport; import common.IterableBitSet; +import common.iterable.FunctionalPrimitiveIterable; +import common.iterable.FunctionalPrimitiveIterator; +import common.iterable.SingletonIterable; /** * Interface for an ordered set of integers that allows efficient @@ -42,19 +48,16 @@ *
* Provides static helpers for wrapping a BitSet or a singleton value. */ -public interface IntSet extends Iterable +public interface IntSet extends FunctionalPrimitiveIterable.OfInt { - /** Return a PrimitiveIterator.OfInt iterator for iteration, normal order */ - public OfInt iterator(); - - /** Return a PrimitiveIterator.OfInt iterator for iteration, reversed order */ - public OfInt reversedIterator(); + /** Return a FunctionalPrimitiveIterator.OfInt iterator for iteration, reversed order */ + FunctionalPrimitiveIterator.OfInt reversedIterator(); /** Return the cardinality (number of elements) for this set */ - public int cardinality(); - - /** Return true if {@code index} is a member of this set */ - public boolean contains(int index); + default long cardinality() + { + return count(); + } /** * Return true if {@code index} is a member of this set @@ -62,7 +65,7 @@ public interface IntSet extends Iterable *

* Default implementation: Calls contains(index). */ - public default boolean get(int index) + default boolean get(int index) { return contains(index); } @@ -74,9 +77,9 @@ public default boolean get(int index) * Default implementation: * Tests via contains for all elements of other. */ - public default boolean contains(IntSet other) + default boolean contains(IntSet other) { - return other.stream().allMatch(this::contains); + return other.allMatch((IntPredicate) this::contains); } /** @@ -86,7 +89,7 @@ public default boolean contains(IntSet other) * Default implementation: * Uses contains(IntSet other). */ - public default boolean contains(BitSet other) + default boolean contains(BitSet other) { return contains(asIntSet(other)); } @@ -97,23 +100,32 @@ public default boolean contains(BitSet other) * Default implementation: * Wrap iterator() into an intStream. */ - public default IntStream stream() { + default IntStream stream() + { return StreamSupport.intStream( - () -> Spliterators.spliterator( - iterator(), cardinality(), - Spliterator.DISTINCT), + () -> spliterator(), Spliterator.SIZED | Spliterator.DISTINCT, false); } + @Override + default Spliterator.OfInt spliterator() + { + return Spliterators.spliterator( + iterator(), + cardinality(), + Spliterator.SIZED | Spliterator.DISTINCT); + } + /** Return this set as a String */ - public default String asString() + @Override + default String asString() { // can't overload toString() with a default method in interface StringBuffer sb = new StringBuffer(); sb.append("{"); boolean first = true; - for (OfInt it = iterator(); it.hasNext(); ) { + for (PrimitiveIterator.OfInt it = iterator(); it.hasNext(); ) { if (!first) sb.append(","); first = false; @@ -123,33 +135,36 @@ public default String asString() return sb.toString(); } + + /** * Wrapper class for obtaining an IntSet from a BitSet. *

* Note: The BitSet should not be modified as long as the * derived IntSet is in use. */ - public static class IntSetFromBitSet implements IntSet + static class IntSetFromBitSet implements IntSet { /** The wrapped BitSet */ - private BitSet bs; + protected BitSet bs; /** The cardinality of the underlying BitSet (cached, -1 = not yet computed) */ int cardinality = -1; /** Constructor */ public IntSetFromBitSet(BitSet bs) { + Objects.requireNonNull(bs); this.bs = bs; } @Override - public OfInt iterator() + public FunctionalPrimitiveIterator.OfInt iterator() { return IterableBitSet.getSetBits(bs).iterator(); } @Override - public OfInt reversedIterator() + public FunctionalPrimitiveIterator.OfInt reversedIterator() { return IterableBitSet.getSetBitsReversed(bs).iterator(); } @@ -161,7 +176,7 @@ public IntStream stream() } @Override - public int cardinality() + public long count() { // not yet computed? if (cardinality == -1) @@ -183,86 +198,53 @@ public String toString() } }; + + /** Convenience class for simulating a singleton set */ - public static class SingletonIntSet implements IntSet + static class SingletonIntSet extends SingletonIterable.OfInt implements IntSet { - /** The single member of this singleton set */ - private int singleMember; - /** * Constructor. * @param singleMember the single member of this set */ public SingletonIntSet(int singleMember) { - this.singleMember = singleMember; + super(singleMember); } @Override - public OfInt iterator() - { - return new OfInt() { - boolean done = false; - @Override - public boolean hasNext() - { - return !done; - } - @Override - public int nextInt() - { - done = true; - return singleMember; - } - }; - } - - @Override - public OfInt reversedIterator() + public FunctionalPrimitiveIterator.OfInt reversedIterator() { // iteration order does not matter for singleton set return iterator(); } - @Override - public int cardinality() - { - return 1; - } - - @Override - public boolean contains(int index) - { - return index == singleMember; - } - @Override public String toString() { - return "{" + singleMember + "}"; + return "{" + element + "}"; } - } /** - * Static constructor for obtaining an IntSet from a BitSet + * Factory method for obtaining an IntSet from a BitSet *

* Note: The BitSet should not be modified as long as the derived IntSet is in use. + * * @param bs The underlying BitSet */ - public static IntSet asIntSet(BitSet bs) + static IntSet asIntSet(BitSet bs) { return new IntSetFromBitSet(bs); } /** - * Static constructor for obtaining an IntSet for a singleton set. + * Factory method for obtaining an IntSet for a singleton set. + * * @param singleMember The single member of the singleton set */ - public static IntSet asIntSet(int singleMember) + static IntSet asIntSet(int singleMember) { return new SingletonIntSet(singleMember); } - } - diff --git a/prism/src/explicit/DTMCModelChecker.java b/prism/src/explicit/DTMCModelChecker.java index 69498eb08c..1a36bb2f0e 100644 --- a/prism/src/explicit/DTMCModelChecker.java +++ b/prism/src/explicit/DTMCModelChecker.java @@ -1393,7 +1393,7 @@ public boolean hasTransitionRewards() for (int scc = 0, numSCCs = sccs.getNumSCCs(); scc < numSCCs; scc++) { IntSet statesForSCC = sccs.getStatesForSCC(scc); - int cardinality = statesForSCC.cardinality(); + int cardinality = Math.toIntExact(statesForSCC.cardinality()); PrimitiveIterator.OfInt itSCC = statesForSCC.iterator(); while (itSCC.hasNext()) { @@ -1500,7 +1500,7 @@ public boolean hasTransitionRewards() double q = 0; double p = 1; - int cardinality = statesForSCC.cardinality(); + int cardinality = Math.toIntExact(statesForSCC.cardinality()); PrimitiveIterator.OfInt itSCC = statesForSCC.iterator(); while (itSCC.hasNext()) { diff --git a/prism/src/explicit/MDPModelChecker.java b/prism/src/explicit/MDPModelChecker.java index 3c3e2ca697..7d7d148e1a 100644 --- a/prism/src/explicit/MDPModelChecker.java +++ b/prism/src/explicit/MDPModelChecker.java @@ -1493,7 +1493,7 @@ private boolean isContracting(MDP mdp, BitSet unknown, BitSet target) for (int scc = 0, numSCCs = sccs.getNumSCCs(); scc < numSCCs; scc++) { IntSet statesForSCC = sccs.getStatesForSCC(scc); - int cardinality = statesForSCC.cardinality(); + int cardinality = Math.toIntExact(statesForSCC.cardinality()); PrimitiveIterator.OfInt itSCC = statesForSCC.iterator(); while (itSCC.hasNext()) { @@ -1605,7 +1605,7 @@ private boolean isContracting(MDP mdp, BitSet unknown, BitSet target) double q = 0; double p = 1; - int cardinality = statesForSCC.cardinality(); + int cardinality = Math.toIntExact(statesForSCC.cardinality()); PrimitiveIterator.OfInt itSCC = statesForSCC.iterator(); while (itSCC.hasNext()) { diff --git a/prism/src/explicit/SCCInfo.java b/prism/src/explicit/SCCInfo.java index 6a7f66011a..148a259ccc 100644 --- a/prism/src/explicit/SCCInfo.java +++ b/prism/src/explicit/SCCInfo.java @@ -185,7 +185,7 @@ public int nextInt() } @Override - public int cardinality() + public long count() { return getNumStatesInSCC(sccIndex); } From e11e25a87308e50a83a364d5de55c64aade96cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 4 Sep 2020 17:52:44 +0200 Subject: [PATCH 06/35] Implement class Range to supersede Interval and RangeIntIterable --- prism/src/common/IterableStateSet.java | 6 +- prism/src/common/iterable/Interval.java | 213 --------- prism/src/common/iterable/Range.java | 419 ++++++++++++++++++ .../src/common/iterable/RangeIntIterable.java | 85 ---- 4 files changed, 422 insertions(+), 301 deletions(-) delete mode 100644 prism/src/common/iterable/Interval.java create mode 100644 prism/src/common/iterable/Range.java delete mode 100644 prism/src/common/iterable/RangeIntIterable.java diff --git a/prism/src/common/IterableStateSet.java b/prism/src/common/IterableStateSet.java index e1fb8a5701..d7f14e8317 100644 --- a/prism/src/common/IterableStateSet.java +++ b/prism/src/common/IterableStateSet.java @@ -32,7 +32,7 @@ import common.iterable.EmptyIterable; import common.iterable.FunctionalPrimitiveIterable; import common.iterable.FunctionalPrimitiveIterator; -import common.iterable.RangeIntIterable; +import common.iterable.Range; /** * A convenience wrapper around IterableBitSet that handles the three cases of @@ -94,12 +94,12 @@ public IterableStateSet(BitSet setOfStates, int numStates, boolean complement, b if (complement) { this.setOfStates = EmptyIterable.ofInt(); } else { - this.setOfStates = reversed ? new RangeIntIterable(numStates-1, 0) : new RangeIntIterable(0, numStates-1); + this.setOfStates = reversed ? new Range(numStates).reversed() : new Range(numStates); } } else if (setOfStates.isEmpty()) { // no states if (complement) { - this.setOfStates = reversed ? new RangeIntIterable(numStates-1, 0) : new RangeIntIterable(0, numStates-1); + this.setOfStates = reversed ? new Range(numStates).reversed() : new Range(numStates); } else { this.setOfStates = EmptyIterable.ofInt(); } diff --git a/prism/src/common/iterable/Interval.java b/prism/src/common/iterable/Interval.java deleted file mode 100644 index d7d698a2d8..0000000000 --- a/prism/src/common/iterable/Interval.java +++ /dev/null @@ -1,213 +0,0 @@ -//============================================================================== -// -// Copyright (c) 2016- -// Authors: -// * Steffen Maercker (TU Dresden) -// -//------------------------------------------------------------------------------ -// -// This file is part of PRISM. -// -// PRISM is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// PRISM is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with PRISM; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -//============================================================================== - -package common.iterable; - -import java.util.OptionalInt; - -import common.IteratorTools; - -/** - * An Iterable that yields all ints from an interval with a given step-width. - */ -public class Interval implements FunctionalPrimitiveIterable.OfInt -{ - protected final int lowerBound; - protected final int upperBound; - protected final int step; - - /** - * Constructor for an interval [0, upperBound) with step-width 1. - * - * @param upperBound last {@code int}, exclusive - */ - public Interval(int upperBound) - { - this(0, upperBound); - } - - /** - * Constructor for an interval [lowerBound, upperBound) with step-width 1. - * - * @param lowerBound first {@code int}, inclusive - * @param upperBound last {@code int}, exclusive - */ - public Interval(int lowerBound, int upperBound) - { - this(lowerBound, upperBound, 1); - } - - /** - * Constructor for an interval [lowerBound, upperBound) with a custom step-width. - * - * @param lowerBound first {@code int}, inclusive - * @param upperBound last {@code int}, exclusive - * @param step a positive {@code int} - */ - public Interval(int lowerBound, int upperBound, int step) - { - assert step > 0 : "positive step width expected"; - this.lowerBound = lowerBound; - this.upperBound = upperBound; - this.step = step; - } - - @Override - public IntervalIterator iterator() - { - return new IntervalIterator(lowerBound, upperBound, step); - } - - @Override - public String toString() - { - return getClass().getSimpleName() + "(" + lowerBound + ", " + upperBound + ", " + step + ")"; - } - - - - /** - * An Iterator that yields all ints from an interval with a given step-width. - */ - public static class IntervalIterator implements FunctionalPrimitiveIterator.OfInt - { - protected final int upperBound; - protected final int step; - protected int next; - - /** - * Constructor for an Iterator over an interval [lowerBound, upperBound) with a custom step-width. - * - * @param lowerBound first {@code int}, inclusive - * @param upperBound last {@code int}, exclusive - * @param step a positive {@code int} - */ - public IntervalIterator(int first, int upperBound, int step) - { - assert step > 0 : "positive step width expected"; - this.upperBound = upperBound; - this.step = step; - this.next = first; - } - - @Override - public boolean hasNext() - { - return next < upperBound; - } - - @Override - public int nextInt() - { - requireNext(); - int current = next; - next = next + step; - return current; - } - - @Override - public boolean contains(int i) - { - boolean result = (i >= next) && (i < upperBound) && ((i - next) % step) == 0; - next = upperBound; - return result; - } - - @Override - public long count() - { - if (next >= upperBound) { - return 0; - } - long result = ((long)upperBound - (long)next - 1) / step + 1; - next = upperBound; - return result; - } - - @Override - public OptionalInt max() - { - OptionalInt result = (next >= upperBound) ? OptionalInt.empty() : OptionalInt.of(upperBound); - next = upperBound; - return result; - } - - @Override - public OptionalInt min() - { - OptionalInt result = (next >= upperBound) ? OptionalInt.empty() : OptionalInt.of(next); - next = upperBound; - return result; - } - - @Override - public long sum() - { - if (next >= upperBound) { - return 0; - } - // Sn = a + (a+d) + (a+2d) + ... + (a+(n-1)d) - // Sn = n(2a+(n-1)d)/2 - long count = count(); - long result = count * (2*next + (count-1)*step)/2; - next = upperBound; - return result; - } - } - - - - /** - * Simple test method - */ - public static void main(final String[] args) - { - Interval interval = new Interval(-3, 5); - IteratorTools.printIterator("Interval(-3, 5, 1)", interval.iterator()); - System.out.println("count = "+interval.count()); - System.out.println("sum = "+interval.sum()); - - interval = new Interval(-3, 3, 2); - IteratorTools.printIterator("Interval(-3, 3, 2)", interval.iterator()); - System.out.println("count = "+interval.count()); - System.out.println("sum = "+interval.sum()); - - interval = new Interval(-3, 5, 3); - IteratorTools.printIterator("Interval(-3, 5, 3)", interval.iterator()); - System.out.println("count = "+interval.count()); - System.out.println("sum = "+interval.sum()); - - interval = new Interval(-3, -3); - IteratorTools.printIterator("Interval(-3, -3)", interval.iterator()); - System.out.println("count = "+interval.count()); - System.out.println("sum = "+interval.sum()); - - interval = new Interval(-5, -3); - IteratorTools.printIterator("Interval(-5, -3)", interval.iterator()); - System.out.println("count = "+interval.count()); - System.out.println("sum = "+interval.sum()); -} -} diff --git a/prism/src/common/iterable/Range.java b/prism/src/common/iterable/Range.java new file mode 100644 index 0000000000..bfa1b1475d --- /dev/null +++ b/prism/src/common/iterable/Range.java @@ -0,0 +1,419 @@ +package common.iterable; + +import java.util.OptionalInt; + +/** + * An Iterable that yields all integers between two values, first and last (both inclusive). + * The step width can be customized and defaults to 1. + *

+ * If {@code step > 0} then the sequence is
+ * ascending (start, start+1, ... , stop).
+ * otherwise
+ * descending (start, start-1, ... , stop).
+ */ +public class Range implements FunctionalPrimitiveIterable.OfInt +{ + protected final int first; // inclusive + protected final int last; // inclusive + protected final int step; + + /** + * Factory method for a range from {@code 0} to {@code stop} (both inclusive) + * with step width {@code 1}. + * + * @param stop last {@code int}, inclusive + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public static Range closed(int stop) + { + return closed(0, stop, 1); + } + + /** + * Factory method for a range from {@code start} to {@code stop} (both inclusive) + * with step width {@code 1}. + * + * @param start first {@code int}, inclusive + * @param stop last {@code int}, inclusive + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public static Range closed(int start, int stop) + { + return closed(start, stop, 1); + } + + /** + * Factory method for a range from {@code start} (inclusive) to {@code stop} (inclusive it it is a step) + * with step width {@code step}. + * + * @param start first {@code int}, inclusive + * @param stop last {@code int}, inclusive if it is a step + * @param step an {@code int != 0} giving the step width + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public static Range closed(int start, int stop, int step) + { + return new Range(start, stop, step, true); + } + + + + /** + * Constructor for a range from {@code 0} (inclusive) to {@code stop} (exclusive) + * with step width 1. + * + * @param stop last {@code int}, exclusive + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public Range(int stop) + { + this(0, stop); + } + + /** + * Constructor for a range from {@code start} (inclusive) to {@code stop} (exclusive) + * with step width 1. + * + * @param start first {@code int}, inclusive + * @param stop last {@code int}, exclusive + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public Range(int start, int stop) + { + this(start, stop, 1); + } + + /** + * Constructor for a range from {@code start} (inclusive) to {@code stop} (exclusive) + * with step width {@code step}. + * + * @param start first {@code int}, inclusive + * @param stop last {@code int}, exclusive + * @param step an {@code int != 0} giving the step width + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + public Range(int start, int stop, int step) + { + this(start, stop, step, false); + } + + /** + * Constructor for a range from {@code start} (inclusive) to {@code stop} (inclusive or exclusive) + * with step width {@code step}. + * If {@code step > 0} the range is ascending and otherwise descending. + * + * @param start first {@code int}, inclusive + * @param stop last {@code int}, inclusive if it is a step and {@code closed == true} + * @param step an {@code int != 0} + * @param closed flag whether {@code stop} is inclusive ({@code true}) or not ({@code false}) + * @throws ArithmeticException if enumerating the Range would cause an integer over- or underflow + */ + private Range(int start, int stop, int step, boolean closed) + { + if (step == 0) { + throw new IllegalArgumentException("Expected: step != 0"); + } + // convert to inclusive bound + if (!closed) { + stop = Math.addExact(stop, (step > 0) ? -1 : +1); + } + // normalize parameters + long distance = (long) stop - (long) start; + if ((step > 0 && distance < 0) || (step < 0 && distance > 0)) { + // empty range + this.first = 0; + this.last = -1; + this.step = 1; + } else { + // non-empty range + this.first = start; + // calculate last element + this.last = (int) (start + (distance / step) * step); + // set step = 1 for singleton ranges + this.step = (this.first == this.last) ? 1 : step; + } + // check for over- and underflows + checkForOverAndUnderflows(); + } + + /** + * Check that the iteration does not over- or underflow at Integer.MAX_VALUE or Integer.MIN_VALUE. + */ + private void checkForOverAndUnderflows() + { + if (isAscending()) { + if (last + step < last) { + throw new ArithmeticException("integer overflow"); + } + } else { + if (last + step > last) { + throw new ArithmeticException("integer underflow"); + } + } + } + + /** + * Answer whether the receiver is in ascending order. + * Empty and singleton ranges are ascending by default. + */ + public boolean isAscending() + { + return step > 0; + } + + /** + * Answer whether the receiver contains exactly one number. + */ + public boolean isSingleton() + { + return first == last; + } + + /** + * Return a new range with all elements in reverse order. + */ + public Range reversed() + { + return new Range(last, first, -step, true); + } + + @Override + public RangeIterator iterator() + { + if (isAscending()) { + return new AscendingRangeIterator(); + } else { + return new DescendingRangeIterator(); + } + } + + @Override + public boolean isEmpty() + { + // Empty ranges are ascending by default. + return isAscending() && first > last; + } + + @Override + public String toString() + { + return getClass().getSimpleName() + ".closed(" + first + ", " + last + ", " + step + ")"; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + if (isEmpty()) { + return result; + } + result = prime * result + first; + result = prime * result + last; + result = prime * result + step; + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) + { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!(obj instanceof Range)) { + return false; + } + Range other = (Range) obj; + if (first != other.first) { + return false; + } + if (last != other.last) { + return false; + } + if (step != other.step) { + return false; + } + return true; + } + + + + /** + * A abstract base class for an Iterator from {@code first} (inclusive) and {@code last} (exclusive) with a custom step width. + */ + protected abstract class RangeIterator implements FunctionalPrimitiveIterator.OfInt + { + protected int next; + + /** + * Constructor for a range Iterator. + */ + public RangeIterator() + { + assert step != 0 : "Expected: step != 0"; + this.next = first; + } + + @Override + public int nextInt() + { + requireNext(); + int current = next; + next += step; + return current; + } + + @Override + public long count() + { + if (!hasNext()) { + return 0; + } + long count = ((long) last - (long) next) / step + 1; + release(); + return count; + } + + @Override + public long sum() + { + if (!hasNext()) { + return 0; + } + // S(1..n) = k + (k+s) + (k+2s) + ... + (k+(n-1)s) + // S(1..n) = n(2k + (n-1)s) / 2 + long k = next; // store next, since count() exhausts the iterator + long count = count(); + long sum = count * (2 * k + (count - 1) * step) / 2; + release(); + return sum; + } + + @Override + public void release() + { + next = last + step; + } + } + + + + /** + * Ascending Iterator from {@code first} (inclusive) and {@code last} (inclusive) with a custom step width. + */ + protected class AscendingRangeIterator extends RangeIterator + { + /** + * Constructor for an ascending Iterator. + */ + public AscendingRangeIterator() + { + super(); + assert step > 0 : "Expected: step > 0"; + } + + @Override + public boolean hasNext() + { + return next <= last; + } + + @Override + public boolean contains(int i) + { + // Is in interval? + boolean inInterval = (i >= next) && (i <= last); + // Is a step? Mind potential overflow! + boolean contains = inInterval && (((long) i - (long) next) % step) == 0; + release(); + return contains; + } + + @Override + public OptionalInt max() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + OptionalInt max = OptionalInt.of(last); + release(); + return max; + } + + @Override + public OptionalInt min() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + OptionalInt min = OptionalInt.of(next); + release(); + return min; + } + } + + + + /** + * Descending Iterator from {@code first} (inclusive) and {@code last} (inclusive) with a custom step width. + */ + protected class DescendingRangeIterator extends RangeIterator + { + /** + * Constructor for an descending Iterator. + */ + public DescendingRangeIterator() + { + super(); + assert step < 0 : "Expected: step < 0"; + } + + @Override + public boolean hasNext() + { + return next >= last; + } + + @Override + public boolean contains(int i) + { + // Is in interval? + boolean inInterval = (i <= next) && (i >= last); + // Is a step? Mind potential overflow! + boolean contains = inInterval && (((long) i - (long) next) % step) == 0; + release(); + return contains; + } + + @Override + public OptionalInt max() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + OptionalInt max = OptionalInt.of(next); + release(); + return max; + } + + @Override + public OptionalInt min() + { + if (!hasNext()) { + return OptionalInt.empty(); + } + OptionalInt min = OptionalInt.of(last); + release(); + return min; + } + } +} diff --git a/prism/src/common/iterable/RangeIntIterable.java b/prism/src/common/iterable/RangeIntIterable.java deleted file mode 100644 index 735e7cf128..0000000000 --- a/prism/src/common/iterable/RangeIntIterable.java +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// -// Copyright (c) 2016- -// Authors: -// * Joachim Klein (TU Dresden) -// * Steffen Maercker (TU Dresden) -// -//------------------------------------------------------------------------------ -// -// This file is part of PRISM. -// -// PRISM is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// PRISM is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with PRISM; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -//============================================================================== - -package common.iterable; - -/** - * An Iterable that returns a Functional Primitive.OfInt iterator - * for all the integers between two values, first and last (inclusive). - * If first > last, then the sequence is descending (first, first-1, ..., last+1, last), - * otherwise it is ascending (first, first+1, ..., last-1, last). - */ -public class RangeIntIterable implements FunctionalPrimitiveIterable.OfInt -{ - /** The first integer of the sequence */ - final private int first; - /** The last integer of the sequence */ - final private int last; - /** Are we ascending? */ - final private boolean ascending; - - /** - * Constructor - * @param first the first integer in the sequence - * @param last the last integer in the sequence - */ - public RangeIntIterable(int first, int last) - { - this.first = first; - this.last = last; - ascending = (first <= last); - } - - @Override - public FunctionalPrimitiveIterator.OfInt iterator() - { - return new FunctionalPrimitiveIterator.OfInt() - { - int current = first; - - @Override - public boolean hasNext() - { - if (ascending) { - return current <= last; - } else { - return current >= last; - } - } - - @Override - public int nextInt() - { - if (ascending) { - return current++; - } else { - return current--; - } - } - }; - } -} From 10e5923238a8c88fcc2ca8b364e120d2318e367f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 15 Sep 2020 07:57:35 +0200 Subject: [PATCH 07/35] Adjust classpath to include test directory --- prism/.classpath | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/prism/.classpath b/prism/.classpath index 1bef3aa5af..4b1d86cb08 100644 --- a/prism/.classpath +++ b/prism/.classpath @@ -1,7 +1,12 @@ - + + + + + + @@ -12,5 +17,6 @@ + From 83ae25bffd162c9a07f82e299f22d83ef277c056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Mon, 21 Sep 2020 11:32:23 +0200 Subject: [PATCH 08/35] Implement assertions on iterators --- .../common/iterable/Assertions.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 prism/unit-tests/common/iterable/Assertions.java diff --git a/prism/unit-tests/common/iterable/Assertions.java b/prism/unit-tests/common/iterable/Assertions.java new file mode 100644 index 0000000000..113676bf6a --- /dev/null +++ b/prism/unit-tests/common/iterable/Assertions.java @@ -0,0 +1,80 @@ +package common.iterable; + +import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.PrimitiveIterator; + +import static org.junit.jupiter.api.Assertions.*; + +public class Assertions +{ + /** + * Assert two double values are equals while assuming -0.0 == +0.0 and NaN == NaN. + */ + protected static void assertDoubleEquals(double expected, double actual) + { + assertTrue(expected == actual || Double.isNaN(expected) && Double.isNaN(actual)); + } + + public static void assertIterableEquals(PrimitiveIterable.OfDouble expected, PrimitiveIterable.OfDouble actual) + { + assertIteratorEquals(expected.iterator(), actual.iterator()); + } + + public static void assertIterableEquals(PrimitiveIterable.OfInt expected, PrimitiveIterable.OfInt actual) + { + assertIteratorEquals(expected.iterator(), actual.iterator()); + } + + public static void assertIterableEquals(PrimitiveIterable.OfLong expected, PrimitiveIterable.OfLong actual) + { + assertIteratorEquals(expected.iterator(), actual.iterator()); + } + + public static void assertIteratorEquals(Iterator expected, Iterator actual) + { + while(expected.hasNext() && actual.hasNext()) { + assertEquals(expected.next(), actual.next()); + } + assertFalse(expected.hasNext()); + assertFalse(actual.hasNext()); + assertThrows(NoSuchElementException.class, expected::next); + assertThrows(NoSuchElementException.class, actual::next); + } + + public static void assertIteratorEquals(PrimitiveIterator.OfDouble expected, PrimitiveIterator.OfDouble actual) + { + while(expected.hasNext() && actual.hasNext()) { + double exp = expected.nextDouble(); + double act = actual.nextDouble(); + assertDoubleEquals(exp, act); + } + assertFalse(expected.hasNext()); + assertFalse(actual.hasNext()); + assertThrows(NoSuchElementException.class, expected::next); + assertThrows(NoSuchElementException.class, actual::next); + } + + public static void assertIteratorEquals(PrimitiveIterator.OfInt expected, PrimitiveIterator.OfInt actual) + { + while(expected.hasNext() && actual.hasNext()) { + assertEquals(expected.nextInt(), actual.nextInt()); + } + assertFalse(expected.hasNext()); + assertFalse(actual.hasNext()); + assertThrows(NoSuchElementException.class, expected::next); + assertThrows(NoSuchElementException.class, actual::next); + } + + public static void assertIteratorEquals(PrimitiveIterator.OfLong expected, PrimitiveIterator.OfLong actual) + { + while(expected.hasNext() && actual.hasNext()) { + assertEquals(expected.nextLong(), actual.nextLong()); + } + assertFalse(expected.hasNext()); + assertFalse(actual.hasNext()); + assertThrows(NoSuchElementException.class, expected::next); + assertThrows(NoSuchElementException.class, actual::next); + } + +} From ea60ab7dd6528e053011e8ee6b3f2566981196f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:06:19 +0200 Subject: [PATCH 09/35] Test interface Reducible --- .../common/iterable/ReducibleStaticTest.java | 440 +++++++++ .../common/iterable/ReducibleTest.java | 920 ++++++++++++++++++ 2 files changed, 1360 insertions(+) create mode 100644 prism/unit-tests/common/iterable/ReducibleStaticTest.java create mode 100644 prism/unit-tests/common/iterable/ReducibleTest.java diff --git a/prism/unit-tests/common/iterable/ReducibleStaticTest.java b/prism/unit-tests/common/iterable/ReducibleStaticTest.java new file mode 100644 index 0000000000..68ed32871b --- /dev/null +++ b/prism/unit-tests/common/iterable/ReducibleStaticTest.java @@ -0,0 +1,440 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.*; + +class ReducibleStaticTest +{ + static Stream> getIterables() + { + return Stream.of(Collections.singleton(null), + Collections.emptyList(), + Collections.singleton("one"), + Arrays.asList("one", "two", "three")); + } + + static Stream> getIterablesNull() + { + return Stream.of(Collections.singleton(null)); + } + + static Stream> getIterablesDouble() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1.0), + Arrays.asList(1.0, 2.0, 3.0)); + } + + static Stream> getIterablesInt() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1), + Arrays.asList(1, 2, 3)); + } + + static Stream> getIterablesLong() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1L), + Arrays.asList(1L, 2L, 3L)); + } + + @ParameterizedTest + @MethodSource("getIterables") + @DisplayName("extend() yields same sequence as the underlying iterable.") + void testExtendIterable(Iterable iterable) + { + FunctionalIterable actual = Reducible.extend(iterable); + assertIterableEquals(iterable, actual); + } + + @ParameterizedTest + @MethodSource("getIterables") + @DisplayName("extend() yields same sequence as the underlying iterator.") + void testExtendIterator(Iterable iterable) + { + Iterator expected = iterable.iterator(); + FunctionalIterator actual = Reducible.extend(iterable.iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterables") + @DisplayName("extend() does not extend a FunctionalIterable.") + void testExtendFunctionalIterable(Iterable iterable) + { + Iterable expected = Reducible.extend(iterable); + FunctionalIterable actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterables") + @DisplayName("extend() does not extend a FunctionalIterator.") + void testExtendFunctionalIterator(Iterable iterable) + { + Iterator expected = Reducible.extend(iterable.iterator()); + FunctionalIterator actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterable.OfDouble.") + void testExtendFunctionalPrimitiveIterableOfDouble(Iterable iterable) + { + PrimitiveIterable.OfDouble expected = Reducible.extend(PrimitiveIterable.unboxDouble(iterable)); + FunctionalIterable functional = Reducible.extend(expected); + assertSame(expected, functional); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterator.OfDouble.") + void testExtendFunctionalPrimitiveIteratorOfDouble(Iterable iterable) + { + PrimitiveIterator.OfDouble expected = Reducible.extend(PrimitiveIterable.unboxDouble(iterable.iterator())); + FunctionalIterator actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterable.OfInt.") + void testExtendFunctionalPrimitiveIterableOfInt(Iterable iterable) + { + PrimitiveIterable.OfInt expected = Reducible.extend(PrimitiveIterable.unboxInt(iterable)); + FunctionalIterable actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterator.OfInt.") + void testExtendFunctionalPrimitiveIteratorOfInt(Iterable iterable) + { + PrimitiveIterator.OfInt expected = Reducible.extend(PrimitiveIterable.unboxInt(iterable.iterator())); + FunctionalIterator actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterable.OfLong.") + void testExtendFunctionalPrimitiveIterableOfLong(Iterable iterable) + { + PrimitiveIterable.OfLong expected = Reducible.extend(PrimitiveIterable.unboxLong(iterable)); + FunctionalIterable actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("extend() does not extend a FunctionalPrimitiveIterator.OfLong.") + void testExtendFunctionalPrimitiveIteratorOfLong(Iterable iterable) + { + PrimitiveIterator.OfLong expected = Reducible.extend(PrimitiveIterable.unboxLong(iterable).iterator()); + FunctionalIterator actual = Reducible.extend(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("extend() extends OfDouble to FunctionalPrimitiveIterable.") + void testExtendPrimitiveIterableOfDouble(Iterable iterable) + { + Iterable primitive = PrimitiveIterable.unboxDouble(iterable); + FunctionalIterable actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterable); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("extend() extends OfDouble to FunctionalPrimitiveIterator.") + void testExtendPrimitiveIteratorOfDouble(Iterable iterable) + { + Iterator primitive = PrimitiveIterable.unboxDouble(iterable).iterator(); + FunctionalIterator actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterator); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("extend() extends OfInt to FunctionalPrimitiveIterable.") + void testExtendPrimitiveIterableOfInt(Iterable iterable) + { + Iterable primitive = PrimitiveIterable.unboxInt(iterable); + FunctionalIterable actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterable); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("extend() extends OfInt to FunctionalPrimitiveIterator.") + void testExtendPrimitiveIteratorOfInt(Iterable iterable) + { + Iterator primitive = PrimitiveIterable.unboxInt(iterable.iterator()); + FunctionalIterator actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterator); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("extend() extends OfLong to FunctionalPrimitiveIterable.") + void testExtendPrimitiveIterableOfLong(Iterable iterable) + { + Iterable primitive = PrimitiveIterable.unboxLong(iterable); + FunctionalIterable actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterable); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("extend() extends OfLong to FunctionalPrimitiveIterator.") + void testExtendPrimitiveIteratorOfLong(Iterable iterable) + { + Iterator primitive = PrimitiveIterable.unboxLong(iterable).iterator(); + FunctionalIterator actual = Reducible.extend(primitive); + assertTrue(actual instanceof FunctionalPrimitiveIterator); + } + + @Test + @DisplayName("extend() with null throws NullPointerException.") + void testExtendIterable_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.extend((Iterable) null)); + } + + @Test + @DisplayName("extend() with null throws NullPointerException.") + void testExtendIterator_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.extend((Iterator) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("unboxDouble() yields same sequence as the underlying iterable.") + void testUnboxDoubleIterable(Iterable iterable) + { + PrimitiveIterable.OfDouble expected = PrimitiveIterable.unboxDouble(iterable); + FunctionalPrimitiveIterable.OfDouble actual = Reducible.unboxDouble(iterable); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("unboxDouble() yields same sequence as the underlying iterator.") + void testUnboxDoubleIterator(Iterable iterable) + { + PrimitiveIterator.OfDouble expected = PrimitiveIterable.unboxDouble(iterable.iterator()); + FunctionalPrimitiveIterator.OfDouble actual = Reducible.unboxDouble(iterable.iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("unboxDouble() does not unbox a FunctionalPrimitiveIterable.OfDouble.") + void testUnboxDoubleIterableOfDouble(Iterable iterable) + { + PrimitiveIterable.OfDouble expected = Reducible.extend(PrimitiveIterable.unboxDouble(iterable)); + FunctionalPrimitiveIterable.OfDouble actual = Reducible.unboxDouble(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + @DisplayName("unboxDouble() does not unbox a FunctionalPrimitiveIterator.OfDouble.") + void testUnboxDoubleIteratorOfDouble(Iterable iterable) + { + PrimitiveIterator.OfDouble expected = Reducible.extend(PrimitiveIterable.unboxDouble(iterable.iterator())); + FunctionalPrimitiveIterator.OfDouble actual = Reducible.unboxDouble(expected); + assertSame(expected, actual); + } + + @Test + @DisplayName("unboxDouble() with null throws NullPointerException.") + void testUnboxDoubleIterable_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxDouble((Iterable) null)); + } + + @Test + @DisplayName("unboxDouble() with null throws NullPointerException.") + void testUnboxDoubleIterator_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxDouble((Iterator) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxDouble() with an Iterable containing null throws NullPointerException.") + void testUnboxDoubleIterable_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterable.OfDouble primitive = Reducible.unboxDouble(iterable); + assertThrows(NullPointerException.class, primitive::consume); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxDouble() with an Iterator containing null throws NullPointerException.") + void testUnboxDoubleIterator_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterator.OfDouble primitive = Reducible.unboxDouble(iterable.iterator()); + assertThrows(NullPointerException.class, primitive::consume); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("unboxInt() yields same sequence as the underlying iterable.") + void testUnboxIntIterable(Iterable iterable) + { + PrimitiveIterable.OfInt expected = PrimitiveIterable.unboxInt(iterable); + FunctionalPrimitiveIterable.OfInt actual = Reducible.unboxInt(iterable); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("unboxInt() yields same sequence as the underlying iterator.") + void testUnboxIntIterator(Iterable iterable) + { + PrimitiveIterator.OfInt expected = PrimitiveIterable.unboxInt(iterable.iterator()); + FunctionalPrimitiveIterator.OfInt actual = Reducible.unboxInt(iterable.iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("unboxInt() does not unbox a FunctionalPrimitiveIterable.OfInt.") + void testUnboxIntIterableOfInt(Iterable iterable) + { + PrimitiveIterable.OfInt expected = Reducible.extend(PrimitiveIterable.unboxInt(iterable)); + FunctionalPrimitiveIterable.OfInt actual = Reducible.unboxInt(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + @DisplayName("unboxInt() does not unbox a FunctionalPrimitiveIterator.OfInt.") + void testUnboxIntIteratorOfInt(Iterable iterable) + { + PrimitiveIterator.OfInt expected = Reducible.extend(PrimitiveIterable.unboxInt(iterable.iterator())); + FunctionalPrimitiveIterator.OfInt actual = Reducible.unboxInt(expected); + assertSame(expected, actual); + } + + @Test + @DisplayName("unboxInt() with null throws NullPointerException.") + void testUnboxIntIterable_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxInt((Iterable) null)); + } + + @Test + @DisplayName("unboxInt() with null throws NullPointerException.") + void testUnboxIntIterator_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxInt((Iterator) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxInt() with an Iterable containing null throws NullPointerException.") + void testUnboxIntIterable_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterable.OfInt primitive = Reducible.unboxInt(iterable); + assertThrows(NullPointerException.class, primitive::consume); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxInt() with an Iterator containing null throws NullPointerException.") + void testUnboxIntIterator_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterator.OfInt primitive = Reducible.unboxInt(iterable.iterator()); + assertThrows(NullPointerException.class, primitive::consume); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("unboxLong() yields same sequence as the underlying iterable.") + void testUnboxLongIterable(Iterable iterable) + { + PrimitiveIterable.OfLong expected = PrimitiveIterable.unboxLong(iterable); + FunctionalPrimitiveIterable.OfLong actual = Reducible.unboxLong(iterable); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("unboxLong() yields same sequence as the underlying iterator.") + void testUnboxLong(Iterable iterable) + { + PrimitiveIterator.OfLong expected = PrimitiveIterable.unboxLong(iterable.iterator()); + FunctionalPrimitiveIterator.OfLong actual = Reducible.unboxLong(iterable.iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("unboxLong() does not unbox a FunctionalPrimitiveIterable.OfDouble.") + void testUnboxLongIterableOfLong(Iterable iterable) + { + PrimitiveIterable.OfLong expected = Reducible.extend(PrimitiveIterable.unboxLong(iterable)); + FunctionalPrimitiveIterable.OfLong actual = Reducible.unboxLong(expected); + assertSame(expected, actual); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + @DisplayName("unboxLong() does not unbox a FunctionalPrimitiveIterator.OfDouble.") + void testUnboxLongIteratorOfLong(Iterable iterable) + { + PrimitiveIterator.OfLong expected = Reducible.extend(PrimitiveIterable.unboxLong(iterable.iterator())); + FunctionalPrimitiveIterator.OfLong actual = Reducible.unboxLong(expected); + assertSame(expected, actual); + } + + @Test + @DisplayName("unboxLong() with null throws NullPointerException.") + void testUnboxLongIterable_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxLong((Iterable) null)); + } + + @Test + @DisplayName("unboxLong() with null throws NullPointerException.") + void testUnboxLongIterator_Null() + { + assertThrows(NullPointerException.class, () -> Reducible.unboxLong((Iterator) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxInt() with an Iterable containing null throws NullPointerException.") + void testUnboxLongIterable_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterable.OfLong primitive = Reducible.unboxLong(iterable); + assertThrows(NullPointerException.class, primitive::consume); + } + + @ParameterizedTest + @MethodSource("getIterablesNull") + @DisplayName("unboxInt() with an Iterator containing null throws NullPointerException.") + void testUnboxLongIterator_NullValues(Iterable iterable) + { + FunctionalPrimitiveIterator.OfLong primitive = Reducible.unboxLong(iterable.iterator()); + assertThrows(NullPointerException.class, primitive::consume); + } +} diff --git a/prism/unit-tests/common/iterable/ReducibleTest.java b/prism/unit-tests/common/iterable/ReducibleTest.java new file mode 100644 index 0000000000..6932b474a9 --- /dev/null +++ b/prism/unit-tests/common/iterable/ReducibleTest.java @@ -0,0 +1,920 @@ +package common.iterable; + +import common.functions.DoubleObjToDoubleFunction; +import common.functions.IntObjToIntFunction; +import common.functions.LongObjToLongFunction; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.*; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + +public interface ReducibleTest> +{ + default T getAnyReducible() + { + Optional> any = getReducibles().findAny(); + assert any.isPresent(); + return any.get().get(); + } + + default Stream> getReducibles() + { + return Stream.concat(Stream.concat(getEmptyReducibles(), getSingletonReducibles()), getMultitonReducibles()); + } + + Stream> getDuplicatesReducibles(); + + Stream> getEmptyReducibles(); + + Stream> getSingletonReducibles(); + + Stream> getMultitonReducibles(); + + Iterable getExcluded(T reducible); + + + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectArray(Supplier supplier) + { + int n = (int) supplier.get().count(); + Object[] expected = new Object[n]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach(e -> expected[index.nextInt()] = e); + Object[] actual = supplier.get().collect((E[]) new Object[n]); // exploit that E[] is Object[] at runtime + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + Object[] expected = new Object[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach(e -> expected[index.nextInt()] = e); + Object[] actual = supplier.get().collect((E[]) new Object[offset + n + tail], offset); // exploit that E[] is Object[] at runtime + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectCollection(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(expected::add); + List actual = supplier.get().collect(new ArrayList<>()); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectSupplier(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(expected::add); + List actual = supplier.get().collect((Supplier>) ArrayList::new); + assertIterableEquals(expected, actual); + } + + @Test + default void testCollect_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collect((E[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collect(null, 0)); + assertThrows(NullPointerException.class, () -> reducible.collect((Collection) null)); + assertThrows(NullPointerException.class, () -> reducible.collect((Supplier>) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountArray(Supplier supplier) + { + int n = (int) supplier.get().count(), tail = 3; + Object[] expected = new Object[n + tail]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach(e -> expected[index.nextInt()] = e); + Object[] actual = new Object[n + tail]; + long count = supplier.get().collectAndCount((E[]) actual); // exploit that E[] is Object[] at runtime + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + Object[] expected = new Object[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach(e -> expected[index.nextInt()] = e); + Object[] actual = new Object[offset + n + tail]; + long count = supplier.get().collectAndCount((E[]) actual, offset); // exploit that E[] is Object[] at runtime + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountCollection(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(expected::add); + List actual = new ArrayList<>(); + long count = supplier.get().collectAndCount(actual); + assertEquals(expected.size(), count); + assertIterableEquals(expected, actual); + } + + @Test + default void testCollectAndCount_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((E[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount(null, 0)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((Collection) null)); + } + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + default void testCollectDistinct(Supplier supplier) + { + Set expected = new HashSet<>(); + supplier.get().forEach(expected::add); + List actual = supplier.get().collectDistinct().collect(new ArrayList<>()); + assertTrue(expected.containsAll(actual), "actual =< expected"); + assertTrue(actual.containsAll(expected), "actual >= expected"); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testConsume(Supplier supplier) + { + // Just test that consume yields the receiver. + // There is no way to test whether consume does anything beyond this. + T expected = supplier.get(); + Reducible actual = expected.consume(); + assertSame(expected, actual); + } + + void testConcat(Supplier supplier); + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + default void testDistinct(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(e -> {if (! expected.contains(e)) expected.add(e);}); + List actual = supplier.get().distinct().collect(new ArrayList<>()); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + default void testDedupe(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(e -> { + Object last = expected.isEmpty() ? new Object() : expected.get(expected.size() - 1); + if (! Objects.equals(last, e)) { + expected.add(e); + } + }); + List actual = supplier.get().dedupe().collect(new ArrayList<>()); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFilter(Supplier supplier) + { + ArrayList expected = new ArrayList<>(); + int n = supplier.get().reduce(0, (int c, E e) -> { + if (c % 2 == 0) expected.add(e); + return ++c; + }); + Range.RangeIterator index = new Range(n).iterator(); + Reducible actual = supplier.get().filter(e -> index.nextInt() % 2 == 0); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @Test + default void testFilter_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.filter(null)); + } + + void testFlatMap(Supplier supplier); + + void testFlatMapToDouble(Supplier supplier); + + void testFlatMapToInt(Supplier supplier); + + void testFlatMapToLong(Supplier supplier); + + void testFlatMapToNull(Supplier supplier); + + void testFlatMap_Null(); + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMap(Supplier supplier) + { + String prefix = "Item: "; + List expected = new ArrayList<>(); + supplier.get().forEach(e -> expected.add(prefix + e)); + Reducible actual = supplier.get().map(e -> prefix + e); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + FunctionalIterable expected = range.map((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfDouble actual = supplier.get().mapToDouble(e -> index.next()); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveReducible.OfInt actual = supplier.get().mapToInt(e -> index.next()); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + FunctionalIterable expected = range.map((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfLong actual = supplier.get().mapToLong(e -> index.next()); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @Test + default void testMap_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.map(null)); + assertThrows(NullPointerException.class, () -> reducible.mapToDouble(null)); + assertThrows(NullPointerException.class, () -> reducible.mapToInt(null)); + assertThrows(NullPointerException.class, () -> reducible.mapToLong(null)); + } + + void testForEach(Supplier supplier); + + @Test + default void testForEach_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.forEach(null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testIsEmpty_Empty(Supplier supplier) + { + assertTrue(supplier.get().isEmpty()); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testIsEmpty_NonEmpty(Supplier supplier) + { + assertFalse(supplier.get().isEmpty()); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceBinaryOperatorOfE_Empty(Supplier supplier) + { + BinaryOperator nop = (res, each) -> null; + Optional actual = supplier.get().reduce(nop); + assertEquals(Optional.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceBinaryOperatorOfE_Singleton(Supplier supplier) + { + BinaryOperator nop = (res, each) -> null; + E expected = supplier.get().detect(e -> true); + if (expected == null) { + assertThrows(NullPointerException.class, () -> supplier.get().reduce(nop)); + } else { + Optional actual = supplier.get().reduce(nop); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.get()); + } + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceBinaryOperatorOfE_Multiton(Supplier supplier) + { + ArrayList expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + E probe = (E) new Object(); // "unique" value, exploit that E is Object at runtime + BinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return (E) probe; + } else { + actual.add(each); + return res; + } + }; + Optional result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.get()); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceBinary_ResultNull(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertThrows(NullPointerException.class, () -> reducible.reduce((res, each) -> null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduce(Supplier supplier) + { + ArrayList expected = supplier.get().collect(new ArrayList<>()); + BiFunction, E, List> collect = (seq, each) -> {seq.add(each); return seq;}; + List actual = supplier.get().reduce(new ArrayList<>(), collect); + assertIterableEquals(expected, actual); + assertDoesNotThrow(() -> supplier.get().reduce(null, (obj, each) -> null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceDouble(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + DoubleObjToDoubleFunction collect = (res, each) -> {actual.add(each); return res;}; + double result = supplier.get().reduce(Double.MIN_VALUE, collect); + assertEquals(Double.MIN_VALUE, result); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceInt(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + IntObjToIntFunction collect = (res, each) -> {actual.add(each); return res;}; + int result = supplier.get().reduce(Integer.MIN_VALUE, collect); + assertEquals(Integer.MIN_VALUE, result); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceLong(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + LongObjToLongFunction collect = (res, each) -> {actual.add(each); return res;}; + long result = supplier.get().reduce(Long.MIN_VALUE, collect); + assertEquals(Long.MIN_VALUE, result); + assertIterableEquals(expected, actual); + } + + @Test + default void testReduce_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.reduce(null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(new Object(),null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0.0, null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0, (IntObjToIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0L, (LongObjToLongFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testNonNull(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach(e -> {if (e != null) expected.add(e);}); + Reducible actual = supplier.get().nonNull(); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAllMatch(Supplier supplier) + { + // match all elements + assertTrue(supplier.get().allMatch(each -> true), "Expected allMatch() == true"); + // match not all elements + Predicate matchNotAll = new Predicate<>() { + // match: no element if singleton, otherwise every odd element + boolean flag = supplier.get().count() == 1; + @Override + public boolean test(E t) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().allMatch(matchNotAll), "Expected allMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testAllMatch_Empty(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertTrue(reducible.allMatch(each -> false), "Exepted allMatch() == true if reducible is empty"); + } + + @Test + default void testAllMatch_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.allMatch(null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAnyMatch(Supplier supplier) + { + // match no element + assertFalse(supplier.get().anyMatch(each -> false), "Expected anyMatch() == false"); + // match some elements + Predicate matchSome = new Predicate<>() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(E t) + { + flag = !flag; + return flag; + } + }; + assertTrue(supplier.get().anyMatch(matchSome), "Expected anyMatch() == true"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testAnyMatch_Empty(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertFalse(reducible.anyMatch(each -> true), "Exepted anyMatch() == false if reducible is empty"); + } + + @Test + default void testAnyMatch_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.anyMatch(null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testNoneMatch(Supplier supplier) + { + // match no element + assertTrue(supplier.get().noneMatch(each -> false), "Expected noneMatch() == true"); + // match some elements + Predicate matchSome = new Predicate<>() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(E t) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().noneMatch(matchSome), "Expected noneMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testNoneMatch_Empty(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertTrue(reducible.allMatch(each -> false), "Exepted noneMatch() == false if iterator is empty"); + } + + @Test + default void testNoneMatch_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.noneMatch(null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testAsString(Supplier supplier) + { + String expected = "[" + supplier.get().reduce("", (str, each) -> str + (str.isEmpty() ? "" : ", ") + each) + "]"; + String actual = supplier.get().asString(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testContains(Supplier supplier) + { + ArrayList elements = supplier.get().collect(new ArrayList<>()); + for (E each : elements) { + assertTrue(supplier.get().contains(each), "Expected contains(" + each + ") == true"); + } + for (Object each : getExcluded(supplier.get())) { + assertFalse(supplier.get().contains(each), "Expected contains(" + each + ") == false"); + } + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCount(Supplier supplier) + { + ArrayList elements = supplier.get().collect(new ArrayList<>()); + long expected = elements.size(); + long actual = supplier.get().count(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCountPredicate(Supplier supplier) + { + ArrayList elements = supplier.get().collect(new ArrayList<>()); + long expected = (elements.size() + 1) / 2; + Predicate odd = new Predicate<>() { + int i = 1; + @Override + public boolean test(E t) + { + return i++ % 2 == 1; + } + }; + long actual = supplier.get().count(odd); + assertEquals(expected, actual); + } + + @Test + default void testCountPredicate_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.count(null)); + } + + + @ParameterizedTest + @MethodSource("getReducibles") + default void testDetect_AllFalse(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect(each -> false)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testDetect_Empty(Supplier supplier) + { + Reducible reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect(each -> true)); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testDetect_Singleton(Supplier supplier) + { + // match first element + E expected = supplier.get().collect(new ArrayList<>()).get(0); + E actual = supplier.get().detect(each -> true); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testDetect_Multiton(Supplier supplier) + { + // match second element + E expected = supplier.get().collect(new ArrayList<>()).get(1); + Predicate second = new Predicate<>() { + boolean flag = true; + @Override + public boolean test(E each) + { + flag = !flag; + return flag; + } + }; + E actual = supplier.get().detect(second); + assertEquals(expected, actual); + } + + @Test + default void testDetect_Null() + { + Reducible reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.detect(null)); + } + + + + interface Of> extends ReducibleTest + { + T getReducible(Object[] objects); + + @Override + default Stream> getDuplicatesReducibles() + { + return getDuplicatesArraysOfObject().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getEmptyReducibles() + { + return getEmptyArraysOfObject().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getSingletonReducibles() + { + return getSingletonArraysOfObject().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getMultitonReducibles() + { + return getMultitonArraysOfObject().map(args-> () -> getReducible(args)); + } + + @Override + default Iterable getExcluded(T iterable) + { + return getUniqueObjects(); + } + } + + + + // Test-data sets + + default Stream getArraysOfObject() + { + return Stream.concat(Stream.concat(getEmptyArraysOfObject(), getSingletonArraysOfObject()), getMultitonArraysOfObject()); + } + + /* Workaround to pass Object[] as argument */ + default Stream getArraysAsArguments() + { + return getArraysOfObject().map(array -> Arguments.of((Object) array)); + } + + default Stream getDuplicatesArraysOfObject() + { + return Stream.of( + new Object[] {null, null, + "first", "first", + "second", "second"}, + new Object[] {null, null, + "first", "first", + "third", "third", + "first", "first", + null, null}); + } + + default Stream getEmptyArraysOfObject() + { + return Stream.of(new Object[] {}); + } + + default Stream getSingletonArraysOfObject() + { + return Stream.of(new Object[] {"first"}, + new Object[] {null}); + } + + default Stream getMultitonArraysOfObject() + { + return Stream.of(new Object[] {"first", "second", "third"}, + new Object[] {null, "first", null, "second", null, "third", null}); + } + + /* Workaround to pass Object[] as argument */ + default Stream getMultitonArraysAsArguments() + { + return getMultitonArraysOfObject().map(array -> Arguments.of((Object) array)); + } + + default List getUniqueObjects() + { + return List.of(new Object(), new Object(), new Object()); + } + + default Stream getArraysOfDouble() + { + return Stream.concat(Stream.concat(getEmptyArraysOfDouble(), getSingletonArraysOfDouble()), getMultitonArraysOfDouble()); + } + + default Stream getDuplicatesArraysOfDouble() + { + return Stream.of(new double[] {-3.5, -3.5, + -2.0, -2.0, + -1.0, -1.0, + -0.0, +0.0, + +1.0, +1.0, + +2.0, +2.0, + +3.5, +3.5}, + new double[] {Double.NaN, Double.NaN, + Double.MIN_VALUE, Double.MIN_VALUE, + Double.MIN_NORMAL, Double.MIN_NORMAL, + Double.MAX_VALUE, Double.MAX_VALUE, + Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY, + Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY, + Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY, + Double.MAX_VALUE, Double.MAX_VALUE, + Double.MIN_NORMAL, Double.MIN_NORMAL, + Double.MIN_VALUE, Double.MIN_VALUE, + Double.NaN, Double.NaN}); + } + + default Stream getEmptyArraysOfDouble() + { + return Stream.of(new double[] {}); + } + + default Stream getSingletonArraysOfDouble() + { + return Stream.of(new double[] {1.0}); + } + + default Stream getMultitonArraysOfDouble() + { + return Stream.of(new double[] {-3.5, -2.0, -1.0, 0.0, 1.0, 2.0, 3.5}, + new double[] {Double.NaN, + Double.MIN_VALUE, + Double.MIN_NORMAL, + Double.MAX_VALUE, + Double.NEGATIVE_INFINITY, + Double.POSITIVE_INFINITY,}); + } + + default List getExclusionListOfDouble() + { + List excluded = new ArrayList<>(); + excluded.add(Double.NaN); + excluded.add(Double.NEGATIVE_INFINITY); + excluded.add(-100000000.0); + excluded.add(-10000.0); + excluded.add(-100.0); + excluded.add(-10.0); + excluded.add(-2.0); + excluded.add(-1.0); + excluded.add(-0.0); + excluded.add(+0.0); + excluded.add(Double.MIN_VALUE); + excluded.add(Double.MIN_NORMAL); + excluded.add(1.0); + excluded.add(2.0); + excluded.add(10.0); + excluded.add(100.0); + excluded.add(10000.0); + excluded.add(100000000.0); + excluded.add(Double.MAX_VALUE); + excluded.add(Double.POSITIVE_INFINITY); + return excluded; + } + + default Stream getArraysOfInt() + { + return Stream.concat(Stream.concat(getEmptyArraysOfInt(), getSingletonArraysOfInt()), getMultitonArraysOfInt()); + } + + default Stream getDuplicatesArraysOfInt() + { + return Stream.of(new int[] {-3, -3, + -1, -1, + -2, -2, + -0, +0, + +1, +1, + +2, +2, + +3, +3}, + new int[] {Integer.MIN_VALUE, Integer.MIN_VALUE, + Integer.MAX_VALUE, Integer.MAX_VALUE, + Integer.MIN_VALUE, Integer.MIN_VALUE}); + } + + default Stream getEmptyArraysOfInt() + { + return Stream.of(new int[] {}); + } + + default Stream getSingletonArraysOfInt() + { + return Stream.of(new int[] {1}); + } + + default Stream getMultitonArraysOfInt() + { + return Stream.of(new int[] {-3, -2, -1, 0, 1, 2, 3}, + new int[] {Integer.MIN_VALUE, Integer.MAX_VALUE}); + } + + default List getExclusionListOfInt() + { + List excluded = new ArrayList<>(); + excluded.add(Integer.MIN_VALUE); + excluded.add(-100000000); + excluded.add(-10000); + excluded.add(-100); + excluded.add(-10); + excluded.add(-2); + excluded.add(-1); + excluded.add(0); + excluded.add(1); + excluded.add(2); + excluded.add(10); + excluded.add(100); + excluded.add(10000); + excluded.add(100000000); + excluded.add(Integer.MAX_VALUE); + return excluded; + } + + default Stream getArraysOfLong() + { + return Stream.concat(Stream.concat(getEmptyArraysOfLong(), getSingletonArraysOfLong()), getMultitonArraysOfLong()); + } + + default Stream getDuplicatesArraysOfLong() + { + return Stream.of(new long [] {-3L, -3L, + -2L, -2L, + -1L, -1L, + -0L, +0L, + +1L, +1L, + +2L, +2L, + +3L, +3L}, + new long[] {Long.MIN_VALUE, Long.MIN_VALUE, + Long.MAX_VALUE, Long.MAX_VALUE, + Long.MIN_VALUE, Long.MIN_VALUE}); + } + + default Stream getEmptyArraysOfLong() + { + return Stream.of(new long [] {}); + } + + default Stream getSingletonArraysOfLong() + { + return Stream.of(new long [] {1L}); + } + + default Stream getMultitonArraysOfLong() + { + return Stream.of(new long [] {-3L, -2L, -1L, 0L, 1L, 2L, 3L}, + new long[] {Long.MIN_VALUE, Long.MAX_VALUE}); + } + + default List getExclusionListOfLong() + { + List excluded = new ArrayList<>(); + excluded.add(Long.MIN_VALUE); + excluded.add(-100000000L); + excluded.add(-10000L); + excluded.add(-100L); + excluded.add(-10L); + excluded.add(-2L); + excluded.add(-1L); + excluded.add(0L); + excluded.add(1L); + excluded.add(2L); + excluded.add(10L); + excluded.add(100L); + excluded.add(10000L); + excluded.add(100000000L); + excluded.add(Long.MAX_VALUE); + return excluded; + } +} From 823f613506471294aba7c118ae5aa4aae3794065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:06:55 +0200 Subject: [PATCH 10/35] Test interface PrimitiveReducible --- .../iterable/PrimitiveReducibleTest.java | 1889 +++++++++++++++++ 1 file changed, 1889 insertions(+) create mode 100644 prism/unit-tests/common/iterable/PrimitiveReducibleTest.java diff --git a/prism/unit-tests/common/iterable/PrimitiveReducibleTest.java b/prism/unit-tests/common/iterable/PrimitiveReducibleTest.java new file mode 100644 index 0000000000..48da47f616 --- /dev/null +++ b/prism/unit-tests/common/iterable/PrimitiveReducibleTest.java @@ -0,0 +1,1889 @@ +package common.iterable; + +import common.functions.DoubleLongToDoubleFunction; +import common.functions.IntDoubleToIntFunction; +import common.functions.IntLongToIntFunction; +import common.functions.LongDoubleToLongFunction; +import common.functions.ObjDoubleFunction; +import common.functions.ObjIntFunction; +import common.functions.ObjLongFunction; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.*; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.Assertions.*; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; + +public interface PrimitiveReducibleTest +{ + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + interface OfDouble> extends ReducibleTest + { + @Override + default Stream> getDuplicatesReducibles() + { + return getDuplicatesArraysOfDouble().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getEmptyReducibles() + { + return getEmptyArraysOfDouble().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getSingletonReducibles() + { + return getSingletonArraysOfDouble().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getMultitonReducibles() + { + return getMultitonArraysOfDouble().map(args-> () -> getReducible(args)); + } + + T getReducible(double[] arguments); + + @Override + default Iterable getExcluded(T reducible) + { + List candidates = getExclusionListOfDouble(); + reducible.forEach((double d) -> { + candidates.remove(d); + if (d == 0.0) { + candidates.remove(-1 * d); + } + }); + List excluded = new ArrayList<>(); + excluded.addAll(getUniqueObjects()); + excluded.addAll(candidates); + return excluded; + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectDoubleArray(Supplier supplier) + { + int n = (int) supplier.get().count(); + double[] expected = new double[n]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((double d) -> expected[index.nextInt()] = d); + double[] actual = supplier.get().collect(new double[n]); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectDoubleArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + double[] expected = new double[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((double d) -> expected[index.nextInt()] = d); + double[] actual = supplier.get().collect(new double[offset + n + tail], offset); + assertArrayEquals(expected, actual); + } + + @Test + default void testCollectOfDouble_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collect((double[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collect((double[]) null, 0)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountDoubleArray(Supplier supplier) + { + int n = (int) supplier.get().count(), tail = 3; + double[] expected = new double[n + tail]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((double d) -> expected[index.nextInt()] = d); + double[] actual = new double[n + tail]; + long count = supplier.get().collectAndCount(actual); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountDoubleArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + double[] expected = new double[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((double d) -> expected[index.nextInt()] = d); + double[] actual = new double[offset + n + tail]; + long count = supplier.get().collectAndCount(actual, offset); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @Test + default void testCollectAndCountOfDouble_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((double[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((double[]) null, 0)); + } + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + @Override + default void testCollectDistinct(Supplier supplier) + { + Set expected = new HashSet<>(); + supplier.get().forEach((double d) -> { + if (!expected.contains(d) && !(d == 0.0 && expected.contains(-1.0 * d))) { + expected.add(d); + } + }); + List actual = supplier.get().collectDistinct().collect(new ArrayList<>()); + assertTrue(expected.containsAll(actual), "actual =< expected"); + assertTrue(actual.containsAll(expected), "actual >= expected"); + + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFilterDouble(Supplier supplier) + { + ArrayList expected = new ArrayList<>(); + supplier.get().forEach((double d) -> { + if (d % 2 == 0) { + expected.add(d); + } + }); + PrimitiveReducible.OfDouble actual = supplier.get().filter((double d) -> d % 2 == 0); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual.collect(new ArrayList<>()))); + } + + @Test + default void testFilterOfDouble_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.filter((DoublePredicate) null)); + } + + void testFlatMapDoubleToObj(Supplier supplier); + + void testFlatMapDoubleToDouble(Supplier supplier); + + void testFlatMapDoubleToInt(Supplier supplier); + + void testFlatMapDoubleToLong(Supplier supplier); + + void testFlatMapDoubleToNull(Supplier supplier); + + void testFlatMapOfDouble_Null(); + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapDoubleToObj(Supplier supplier) + { + String prefix = "Item: "; + List expected = new ArrayList<>(); + supplier.get().forEach((double d) -> expected.add(prefix + d)); + Reducible actual = supplier.get().map((double d) -> prefix + d); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapDoubleToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = unboxDouble(range.map((int i) -> (double) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfDouble actual = supplier.get().mapToDouble((double d) -> index.next()); + assertIterableEquals(expected, unboxDouble(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapDoubleToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveReducible.OfInt actual = supplier.get().mapToInt((double d) -> index.next()); + assertIterableEquals(expected, unboxInt(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapDoubleToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = unboxLong(range.map((int i) -> (long) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfLong actual = supplier.get().mapToLong((double d) -> index.next()); + assertIterableEquals(expected, unboxLong(actual.collect(new ArrayList<>()))); + } + + @Test + default void testMapOfDouble_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.map((DoubleFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToDouble((DoubleUnaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToInt((DoubleToIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToLong((DoubleToLongFunction) null)); + } + + void testForEachDoubleConsumer(Supplier supplier); + + @Test + default void testForEachDoubleConsumer_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.forEach((DoubleConsumer) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { + DoubleBinaryOperator dummy = (res, each) -> Double.MIN_VALUE; + OptionalDouble actual = supplier.get().reduce(dummy); + assertEquals(OptionalDouble.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { + DoubleBinaryOperator dummy = (res, each) -> Double.MIN_VALUE; + double expected = supplier.get().detect((double d) -> true); + OptionalDouble actual = supplier.get().reduce(dummy); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + double probe = -31; // "unique" value + DoubleBinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return probe; + } else { + actual.add(each); + return res; + } + }; + OptionalDouble result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.getAsDouble()); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceIntDoubleToIntFunction(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + int init = Integer.MIN_VALUE; + List actual = new ArrayList<>(); + IntDoubleToIntFunction collect = (res, each) -> {actual.add(each); return res;}; + int result = supplier.get().reduce(init, collect); + assertEquals(init, result); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceLongDoubleToLongFunction(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + long init = Long.MIN_VALUE; + List actual = new ArrayList<>(); + LongDoubleToLongFunction collect = (res, each) -> {actual.add(each); return res;}; + long result = supplier.get().reduce(init, collect); + assertEquals(init, result); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceObjDouble(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + ObjDoubleFunction, List> collect = (seq, each) -> {seq.add(each); return seq;}; + List actual = supplier.get().reduce(new ArrayList<>(), collect); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + assertDoesNotThrow(() -> supplier.get().reduce(null, (Object obj, double each) -> null)); + } + + @Test + default void testReduceOfDouble_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.reduce((DoubleBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(new Object(), (ObjDoubleFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0.0, (DoubleBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0, (IntDoubleToIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0L, (LongDoubleToLongFunction) null)); + } + + void testConcatTypes(); + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + @Override + default void testDistinct(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach((double d) -> { + if (!expected.contains(d) && !(d == 0.0 && expected.contains(-1.0 * d))) { + expected.add(d); + } + }); + List actual = supplier.get().distinct().collect(new ArrayList<>()); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getReducibles", "getDuplicatesReducibles"}) + default void testDedupe(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEach((double d) -> { + if (expected.isEmpty()) { + expected.add(d); + } else { + double last = expected.get(expected.size() - 1); + if (last != d && !(Double.isNaN(last) && Double.isNaN(d))) { + expected.add(d); + } + } + }); + List actual = supplier.get().dedupe().collect(new ArrayList<>()); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAllMatchDoublePredicate(Supplier supplier) + { + // match all elements + assertTrue(supplier.get().allMatch((double each) -> true), "Expected allMatch() == true"); + // match not all elements + DoublePredicate matchNotAll = new DoublePredicate() { + // match: no element if singleton, otherwise every odd element + boolean flag = supplier.get().count() == 1; + @Override + public boolean test(double d) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().allMatch(matchNotAll), "Expected allMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testAllMatchDoublePredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfDouble reducible = supplier.get(); + assertTrue(reducible.allMatch((double each) -> false), "Exepted allMatch() == true if iterator is empty"); + } + + @Test + default void testAllMatchDoublePredicate_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.allMatch((DoublePredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAnyMatchDoublePredicate(Supplier supplier) + { + // match no element + assertFalse(supplier.get().anyMatch((double each) -> false), "Expected anyMatch() == false"); + // match some elements + DoublePredicate matchSome = new DoublePredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(double d) + { + flag = !flag; + return flag; + } + }; + assertTrue(supplier.get().anyMatch(matchSome), "Expected anyMatch() == true"); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testAnyMatchDoublePredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfDouble reducible = supplier.get(); + assertTrue(reducible.allMatch((double each) -> true), "Exepted anyMatch() == false if iterator is empty"); + } + + @Test + default void testAnyMatchDoublePredicate_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.anyMatch((DoublePredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testNoneMatchDoublePredicate(Supplier supplier) + { + // match no element + assertTrue(supplier.get().noneMatch((double each) -> false), "Expected noneMatch() == true"); + // match some elements + DoublePredicate matchSome = new DoublePredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(double d) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().noneMatch(matchSome), "Expected noneMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testNoneMatchDoublePredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfDouble reducible = supplier.get(); + assertTrue(reducible.allMatch((double each) -> false), "Exepted noneMatch() == false if iterator is empty"); + } + + @Test + default void testNoneMatchDoublePredicate_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.noneMatch((DoublePredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testContains(Supplier supplier) + { + assertFalse(supplier.get().contains(null)); + testContainsDouble(supplier); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testContainsDouble(Supplier supplier) + { + List numbers = supplier.get().collect(new ArrayList<>()); + for (Double each : numbers) { // boxed double to trigger contains(Double d) + assertTrue(supplier.get().contains(each), "Expected contains(" + each + ") == true"); + if (each == 0.0) { + assertTrue(supplier.get().contains(-1.0 * each), "Expected contains(" + (-1.0 * each) + ") == true"); + } + } + for (Object each : getExcluded(supplier.get())) { // boxed double to trigger contains(Double d) + assertFalse(supplier.get().contains(each), "Expected contains(" + each + ") == false"); + } + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCountDoublePredicate(Supplier supplier) + { + long[] expected = new long[] {0L}; + supplier.get().forEach((double d) -> { + if (d % 2 == 1) { + expected[0]++; + } + }); + DoublePredicate odd = d -> d % 2 == 1; + long actual = supplier.get().count(odd); + assertEquals(expected[0], actual); + } + + @Test + default void testCountDoublePredicate_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.count((DoublePredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testDetectDoublePredicate_AllFalse(Supplier supplier) + { + PrimitiveReducible.OfDouble reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((double each) -> false)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testDetectDoublePredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfDouble reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((double each) -> true)); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testDetectDoublePredicate_Singleton(Supplier supplier) + { + // match first element + double expected = supplier.get().collect(new ArrayList<>()).get(0); + double actual = supplier.get().detect((double each) -> true); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testDetectDoublePredicate_Multiton(Supplier supplier) + { + // match second element + double expected = supplier.get().collect(new ArrayList<>()).get(1); + DoublePredicate second = new DoublePredicate() { + boolean flag = true; + @Override + public boolean test(double d) + { + flag = !flag; + return flag; + } + }; + double actual = supplier.get().detect(second); + assertEquals(expected, actual); + } + + @Test + default void testDetectDoublePredicate_Null() + { + PrimitiveReducible.OfDouble reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.detect((DoublePredicate) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMin_Empty(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.empty(); + OptionalDouble actual = supplier.get().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMin_Singleton(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.of(supplier.get().detect((double d) -> true)); + OptionalDouble actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertDoubleEquals(expected.getAsDouble(), actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMin_Multiton(Supplier supplier) + { + double[] expected = new double[] {supplier.get().detect((double d) -> true)}; + supplier.get().forEach((double d) -> expected[0] = Math.min(expected[0], d)); + OptionalDouble actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertDoubleEquals(expected[0], actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMax_Empty(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.empty(); + OptionalDouble actual = supplier.get().max(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMax_Singleton(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.of(supplier.get().detect((double d) -> true)); + OptionalDouble actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertDoubleEquals(expected.getAsDouble(), actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMax_Multiton(Supplier supplier) + { + double[] expected = new double[] {supplier.get().detect((double d) -> true)}; + supplier.get().forEach((double d) -> expected[0] = Math.max(expected[0], d)); + OptionalDouble actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertDoubleEquals(expected[0], actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource({"getReducibles"}) + default void testSum(Supplier supplier) + { + double[] expected = new double[] {0.0}; + supplier.get().forEach((double d) -> expected[0] += d); + double actual = supplier.get().sum(); + assertEquals(expected[0], actual, 1e-15); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testSum_Empty(Supplier supplier) + { + double expected = 0.0; + double actual = supplier.get().sum(); + assertDoubleEquals(expected, actual); + } + } + + + + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + interface OfInt> extends ReducibleTest + { + @Override + default Stream> getDuplicatesReducibles() + { + return getDuplicatesArraysOfInt().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getEmptyReducibles() + { + return getEmptyArraysOfInt().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getSingletonReducibles() + { + return getSingletonArraysOfInt().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getMultitonReducibles() + { + return getMultitonArraysOfInt().map(args-> () -> getReducible(args)); + } + + T getReducible(int[] arguments); + + @Override + default Iterable getExcluded(T reducible) + { + List candidates = getExclusionListOfInt(); + reducible.forEach((Consumer) candidates::remove); + List excluded = new ArrayList<>(); + excluded.addAll(getUniqueObjects()); + excluded.addAll(candidates); + return excluded; + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectIntArray(Supplier supplier) + { + int n = (int) supplier.get().count(); + int[] expected = new int[n]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((int e) -> expected[index.nextInt()] = e); + int[] actual = supplier.get().collect(new int[n]); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectIntArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + int[] expected = new int[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((int i) -> expected[index.nextInt()] = i); + int[] actual = supplier.get().collect(new int[offset + n + tail], offset); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectBitSet(Supplier supplier) + { + BitSet expected = new BitSet(); + supplier.get().forEach((int i) -> {if (i >= 0) expected.set(i);}); + BitSet actual = supplier.get().filter((int i) -> i >= 0).collect(new BitSet()); + assertEquals(expected, actual); + } + + @Test + default void testCollectOfInt_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collect((int[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collect((int[]) null, 0)); + assertThrows(NullPointerException.class, () -> reducible.collect((BitSet) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountIntArray(Supplier supplier) + { + int n = (int) supplier.get().count(), tail = 3; + int[] expected = new int[n + tail]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((int i) -> expected[index.nextInt()] = i); + int[] actual = new int[n + tail]; + long count = supplier.get().collectAndCount(actual); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountIntArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + int[] expected = new int[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((int i) -> expected[index.nextInt()] = i); + int[] actual = new int[offset + n + tail]; + long count = supplier.get().collectAndCount(actual, offset); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountBitSet(Supplier supplier) + { + int n = (int) supplier.get().filter((int i) -> i >= 0).count(); + BitSet expected = new BitSet(); + supplier.get().forEach((int i) -> {if (i >= 0) expected.set(i);}); + BitSet actual = new BitSet(); + long count = supplier.get().filter((int i) -> i >= 0).collectAndCount(actual); + assertEquals(n, count); + assertEquals(expected, actual); + } + + @Test + default void testCollectAndCountOfInt_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((int[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((int[]) null, 0)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((BitSet) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFilterInt(Supplier supplier) + { + ArrayList expected = new ArrayList<>(); + supplier.get().forEach((int i) -> { + if (i % 2 == 0) { + expected.add(i); + } + }); + PrimitiveReducible.OfInt actual = supplier.get().filter((int i) -> i % 2 == 0); + assertIterableEquals(unboxInt(expected), unboxInt(actual.collect(new ArrayList<>()))); + } + + @Test + default void testFilterOfInt_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.filter((IntPredicate) null)); + } + + void testFlatMapIntToObj(Supplier supplier); + + void testFlatMapIntToDouble(Supplier supplier); + + void testFlatMapIntToInt(Supplier supplier); + + void testFlatMapIntToLong(Supplier supplier); + + void testFlatMapIntToNull(Supplier supplier); + + void testFlatMapOfInt_Null(); + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapIntToObj(Supplier supplier) + { + String prefix = "Item: "; + List expected = new ArrayList<>(); + supplier.get().forEach((int i) -> expected.add(prefix + i)); + Reducible actual = supplier.get().map((int i) -> prefix + i); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapIntToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = unboxDouble(range.map((int i) -> (double) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfDouble actual = supplier.get().mapToDouble((int i) -> index.next()); + assertIterableEquals(expected, unboxDouble(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapIntToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveReducible.OfInt actual = supplier.get().mapToInt((int i) -> index.next()); + assertIterableEquals(expected, unboxInt(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = unboxLong(range.map((int i) -> (long) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfLong actual = supplier.get().mapToLong((int i) -> index.next()); + assertIterableEquals(expected, unboxLong(actual.collect(new ArrayList<>()))); + } + + @Test + default void testMapOfInt_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.map((IntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToDouble((IntToDoubleFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToInt((IntUnaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToLong((IntToLongFunction) null)); + } + + void testForEachIntConsumer(Supplier supplier); + + @Test + default void testForEachIntConsumer_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.forEach((IntConsumer) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceIntBinaryOperator_Empty(Supplier supplier) + { + IntBinaryOperator dummy = (res, each) -> Integer.MIN_VALUE; + OptionalInt actual = supplier.get().reduce(dummy); + assertEquals(OptionalInt.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceIntBinaryOperator_Singleton(Supplier supplier) + { + IntBinaryOperator dummy = (res, each) -> Integer.MIN_VALUE; + int expected = supplier.get().detect((int i) -> true); + OptionalInt actual = supplier.get().reduce(dummy); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.getAsInt()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceIntBinaryOperator_Multiton(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + int probe = -31; // "unique" value + IntBinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return probe; + } else { + actual.add(each); + return res; + } + }; + OptionalInt result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.getAsInt()); + assertIterableEquals(unboxInt(expected), unboxInt(actual)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { + DoubleBinaryOperator dummy = (res, each) -> Double.MIN_VALUE; + OptionalDouble actual = supplier.get().reduce(dummy); + assertEquals(OptionalDouble.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { + DoubleBinaryOperator dummy = (res, each) -> Double.MIN_VALUE; + double expected = supplier.get().detect((int i) -> true); + OptionalDouble actual = supplier.get().reduce(dummy); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.getAsDouble()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { + List expected = supplier.get().mapToDouble((int i) -> (double) i).collect(new ArrayList<>()); + List actual = new ArrayList<>(); + double probe = -31; // "unique" value + DoubleBinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return probe; + } else { + actual.add(each); + return res; + } + }; + OptionalDouble result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.getAsDouble()); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceLongBinaryOperator_Empty(Supplier supplier) + { + LongBinaryOperator dummy = (res, each) -> Long.MIN_VALUE; + OptionalLong actual = supplier.get().reduce(dummy); + assertEquals(OptionalLong.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { + LongBinaryOperator dummy = (res, each) -> Long.MIN_VALUE; + long expected = supplier.get().detect((int i) -> true); + OptionalLong actual = supplier.get().reduce(dummy); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { + List expected = supplier.get().mapToLong((int i) -> (long) i).collect(new ArrayList<>()); + List actual = new ArrayList<>(); + long probe = -31; // "unique" value + LongBinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return probe; + } else { + actual.add(each); + return res; + } + }; + OptionalLong result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.getAsLong()); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceObjIntFunction(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + ObjIntFunction, List> collect = (seq, each) -> {seq.add(each); return seq;}; + List actual = supplier.get().reduce(new ArrayList<>(), collect); + assertIterableEquals(unboxInt(expected), unboxInt(actual)); + assertDoesNotThrow(() -> supplier.get().reduce(null, (Object obj, int each) -> null)); + } + + @Test + default void testReduceOfInt_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.reduce((DoubleBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce((IntBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce((LongBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(new Object(), (ObjIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0.0, (DoubleBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0, (IntBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0L, (LongBinaryOperator) null)); + } + + void testConcatTypes(); + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAllMatchIntPredicate(Supplier supplier) + { + // match all elements + assertTrue(supplier.get().allMatch((int each) -> true), "Expected allMatch() == true"); + // match not all elements + IntPredicate matchNotAll = new IntPredicate() { + // match: no element if singleton, otherwise every odd element + boolean flag = supplier.get().count() == 1; + @Override + public boolean test(int i) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().allMatch(matchNotAll), "Expected allMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testAllMatchIntPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfInt reducible = supplier.get(); + assertTrue(reducible.allMatch((int each) -> false), "Exepted allMatch() == true if iterator is empty"); + } + + @Test + default void testAllMatchIntPredicate_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.allMatch((IntPredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAnyMatchIntPredicate(Supplier supplier) + { + // match no element + assertFalse(supplier.get().anyMatch((int each) -> false), "Expected anyMatch() == false"); + // match some elements + IntPredicate matchSome = new IntPredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(int i) + { + flag = !flag; + return flag; + } + }; + assertTrue(supplier.get().anyMatch(matchSome), "Expected anyMatch() == true"); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testAnyMatchIntPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfInt reducible = supplier.get(); + assertTrue(reducible.allMatch((int each) -> true), "Exepted anyMatch() == false if iterator is empty"); + } + + @Test + default void testAnyMatchIntPredicate_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.anyMatch((IntPredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testNoneMatchIntPredicate(Supplier supplier) + { + // match no element + assertTrue(supplier.get().noneMatch((int each) -> false), "Expected noneMatch() == true"); + // match some elements + IntPredicate matchSome = new IntPredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(int i) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().noneMatch(matchSome), "Expected noneMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testNoneMatchIntPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfInt reducible = supplier.get(); + assertTrue(reducible.allMatch((int each) -> false), "Exepted noneMatch() == false if iterator is empty"); + } + + @Test + default void testNoneMatchIntPredicate_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.noneMatch((IntPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testContains(Supplier supplier) + { + assertFalse(supplier.get().contains(null), "Expected contains(null) == false"); + testContainsInt(supplier); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testContainsInt(Supplier supplier) + { + List numbers = supplier.get().collect(new ArrayList<>()); + for (Integer each : numbers) { // boxed int to trigger contains(Integer i) + assertTrue(supplier.get().contains(each), "Expected contains(" + each + ") == true"); + } + for (Object each : getExcluded(supplier.get())) { // boxed int to trigger contains(Integer i) + assertFalse(supplier.get().contains(each), "Expected contains(" + each + ") == false"); + } + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCountIntPredicate(Supplier supplier) + { + long[] expected = new long[] {0L}; + supplier.get().forEach((int i) -> { + if (i % 2 == 1) { + expected[0]++; + } + }); + IntPredicate odd = i -> i % 2 == 1; + long actual = supplier.get().count(odd); + assertEquals(expected[0], actual); + } + + @Test + default void testCountIntPredicate_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.count((IntPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testDetectIntPredicate(Supplier supplier) + { + PrimitiveReducible.OfInt reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((int each) -> false)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testDetectIntPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfInt reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((int each) -> true)); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testDetectIntPredicate_Singleton(Supplier supplier) + { + // match first element + int expected = supplier.get().collect(new ArrayList<>()).get(0); + int actual = supplier.get().detect((int each) -> true); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testDetectIntPredicate_Multiton(Supplier supplier) + { + // match second element + int expected = supplier.get().collect(new ArrayList<>()).get(1); + IntPredicate second = new IntPredicate() { + boolean flag = true; + @Override + public boolean test(int i) + { + flag = !flag; + return flag; + } + }; + int actual = supplier.get().detect(second); + assertEquals(expected, actual); + } + + @Test + default void testDetectIntPredicate_Null() + { + PrimitiveReducible.OfInt reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.detect((IntPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMin_Empty(Supplier supplier) + { + OptionalInt expected = OptionalInt.empty(); + OptionalInt actual = supplier.get().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMin_Singleton(Supplier supplier) + { + OptionalInt expected = OptionalInt.of(supplier.get().detect((int i) -> true)); + OptionalInt actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertEquals(expected.getAsInt(), actual.getAsInt()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMin_Multiton(Supplier supplier) + { + int[] expected = new int[] {supplier.get().detect((int i) -> true)}; + supplier.get().forEach((int i) -> expected[0] = Math.min(expected[0], i)); + OptionalInt actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertEquals(expected[0], actual.getAsInt()); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMax_Empty(Supplier supplier) + { + OptionalInt expected = OptionalInt.empty(); + OptionalInt actual = supplier.get().max(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMax_Singleton(Supplier supplier) + { + OptionalInt expected = OptionalInt.of(supplier.get().detect((int i) -> true)); + OptionalInt actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertEquals(expected.getAsInt(), actual.getAsInt()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMax_Multiton(Supplier supplier) + { + int[] expected = new int[] {supplier.get().detect((int i) -> true)}; + supplier.get().forEach((int i) -> expected[0] = Math.max(expected[0], i)); + OptionalInt actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertEquals(expected[0], actual.getAsInt()); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testSum(Supplier supplier) + { + long[] expected = new long[] {0L}; + supplier.get().forEach((int i) -> expected[0] += i); + long actual = supplier.get().sum(); + assertEquals(expected[0], actual); + } + } + + + + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + interface OfLong> extends ReducibleTest + { + @Override + default Stream> getDuplicatesReducibles() + { + return getDuplicatesArraysOfLong().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getEmptyReducibles() + { + return getEmptyArraysOfLong().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getSingletonReducibles() + { + return getSingletonArraysOfLong().map(args-> () -> getReducible(args)); + } + + @Override + default Stream> getMultitonReducibles() + { + return getMultitonArraysOfLong().map(args-> () -> getReducible(args)); + } + + T getReducible(long[] numbers); + + @Override + default Iterable getExcluded(T reducible) + { + List candidates = getExclusionListOfLong(); + reducible.forEach((Consumer) candidates::remove); + List excluded = new ArrayList<>(); + excluded.addAll(getUniqueObjects()); + excluded.addAll(candidates); + return excluded; + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectLongArray(Supplier supplier) + { + int n = (int) supplier.get().count(); + long[] expected = new long[n]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((long l) -> expected[index.nextInt()] = l); + long[] actual = supplier.get().collect(new long[n]); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectLongArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + long[] expected = new long[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((long l) -> expected[index.nextInt()] = l); + long[] actual = supplier.get().collect(new long[offset + n + tail], offset); + assertArrayEquals(expected, actual); + } + + @Test + default void testCollectOfLong_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collect((long[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collect((long[]) null, 0)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountLongArray(Supplier supplier) + { + int n = (int) supplier.get().count(), tail = 3; + long[] expected = new long[n + tail]; + Range.RangeIterator index = new Range(n).iterator(); + supplier.get().forEach((long l) -> expected[index.nextInt()] = l); + long[] actual = new long[n + tail]; + long count = supplier.get().collectAndCount(actual); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCollectAndCountArrayOffset(Supplier supplier) + { + int n = (int) supplier.get().count(), offset = 2, tail = 3; + long[] expected = new long[offset + n + tail]; + Range.RangeIterator index = new Range(offset, offset + n).iterator(); + supplier.get().forEach((long l) -> expected[index.nextInt()] = l); + long[] actual = new long[offset + n + tail]; + long count = supplier.get().collectAndCount(actual, offset); + assertEquals(n, count); + assertArrayEquals(expected, actual); + } + + @Test + default void testCollectAndCountOfLong_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((long[]) null)); + assertThrows(NullPointerException.class, () -> reducible.collectAndCount((long[]) null, 0)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFilterLong(Supplier supplier) + { + ArrayList expected = new ArrayList<>(); + supplier.get().forEach((long l) -> { + if (l % 2 == 0) { + expected.add(l); + } + }); + PrimitiveReducible.OfLong actual = supplier.get().filter((long l) -> l % 2 == 0); + assertIterableEquals(unboxLong(expected), unboxLong(actual.collect(new ArrayList<>()))); + } + + @Test + default void testFilterOfLong_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.filter((LongPredicate) null)); + } + + void testFlatMapLongToObj(Supplier supplier); + + void testFlatMapLongToDouble(Supplier supplier); + + void testFlatMapLongToInt(Supplier supplier); + + void testFlatMapLongToLong(Supplier supplier); + + void testFlatMapLongToNull(Supplier supplier); + + void testFlatMapOfLong_Null(); + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapLongToObj(Supplier supplier) + { + String prefix = "Item: "; + List expected = new ArrayList<>(); + supplier.get().forEach((long l) -> expected.add(prefix + l)); + Reducible actual = supplier.get().map((long l) -> prefix + l); + assertIterableEquals(expected, actual.collect(new ArrayList<>())); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapLongToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = unboxDouble(range.map((int i) -> (double) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfDouble actual = supplier.get().mapToDouble((long l) -> index.next()); + assertIterableEquals(expected, unboxDouble(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapLongToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveReducible.OfInt actual = supplier.get().mapToInt((long l) -> index.next()); + assertIterableEquals(expected, unboxInt(actual.collect(new ArrayList<>()))); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMapToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = unboxLong(range.map((int i) -> (long) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveReducible.OfLong actual = supplier.get().mapToLong((long l) -> index.next()); + assertIterableEquals(expected, unboxLong(actual.collect(new ArrayList<>()))); + } + + @Test + default void testMapOfLong_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.map((LongFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToDouble((LongToDoubleFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToInt((LongToIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.mapToLong((LongUnaryOperator) null)); + } + + void testForEachLongConsumer(Supplier supplier); + + @Test + default void testForEachLongConsumer_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.forEach((LongConsumer) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testReduceLongBinaryOperator_Empty(Supplier supplier) + { + LongBinaryOperator dummy = (res, each) -> Long.MIN_VALUE; + OptionalLong actual = supplier.get().reduce(dummy); + assertEquals(OptionalLong.empty(), actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { + LongBinaryOperator dummy = (res, each) -> Long.MIN_VALUE; + long expected = supplier.get().detect((long l) -> true); + OptionalLong actual = supplier.get().reduce(dummy); + assertTrue(actual.isPresent()); + assertEquals(expected, actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + List actual = new ArrayList<>(); + long probe = -31; // "unique" value + LongBinaryOperator collect = (res, each) -> { + if (actual.isEmpty()) { + actual.add(res); + actual.add(each); + return probe; + } else { + actual.add(each); + return res; + } + }; + OptionalLong result = supplier.get().reduce(collect); + assertTrue(result.isPresent()); + assertEquals(probe, result.getAsLong()); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceDoubleLongToDoubleFunction(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + double init = Double.MIN_VALUE; + List actual = new ArrayList<>(); + DoubleLongToDoubleFunction collect = (res, each) -> {actual.add(each); return res;}; + double result = supplier.get().reduce(init, collect); + assertEquals(init, result); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceIntLongToIntFunction(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + int init = Integer.MIN_VALUE; + List actual = new ArrayList<>(); + IntLongToIntFunction collect = (res, each) -> {actual.add(each); return res;}; + int result = supplier.get().reduce(init, collect); + assertEquals(init, result); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testReduceObjLong(Supplier supplier) + { + List expected = supplier.get().collect(new ArrayList<>()); + ObjLongFunction, List> collect = (seq, each) -> {seq.add(each); return seq;}; + List actual = supplier.get().reduce(new ArrayList<>(), collect); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + assertDoesNotThrow(() -> supplier.get().reduce(null, (Object obj, long each) -> null)); + } + + @Test + default void testReduceOfLong_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.reduce((LongBinaryOperator) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(new Object(), (ObjLongFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0.0, (DoubleLongToDoubleFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0, (IntLongToIntFunction) null)); + assertThrows(NullPointerException.class, () -> reducible.reduce(0L, (LongBinaryOperator) null)); + } + + void testConcatTypes(); + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAllMatchLongPredicate(Supplier supplier) + { + // match all elements + assertTrue(supplier.get().allMatch((long each) -> true), "Expected allMatch() == true"); + // match not all elements + LongPredicate matchNotAll = new LongPredicate() { + // match: no element if singleton, otherwise every odd element + boolean flag = supplier.get().count() == 1; + @Override + public boolean test(long i) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().allMatch(matchNotAll), "Expected allMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testAllMatchLongPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfLong reducible = supplier.get(); + assertTrue(reducible.allMatch((long each) -> false), "Exepted allMatch() == true if iterator is empty"); + } + + @Test + default void testAllMatchLongPredicate_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.allMatch((LongPredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testAnyMatchLongPredicate(Supplier supplier) + { + // match no element + assertFalse(supplier.get().anyMatch((long each) -> false), "Expected anyMatch() == false"); + // match some elements + LongPredicate matchSome = new LongPredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(long i) + { + flag = !flag; + return flag; + } + }; + assertTrue(supplier.get().anyMatch(matchSome), "Expected anyMatch() == true"); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testAnyMatchLongPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfLong reducible = supplier.get(); + assertTrue(reducible.allMatch((long each) -> true), "Exepted anyMatch() == false if iterator is empty"); + } + + @Test + default void testAnyMatchLongPredicate_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.anyMatch((LongPredicate) null)); + } + + @ParameterizedTest + @MethodSource({"getSingletonReducibles", "getMultitonReducibles"}) + default void testNoneMatchLongPredicate(Supplier supplier) + { + // match no element + assertTrue(supplier.get().noneMatch((long each) -> false), "Expected noneMatch() == true"); + // match some elements + LongPredicate matchSome = new LongPredicate() { + // match: first element if singleton, otherwise every even element + boolean flag = supplier.get().count() > 1; + @Override + public boolean test(long i) + { + flag = !flag; + return flag; + } + }; + assertFalse(supplier.get().noneMatch(matchSome), "Expected noneMatch() == false"); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testNoneMatchLongPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfLong reducible = supplier.get(); + assertTrue(reducible.allMatch((long each) -> false), "Exepted noneMatch() == false if iterator is empty"); + } + + @Test + default void testNoneMatchLongPredicate_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.noneMatch((LongPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testContains(Supplier supplier) + { + assertFalse(supplier.get().contains(null), "Expected contains(null) == false"); + testContainsLong(supplier); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testContainsLong(Supplier supplier) + { + List numbers = supplier.get().collect(new ArrayList<>()); + for (Long each : numbers) { // boxed long to trigger contains(Long l) + assertTrue(supplier.get().contains(each), "Expected contains(" + each + ") == true"); + } + for (Object each : getExcluded(supplier.get())) { // boxed long to trigger contains(Long l) + assertFalse(supplier.get().contains(each), "Expected contains(" + each + ") == false"); + } + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testCountLongPredicate(Supplier supplier) + { + long[] expected = new long[] {0L}; + supplier.get().forEach((long l) -> { + if (l % 2 == 1) { + expected[0]++; + } + }); + LongPredicate odd = l -> l % 2 == 1; + long actual = supplier.get().count(odd); + assertEquals(expected[0], actual); + } + + @Test + default void testCountLongPredicate_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.count((LongPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testDetectLongPredicate(Supplier supplier) + { + PrimitiveReducible.OfLong reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((long each) -> false)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testDetectLongPredicate_Empty(Supplier supplier) + { + PrimitiveReducible.OfLong reducible = supplier.get(); + assertThrows(NoSuchElementException.class, () -> reducible.detect((long each) -> true)); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testDetectLongPredicate_Singleton(Supplier supplier) + { + // match first element + long expected = supplier.get().collect(new ArrayList<>()).get(0); + long actual = supplier.get().detect((long each) -> true); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testDetectLongPredicate_Multiton(Supplier supplier) + { + // match second element + long expected = supplier.get().collect(new ArrayList<>()).get(1); + LongPredicate second = new LongPredicate() { + boolean flag = true; + @Override + public boolean test(long l) + { + flag = !flag; + return flag; + } + }; + long actual = supplier.get().detect(second); + assertEquals(expected, actual); + } + + @Test + default void testDetectLongPredicate_Null() + { + PrimitiveReducible.OfLong reducible = getAnyReducible(); + assertThrows(NullPointerException.class, () -> reducible.detect((LongPredicate) null)); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMin_Empty(Supplier supplier) + { + OptionalLong expected = OptionalLong.empty(); + OptionalLong actual = supplier.get().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMin_Singleton(Supplier supplier) + { + OptionalLong expected = OptionalLong.of(supplier.get().detect((long l) -> true)); + OptionalLong actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertEquals(expected.getAsLong(), actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMin_Multiton(Supplier supplier) + { + long[] expected = new long[] {supplier.get().detect((long l) -> true)}; + supplier.get().forEach((long l) -> expected[0] = Math.min(expected[0], l)); + OptionalLong actual = supplier.get().min(); + assertTrue(actual.isPresent()); + assertEquals(expected[0], actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getEmptyReducibles") + default void testMax_Empty(Supplier supplier) + { + OptionalLong expected = OptionalLong.empty(); + OptionalLong actual = supplier.get().max(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testMax_Singleton(Supplier supplier) + { + OptionalLong expected = OptionalLong.of(supplier.get().detect((long l) -> true)); + OptionalLong actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertEquals(expected.getAsLong(), actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getMultitonReducibles") + default void testMax_Multiton(Supplier supplier) + { + long[] expected = new long[] {supplier.get().detect((long l) -> true)}; + supplier.get().forEach((long l) -> expected[0] = Math.max(expected[0], l)); + OptionalLong actual = supplier.get().max(); + assertTrue(actual.isPresent()); + assertEquals(expected[0], actual.getAsLong()); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testSum(Supplier supplier) + { + long[] expected = new long[] {0L}; + supplier.get().forEach((long l) -> expected[0] += l); + long actual = supplier.get().sum(); + assertEquals(expected[0], actual); + } + } +} From 777b86a5aab576511d72c2f0c3a1fd03801c8460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:07:58 +0200 Subject: [PATCH 11/35] Test interface FunctionalIterator --- .../FunctionalIteratorStaticTest.java | 139 +++++++++++++ .../iterable/FunctionalIteratorTest.java | 193 ++++++++++++++++++ 2 files changed, 332 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FunctionalIteratorStaticTest.java create mode 100644 prism/unit-tests/common/iterable/FunctionalIteratorTest.java diff --git a/prism/unit-tests/common/iterable/FunctionalIteratorStaticTest.java b/prism/unit-tests/common/iterable/FunctionalIteratorStaticTest.java new file mode 100644 index 0000000000..78f9a33da8 --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalIteratorStaticTest.java @@ -0,0 +1,139 @@ +package common.iterable; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.*; + +class FunctionalIteratorStaticTest +{ + static Stream> getIterables() + { + return Stream.of(Collections.singleton(null), + Collections.emptyList(), + Collections.singleton("one"), + Arrays.asList("one", "two", "three")); + } + + static Stream> getIterablesDouble() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1.0), + Arrays.asList(1.0, 2.0, 3.0)); + } + + static Stream> getIterablesInt() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1), + Arrays.asList(1, 2, 3)); + } + + static Stream> getIterablesLong() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1L), + Arrays.asList(1L, 2L, 3L)); + } + + @ParameterizedTest + @MethodSource("getIterables") + void testOf(Iterable iterable) + { + FunctionalIterable expected = Reducible.extend(iterable); + Object[] arguments = new Object[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalIterator actual = FunctionalIterator.of(arguments); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + void testOfTypes() + { + assertTrue(FunctionalIterator.of() instanceof EmptyIterator.Of); + assertTrue(FunctionalIterator.of("first") instanceof SingletonIterator.Of); + } + + @Test + void testOf_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterator.of((Object[]) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + void testOfDouble(Iterable iterable) + { + FunctionalPrimitiveIterable.OfDouble expected = Reducible.unboxDouble(iterable); + double[] arguments = new double[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterator.OfDouble actual = FunctionalIterator.ofDouble(arguments); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + static void testOfDoubleTypes() + { + assertTrue(FunctionalIterator.ofDouble() instanceof EmptyIterator.OfDouble); + assertTrue(FunctionalIterator.ofDouble(1.0) instanceof SingletonIterator.Of); + } + + @Test + void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterator.ofDouble((double[]) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + void testOfInt(Iterable iterable) + { + FunctionalPrimitiveIterable.OfInt expected = Reducible.unboxInt(iterable); + int[] arguments = new int[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterator.OfInt actual = FunctionalIterator.ofInt(arguments); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + void testOfIntTypes() + { + assertTrue(FunctionalIterator.ofInt() instanceof EmptyIterator.OfInt); + assertTrue(FunctionalIterator.ofInt(1) instanceof SingletonIterator.OfInt); + } + + @Test + void testOfInt_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterator.ofInt((int[]) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + void testOfLong(Iterable iterable) + { + FunctionalPrimitiveIterable.OfLong expected = Reducible.unboxLong(iterable); + long[] arguments = new long[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterator.OfLong actual = FunctionalIterator.ofLong(arguments); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + void testOfLongTypes() + { + assertTrue(FunctionalIterator.ofLong() instanceof EmptyIterator.OfLong); + assertTrue(FunctionalIterator.ofLong(1L) instanceof SingletonIterator.OfLong); + } + + @Test + void testOfLong_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterator.ofLong((long[]) null)); + } +} diff --git a/prism/unit-tests/common/iterable/FunctionalIteratorTest.java b/prism/unit-tests/common/iterable/FunctionalIteratorTest.java new file mode 100644 index 0000000000..f1b2e47666 --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalIteratorTest.java @@ -0,0 +1,193 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.Supplier; + +import static common.iterable.Assertions.assertIteratorEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.*; + +public interface FunctionalIteratorTest> extends ReducibleTest +{ + /** + * Collect elements from an iterator without using method from Reducible. + * + * @param supplier the supplier yielding the iterator + * @return a {@link List} of the iterator elements + */ + default List collectElements(Supplier supplier) + { + ArrayList elements = new ArrayList<>(); + for (Iterator iterator = supplier.get(); iterator.hasNext();) { + elements.add(iterator.next()); + } + return elements; + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("release() empties the iterator.") + default void testRelease(Supplier supplier) + { + FunctionalIterator iterator = supplier.get(); + iterator.release(); + assertFalse(iterator.hasNext(), "Expected no next element after release()"); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testUnwrap(Supplier supplier) + { + FunctionalIterator iterator = supplier.get(); + assertIteratorEquals(supplier.get(), iterator.unwrap()); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testRequireNext(Supplier supplier) + { + FunctionalIterator iterator = supplier.get().consume(); + assertThrows(NoSuchElementException.class, iterator::requireNext); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testConsume(Supplier supplier) + { + ReducibleTest.super.testConsume(supplier); + // Just test that the iterator is empty after calling #consume. + // There is no way to test whether consume does anything beyond this. + FunctionalIterator iterator = supplier.get().consume(); + assertTrue(iterator.isEmpty(), "Expected empty iterator after consume()"); + assertFalse(iterator.hasNext(), "Expected no next element after consume()"); + } + + @ParameterizedTest + @MethodSource({"getReducibles"}) + @Override + default void testConcat(Supplier supplier) + { + ArrayList expected = supplier.get().collect(new ArrayList<>()); + supplier.get().collect(expected); + FunctionalIterator actual = supplier.get().concat(supplier.get()); + assertIteratorEquals(expected.iterator(), actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMap(Supplier supplier) + { + FunctionalIterator expected = supplier.get().map(String::valueOf); + FunctionalIterator actual = supplier.get().flatMap(e -> new SingletonIterator.Of<>(String.valueOf(e))); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfDouble expected = unboxDouble(range.iterator().map((int i) -> (double) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfDouble actual = supplier.get().flatMapToDouble(e -> new SingletonIterator.OfDouble(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToInt(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfInt expected = range.iterator(); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfInt actual = supplier.get().flatMapToInt(e -> new SingletonIterator.OfInt(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfLong expected = unboxLong(range.iterator().map((int i) -> (long) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfLong actual = supplier.get().flatMapToLong(e -> new SingletonIterator.OfLong(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + @Override + default void testFlatMapToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong(e -> null).consume()); + } + + @Test + @Override + default void testFlatMap_Null() + { + FunctionalIterator iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong(null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach yields same sequence as the underlying iterator.") + @Override + default void testForEach(Supplier supplier) + { + List expected = collectElements(supplier); + List actual = new ArrayList<>(); + supplier.get().forEach(actual::add); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEachRemaining() yields same sequence as the underlying iterator.") + default void testForEachRemaining(Supplier supplier) + { + List expected = collectElements(supplier); + List actual = new ArrayList<>(); + supplier.get().forEachRemaining(actual::add); + assertIterableEquals(expected, actual); + } + + @Test + default void testForEachRemaining_Null() + { + FunctionalIterator iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.forEachRemaining(null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testIsEmpty(Supplier supplier) + { + T iterator = supplier.get(); + assertTrue(iterator.isEmpty() ^ iterator.hasNext()); + } + + + + interface Of> extends FunctionalIteratorTest, ReducibleTest.Of + { + } +} From 60dfe57a69b4984b3fb647fe4fb3ec0245f35501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:09:29 +0200 Subject: [PATCH 12/35] Test interface FunctionalPrimitiveIterator --- .../FunctionalPrimitiveIteratorTest.java | 405 ++++++++++++++++++ 1 file changed, 405 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FunctionalPrimitiveIteratorTest.java diff --git a/prism/unit-tests/common/iterable/FunctionalPrimitiveIteratorTest.java b/prism/unit-tests/common/iterable/FunctionalPrimitiveIteratorTest.java new file mode 100644 index 0000000000..eba93c3571 --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalPrimitiveIteratorTest.java @@ -0,0 +1,405 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.*; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.Assertions.*; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.*; + +public interface FunctionalPrimitiveIteratorTest +{ + interface OfDouble extends FunctionalIteratorTest, PrimitiveReducibleTest.OfDouble + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToObj(Supplier supplier) + { + FunctionalIterator expected = supplier.get().map((DoubleFunction) String::valueOf); + Iterator actual = supplier.get().flatMap((double d) -> List.of(String.valueOf(d)).iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfDouble expected = range.iterator().mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfDouble actual = supplier.get().flatMapToDouble((double d) -> new SingletonIterator.OfDouble(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToInt(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfInt expected = range.iterator(); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfInt actual = supplier.get().flatMapToInt((double d) -> new SingletonIterator.OfInt(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfLong expected = range.iterator().mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfLong actual = supplier.get().flatMapToLong((double d) -> new SingletonIterator.OfLong(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapDoubleToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((double d) -> null).consume()); + } + + @Test + @Override + default void testFlatMapOfDouble_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((DoubleFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((DoubleFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((DoubleFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((DoubleFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as forEachRemaining().") + @Override + default void testForEachDoubleConsumer(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEachRemaining((DoubleConsumer) expected::add); + T iterator = supplier.get(); + List actual = new ArrayList<>(); + iterator.forEach((DoubleConsumer) actual::add); + assertTrue(iterator.isEmpty()); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEachRemaining() yields same sequence as the underlying iterator.") + default void testForEachRemainingDoubleConsumer(Supplier supplier) + { + List expected = collectElements(supplier); + T iterator = supplier.get(); + List actual = new ArrayList<>(); + iterator.forEachRemaining((DoubleConsumer) actual::add); + assertTrue(iterator.isEmpty()); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @Test + default void testForEachRemainingDoubleConsumer_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.forEachRemaining((DoubleConsumer) null)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterator primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterator.OfDouble); + // boxed + FunctionalIterator boxed = getAnyReducible().map((DoubleFunction) Double::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterator.OfDouble); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMin_Consumed(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.empty(); + OptionalDouble actual = supplier.get().consume().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMax_Consumed(Supplier supplier) + { + OptionalDouble expected = OptionalDouble.empty(); + OptionalDouble actual = supplier.get().consume().max(); + assertEquals(expected, actual); + } + } + + + + interface OfInt extends FunctionalIteratorTest, PrimitiveReducibleTest.OfInt + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToObj(Supplier supplier) + { + FunctionalIterator expected = supplier.get().map((IntFunction) String::valueOf); + Iterator actual = supplier.get().flatMap((int i) -> List.of(String.valueOf(i)).iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfDouble expected = range.iterator().mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfDouble actual = supplier.get().flatMapToDouble((int i) -> new SingletonIterator.OfDouble(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToInt(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfInt expected = range.iterator(); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfInt actual = supplier.get().flatMapToInt((int i) -> new SingletonIterator.OfInt(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfLong expected = range.iterator().mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfLong actual = supplier.get().flatMapToLong((int i) -> new SingletonIterator.OfLong(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapIntToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((int i) -> null).consume()); + } + + @Test + default void testFlatMapOfInt_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((IntFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((IntFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((IntFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((IntFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as the underlying iterator.") + @Override + default void testForEachIntConsumer(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEachRemaining((IntConsumer) expected::add); + T iterator = supplier.get(); + List actual = new ArrayList<>(); + iterator.forEach((IntConsumer) actual::add); + assertTrue(iterator.isEmpty()); + assertIterableEquals(unboxInt(expected), unboxInt(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEachRemaining() yields same sequence as the underlying iterator.") + default void testForEachRemainingIntConsumer(Supplier supplier) + { + List expected = collectElements(supplier); + List actual = new ArrayList<>(); + supplier.get().forEachRemaining((IntConsumer) actual::add); + assertIterableEquals(unboxInt(expected), unboxInt(actual)); + } + + @Test + default void testForEachRemainingIntConsumer_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.forEachRemaining((IntConsumer) null)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterator primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterator.OfInt); + // boxed + FunctionalIterator boxed = getAnyReducible().map((IntFunction) Integer::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterator.OfInt); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMin_Consumed(Supplier supplier) + { + OptionalInt expected = OptionalInt.empty(); + OptionalInt actual = supplier.get().consume().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMax_Consumed(Supplier supplier) + { + OptionalInt expected = OptionalInt.empty(); + OptionalInt actual = supplier.get().consume().max(); + assertEquals(expected, actual); + } + } + + + + interface OfLong extends FunctionalIteratorTest, PrimitiveReducibleTest.OfLong + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToObj(Supplier supplier) + { + FunctionalIterator expected = supplier.get().map((LongFunction) String::valueOf); + Iterator actual = supplier.get().flatMap((long l) -> List.of(String.valueOf(l)).iterator()); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfDouble expected = range.iterator().mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfDouble actual = supplier.get().flatMapToDouble((long l) -> new SingletonIterator.OfDouble(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToInt(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfInt expected = range.iterator(); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfInt actual = supplier.get().flatMapToInt((long l) -> new SingletonIterator.OfInt(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterator.OfLong expected = range.iterator().mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterator.OfLong actual = supplier.get().flatMapToLong((long l) -> new SingletonIterator.OfLong(index.next())); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapLongToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((long l) -> null).consume()); + } + + @Test + default void testFlatMapOfLong_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((LongFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((LongFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((LongFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((LongFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as the underlying iterator.") + @Override + default void testForEachLongConsumer(Supplier supplier) + { + List expected = new ArrayList<>(); + supplier.get().forEachRemaining((LongConsumer) expected::add); + T iterator = supplier.get(); + List actual = new ArrayList<>(); + iterator.forEach((LongConsumer) actual::add); + assertTrue(iterator.isEmpty()); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEachRemaining() yields same sequence as the underlying iterator.") + default void testForEachRemainingLongConsumer(Supplier supplier) + { + List expected = collectElements(supplier); + List actual = new ArrayList<>(); + supplier.get().forEachRemaining((LongConsumer) actual::add); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @Test + default void testForEachRemainingLongConsumer_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.forEachRemaining((LongConsumer) null)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterator primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterator.OfLong); + // boxed + FunctionalIterator boxed = getAnyReducible().map((LongFunction) Long::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterator.OfLong); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMin_Consumed(Supplier supplier) + { + OptionalLong expected = OptionalLong.empty(); + OptionalLong actual = supplier.get().consume().min(); + assertEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testMax_Consumed(Supplier supplier) + { + OptionalLong expected = OptionalLong.empty(); + OptionalLong actual = supplier.get().consume().max(); + assertEquals(expected, actual); + } + } +} From 6f9ad37da8f39e6396af3263967a86b26b71d42f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:11:03 +0200 Subject: [PATCH 13/35] Test interface FunctionalIterable --- .../FunctionalIterableStaticTest.java | 140 ++++++++++++++++++ .../iterable/FunctionalIterableTest.java | 112 ++++++++++++++ 2 files changed, 252 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FunctionalIterableStaticTest.java create mode 100644 prism/unit-tests/common/iterable/FunctionalIterableTest.java diff --git a/prism/unit-tests/common/iterable/FunctionalIterableStaticTest.java b/prism/unit-tests/common/iterable/FunctionalIterableStaticTest.java new file mode 100644 index 0000000000..7bbe8fb2b2 --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalIterableStaticTest.java @@ -0,0 +1,140 @@ +package common.iterable; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.*; + +class FunctionalIterableStaticTest +{ + static Stream> getIterables() + { + return Stream.of(Collections.singleton(null), + Collections.emptyList(), + Collections.singleton("one"), + Arrays.asList("one", "two", "three")); + } + + static Stream> getIterablesDouble() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1.0), + Arrays.asList(1.0, 2.0, 3.0)); + } + + static Stream> getIterablesInt() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1), + Arrays.asList(1, 2, 3)); + } + + static Stream> getIterablesLong() + { + return Stream.of(Collections.emptyList(), + Collections.singleton(1L), + Arrays.asList(1L, 2L, 3L)); + } + + @ParameterizedTest + @MethodSource("getIterables") + void testOf(Iterable iterable) + { + FunctionalIterable expected = Reducible.extend(iterable); + Object[] arguments = new Object[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalIterable actual = FunctionalIterable.of(arguments); + assertIterableEquals(expected, actual); + } + + @Test + void testOfTypes() + { + assertTrue(FunctionalIterable.of() instanceof EmptyIterable.Of); + assertTrue(FunctionalIterable.of("first") instanceof SingletonIterable.Of); + } + + @Test + void testOf_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterable.of((Object[]) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesDouble") + void testOfDouble(Iterable iterable) + { + FunctionalPrimitiveIterable.OfDouble expected = Reducible.unboxDouble(iterable); + double[] arguments = new double[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterable.OfDouble actual = FunctionalIterable.ofDouble(arguments); + assertIterableEquals(expected, actual); + } + + @Test + static void testOfDoubleTypes() + { + assertTrue(FunctionalIterable.ofDouble() instanceof EmptyIterable.OfDouble); + assertTrue(FunctionalIterable.ofDouble(1.0) instanceof SingletonIterable.Of); + } + + @Test + void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterable.ofDouble((double[]) null)); + } + + @ParameterizedTest + @MethodSource("getIterablesInt") + void testOfInt(Iterable iterable) + { + FunctionalPrimitiveIterable.OfInt expected = Reducible.unboxInt(iterable); + int[] arguments = new int[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterable.OfInt actual = FunctionalIterable.ofInt(arguments); + assertIterableEquals(expected, actual); + } + + @Test + void testOfIntTypes() + { + assertTrue(FunctionalIterable.ofInt() instanceof EmptyIterable.OfInt); + assertTrue(FunctionalIterable.ofInt(1) instanceof SingletonIterable.OfInt); + } + + @Test + void testOfInt_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterable.ofInt((int[])null)); + } + + @ParameterizedTest + @MethodSource("getIterablesLong") + void testOfLong(Iterable iterable) + { + FunctionalPrimitiveIterable.OfLong expected = Reducible.unboxLong(iterable); + long[] arguments = new long[Math.toIntExact(expected.count())]; + expected.collect(arguments); + FunctionalPrimitiveIterable.OfLong actual = FunctionalIterable.ofLong(arguments); + assertIterableEquals(expected, actual); + } + + @Test + void testOfLongTypes() + { + assertTrue(FunctionalIterable.ofLong() instanceof EmptyIterable.OfLong); + assertTrue(FunctionalIterable.ofLong(1L) instanceof SingletonIterable.OfLong); + } + + @Test + void testOfLong_Null() + { + assertThrows(NullPointerException.class, () -> FunctionalIterable.ofLong((long[]) null)); + } +} diff --git a/prism/unit-tests/common/iterable/FunctionalIterableTest.java b/prism/unit-tests/common/iterable/FunctionalIterableTest.java new file mode 100644 index 0000000000..6d6caeb775 --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalIterableTest.java @@ -0,0 +1,112 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.Supplier; + +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.*; + +public interface FunctionalIterableTest> extends ReducibleTest +{ + @ParameterizedTest + @MethodSource({"getReducibles"}) + @Override + default void testConcat(Supplier supplier) + { + ArrayList expected = supplier.get().collect(new ArrayList<>()); + supplier.get().collect(expected); + FunctionalIterable actual = supplier.get().concat(supplier.get()); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMap(Supplier supplier) + { + FunctionalIterable expected = supplier.get().map(String::valueOf); + FunctionalIterable actual = supplier.get().flatMap(e -> new SingletonIterable.Of<>(String.valueOf(e))); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = unboxDouble(range.map((int i) -> (double) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfDouble actual = supplier.get().flatMapToDouble(e -> new SingletonIterable.OfDouble(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveIterable.OfInt actual = supplier.get().flatMapToInt(e -> new SingletonIterable.OfInt(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @Override + default void testFlatMapToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = unboxLong(range.map((int i) -> (long) i)); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfLong actual = supplier.get().flatMapToLong(e -> new SingletonIterable.OfLong(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + @Override + default void testFlatMapToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt(e -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong(e -> null).consume()); + } + + @Test + @Override + default void testFlatMap_Null() + { + FunctionalIterable iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt(null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong(null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach yields same sequence as the underlying iterator.") + @Override + default void testForEach(Supplier supplier) + { + T expected = supplier.get(); + List actual = new ArrayList<>(); + supplier.get().forEach(actual::add); + assertIterableEquals(expected, actual); + } + + + + interface Of> extends FunctionalIterableTest, ReducibleTest.Of + { + } +} From 67c0b14395d79ebdd5d405dff1ef105d6b3c1f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:11:17 +0200 Subject: [PATCH 14/35] Test interface FunctionalPrimitiveIterable --- .../FunctionalPrimitiveIterableTest.java | 282 ++++++++++++++++++ 1 file changed, 282 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FunctionalPrimitiveIterableTest.java diff --git a/prism/unit-tests/common/iterable/FunctionalPrimitiveIterableTest.java b/prism/unit-tests/common/iterable/FunctionalPrimitiveIterableTest.java new file mode 100644 index 0000000000..a95d63b3aa --- /dev/null +++ b/prism/unit-tests/common/iterable/FunctionalPrimitiveIterableTest.java @@ -0,0 +1,282 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.*; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.*; + +public interface FunctionalPrimitiveIterableTest +{ + interface OfDouble extends FunctionalIterableTest, PrimitiveReducibleTest.OfDouble + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToObj(Supplier supplier) + { + FunctionalIterable expected = supplier.get().map((DoubleFunction) String::valueOf); + Iterable actual = supplier.get().flatMap((double d) -> List.of(String.valueOf(d))); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = range.mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfDouble actual = supplier.get().flatMapToDouble((double d) -> new SingletonIterable.OfDouble(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveIterable.OfInt actual = supplier.get().flatMapToInt((double d) -> new SingletonIterable.OfInt(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapDoubleToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = range.mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfLong actual = supplier.get().flatMapToLong((double d) -> new SingletonIterable.OfLong(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapDoubleToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((double d) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((double d) -> null).consume()); + } + + @Test + default void testFlatMapOfDouble_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((DoubleFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((DoubleFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((DoubleFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((DoubleFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as the underlying iterator.") + @Override + default void testForEachDoubleConsumer(Supplier supplier) + { + T expected = supplier.get(); + List actual = new ArrayList<>(); + supplier.get().forEach((DoubleConsumer) actual::add); + assertIterableEquals(unboxDouble(expected), unboxDouble(actual)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterable primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterable.OfDouble); + // boxed + FunctionalIterable boxed = getAnyReducible().map((DoubleFunction) Double::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterable.OfDouble); + } + } + + + + interface OfInt extends FunctionalIterableTest, PrimitiveReducibleTest.OfInt + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToObj(Supplier supplier) + { + FunctionalIterable expected = supplier.get().map((IntFunction) String::valueOf); + FunctionalIterable actual = supplier.get().flatMap((int i) -> List.of(String.valueOf(i))); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = range.mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfDouble actual = supplier.get().flatMapToDouble((int i) -> new SingletonIterable.OfDouble(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveIterable.OfInt actual = supplier.get().flatMapToInt((int i) -> new SingletonIterable.OfInt(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapIntToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = range.mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfLong actual = supplier.get().flatMapToLong((int i) -> new SingletonIterable.OfLong(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapIntToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((int i) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((int i) -> null).consume()); + } + + @Test + default void testFlatMapOfInt_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((IntFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((IntFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((IntFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((IntFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as the underlying iterator.") + @Override + default void testForEachIntConsumer(Supplier supplier) + { + T expected = supplier.get(); + List actual = new ArrayList<>(); + supplier.get().forEach((IntConsumer) actual::add); + assertIterableEquals(unboxInt(expected), unboxInt(actual)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterable primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterable.OfInt); + // boxed + FunctionalIterable boxed = getAnyReducible().map((IntFunction) Integer::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterable.OfInt); + } + } + + + + interface OfLong extends FunctionalIterableTest, PrimitiveReducibleTest.OfLong + { + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToObj(Supplier supplier) + { + FunctionalIterable expected = supplier.get().map((LongFunction) String::valueOf); + FunctionalIterable actual = supplier.get().flatMap((long l) -> List.of(String.valueOf(l))); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToDouble(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfDouble expected = range.mapToDouble((int i) -> (double) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfDouble actual = supplier.get().flatMapToDouble((long l) -> new SingletonIterable.OfDouble(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToInt(Supplier supplier) + { + Range expected = new Range((int) supplier.get().count()); + Range.RangeIterator index = expected.iterator(); + PrimitiveIterable.OfInt actual = supplier.get().flatMapToInt((long l) -> new SingletonIterable.OfInt(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getReducibles") + default void testFlatMapLongToLong(Supplier supplier) + { + Range range = new Range((int) supplier.get().count()); + PrimitiveIterable.OfLong expected = range.mapToLong((int i) -> (long) i); + Range.RangeIterator index = range.iterator(); + PrimitiveIterable.OfLong actual = supplier.get().flatMapToLong((long l) -> new SingletonIterable.OfLong(index.next())); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource("getSingletonReducibles") + default void testFlatMapLongToNull(Supplier supplier) + { + assertThrows(NullPointerException.class, () -> supplier.get().flatMap((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToDouble((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToInt((long l) -> null).consume()); + assertThrows(NullPointerException.class, () -> supplier.get().flatMapToLong((long l) -> null).consume()); + } + + @Test + default void testFlatMapOfLong_Null() + { + T iterator = getAnyReducible(); + assertThrows(NullPointerException.class, () -> iterator.flatMap((LongFunction>) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToDouble((LongFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToInt((LongFunction) null)); + assertThrows(NullPointerException.class, () -> iterator.flatMapToLong((LongFunction) null)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + @DisplayName("forEach() yields same sequence as the underlying iterator.") + @Override + default void testForEachLongConsumer(Supplier supplier) + { + T expected = supplier.get(); + List actual = new ArrayList<>(); + supplier.get().forEach((LongConsumer) actual::add); + assertIterableEquals(unboxLong(expected), unboxLong(actual)); + } + + @Test + default void testConcatTypes() + { + // primitive with boxed signature + FunctionalIterable primitive = getAnyReducible(); + assertTrue(getAnyReducible().concat(primitive) instanceof FunctionalPrimitiveIterable.OfLong); + // boxed + FunctionalIterable boxed = getAnyReducible().map((LongFunction) Long::valueOf); + assertFalse(getAnyReducible().concat(boxed) instanceof FunctionalPrimitiveIterable.OfLong); + } + } +} From c1811afb4538cea9ffb82a153c04087bd77deafa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:12:19 +0200 Subject: [PATCH 15/35] Test IteratorAdaptor --- .../common/iterable/IteratorAdaptorTest.java | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 prism/unit-tests/common/iterable/IteratorAdaptorTest.java diff --git a/prism/unit-tests/common/iterable/IteratorAdaptorTest.java b/prism/unit-tests/common/iterable/IteratorAdaptorTest.java new file mode 100644 index 0000000000..9f4cdfdac1 --- /dev/null +++ b/prism/unit-tests/common/iterable/IteratorAdaptorTest.java @@ -0,0 +1,198 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; + +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; + +class IteratorAdaptorTest +{ + @Nested + @TestInstance(Lifecycle.PER_CLASS) + class Of implements FunctionalIteratorTest.Of> + { + @Override + public IteratorAdaptor.Of getReducible(Object[] objects) + { + return new IteratorAdaptor.Of<>(Arrays.asList(objects).iterator()); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOf(Object[] objects) + { + List iterable = Arrays.asList(objects); + Iterator expected = iterable.iterator(); + IteratorAdaptor.Of actual = new IteratorAdaptor.Of<>(iterable.iterator()); + assertIteratorEquals(expected, actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOf_Null() + { + assertThrows(NullPointerException.class, () -> new IteratorAdaptor.Of<>(null)); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + @DisplayName("unwrap() answers the underlying iterator.") + public void testUnwrap(Object[] objects) + { + Iterator expected = Arrays.asList(objects).iterator(); + Iterator actual = new IteratorAdaptor.Of<>(expected).unwrap(); + assertSame(expected, actual); + } + } + + + + @Nested + @TestInstance(Lifecycle.PER_CLASS) + class OfDouble implements FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public IteratorAdaptor.OfDouble getReducible(double[] numbers) + { + PrimitiveIterable.OfDouble iterable = asNonFunctionalIterable(numbers); + return new IteratorAdaptor.OfDouble(iterable.iterator()); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfDouble(double[] numbers) + { + PrimitiveIterable.OfDouble expected = asNonFunctionalIterable(numbers); + IteratorAdaptor.OfDouble actual = new IteratorAdaptor.OfDouble(expected.iterator()); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new IteratorAdaptor.OfDouble(null)); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + @DisplayName("unwrap() answers the underlying iterator.") + public void testUnwrap(double[] numbers) + { + PrimitiveIterator.OfDouble expected = asNonFunctionalIterable(numbers).iterator(); + PrimitiveIterator.OfDouble actual = new IteratorAdaptor.OfDouble(expected).unwrap(); + assertSame(expected, actual); + } + + private PrimitiveIterable.OfDouble asNonFunctionalIterable(double[] numbers) + { + List boxed = FunctionalIterator.ofDouble(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxDouble(boxed); + } + } + + + + @Nested + @TestInstance(Lifecycle.PER_CLASS) + class OfInt implements FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public IteratorAdaptor.OfInt getReducible(int[] numbers) + { + PrimitiveIterable.OfInt iterable = asNonFunctionalIterable(numbers); + return new IteratorAdaptor.OfInt(iterable.iterator()); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfInt(int[] numbers) + { + PrimitiveIterable.OfInt expected = asNonFunctionalIterable(numbers); + IteratorAdaptor.OfInt actual = new IteratorAdaptor.OfInt(expected.iterator()); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfInt_Null() + { + assertThrows(NullPointerException.class, () -> new IteratorAdaptor.OfInt(null)); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + @DisplayName("unwrap() answers the underlying iterator.") + public void testUnwrap(int[] numbers) + { + PrimitiveIterator.OfInt expected = asNonFunctionalIterable(numbers).iterator(); + PrimitiveIterator.OfInt actual = new IteratorAdaptor.OfInt(expected).unwrap(); + assertSame(expected, actual); + } + + private PrimitiveIterable.OfInt asNonFunctionalIterable(int[] numbers) + { + List boxed = FunctionalIterator.ofInt(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxInt(boxed); + } + } + + + + @Nested + @TestInstance(Lifecycle.PER_CLASS) + class OfLong implements FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public IteratorAdaptor.OfLong getReducible(long[] numbers) + { + PrimitiveIterable.OfLong iterable = asNonFunctionalIterable(numbers); + return new IteratorAdaptor.OfLong(iterable.iterator()); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfLong(long[] numbers) + { + PrimitiveIterable.OfLong expected = asNonFunctionalIterable(numbers); + IteratorAdaptor.OfLong actual = new IteratorAdaptor.OfLong(expected.iterator()); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfLong_Null() + { + assertThrows(NullPointerException.class, () -> new IteratorAdaptor.OfLong(null)); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + @DisplayName("unwrap() answers the underlying iterator.") + public void testUnwrap(long[] numbers) + { + PrimitiveIterator.OfLong expected = asNonFunctionalIterable(numbers).iterator(); + PrimitiveIterator.OfLong actual = new IteratorAdaptor.OfLong(expected).unwrap(); + assertSame(expected, actual); + } + + private PrimitiveIterable.OfLong asNonFunctionalIterable(long[] numbers) + { + List boxed = FunctionalIterator.ofLong(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxLong(boxed); + } + } +} From 9e9e5d83b73c4976e4091f89da542ef99ef8a831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:12:33 +0200 Subject: [PATCH 16/35] Test IterableAdaptor --- .../common/iterable/IterableAdaptorTest.java | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 prism/unit-tests/common/iterable/IterableAdaptorTest.java diff --git a/prism/unit-tests/common/iterable/IterableAdaptorTest.java b/prism/unit-tests/common/iterable/IterableAdaptorTest.java new file mode 100644 index 0000000000..b0436ca3f4 --- /dev/null +++ b/prism/unit-tests/common/iterable/IterableAdaptorTest.java @@ -0,0 +1,156 @@ +package common.iterable; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; + +import static common.iterable.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +class IterableAdaptorTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements FunctionalIterableTest.Of> + { + @Override + public IterableAdaptor.Of getReducible(Object[] objects) + { + return new IterableAdaptor.Of<>(Arrays.asList(objects)); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOf(Object[] objects) + { + List expected = Arrays.asList(objects); + IterableAdaptor.Of actual = new IterableAdaptor.Of<>(expected); + assertIterableEquals(expected, actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOf_Null() + { + assertThrows(NullPointerException.class, () -> new IterableAdaptor.Of<>(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public IterableAdaptor.OfDouble getReducible(double[] numbers) + { + PrimitiveIterable.OfDouble iterable = asNonFunctionalIterable(numbers); + return new IterableAdaptor.OfDouble(iterable); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfDouble(double[] numbers) + { + PrimitiveIterable.OfDouble expected = asNonFunctionalIterable(numbers); + IterableAdaptor.OfDouble actual = new IterableAdaptor.OfDouble(expected); + assertIterableEquals(expected, actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new IterableAdaptor.OfDouble(null)); + } + + private PrimitiveIterable.OfDouble asNonFunctionalIterable(double[] numbers) + { + List boxed = FunctionalIterator.ofDouble(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxDouble(boxed); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements FunctionalPrimitiveIterableTest.OfInt + { + @Override + public IterableAdaptor.OfInt getReducible(int[] numbers) + { + PrimitiveIterable.OfInt iterable = asNonFunctionalIterable(numbers); + return new IterableAdaptor.OfInt(iterable); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfInt(int[] numbers) + { + PrimitiveIterable.OfInt expected = asNonFunctionalIterable(numbers); + IterableAdaptor.OfInt actual = new IterableAdaptor.OfInt(expected); + assertIterableEquals(expected, actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfInt_Null() + { + assertThrows(NullPointerException.class, () -> new IterableAdaptor.OfInt(null)); + } + + private PrimitiveIterable.OfInt asNonFunctionalIterable(int[] numbers) + { + List boxed = FunctionalIterator.ofInt(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxInt(boxed); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements FunctionalPrimitiveIterableTest.OfLong + { + @Override + public IterableAdaptor.OfLong getReducible(long[] numbers) + { + PrimitiveIterable.OfLong iterable = asNonFunctionalIterable(numbers); + return new IterableAdaptor.OfLong(iterable); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + @DisplayName("Adaptor yields same sequence as the underlying iterator.") + public void testOfLong(long[] numbers) + { + PrimitiveIterable.OfLong expected = asNonFunctionalIterable(numbers); + IterableAdaptor.OfLong actual = new IterableAdaptor.OfLong(expected); + assertIterableEquals(expected, actual); + } + + @Test + @DisplayName("Adapter on null throws NullPointerException.") + public void testOfLong_Null() + { + assertThrows(NullPointerException.class, () -> new IterableAdaptor.OfLong(null)); + } + + private PrimitiveIterable.OfLong asNonFunctionalIterable(long[] numbers) + { + List boxed = FunctionalIterator.ofLong(numbers).collect(new ArrayList<>()); + return PrimitiveIterable.unboxLong(boxed); + } + } +} From af2a4ba2588ded5c1ca70a48b57f10b24270fcf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:13:50 +0200 Subject: [PATCH 17/35] Test ArrayIterator --- .../common/iterable/ArrayIteratorTest.java | 253 ++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 prism/unit-tests/common/iterable/ArrayIteratorTest.java diff --git a/prism/unit-tests/common/iterable/ArrayIteratorTest.java b/prism/unit-tests/common/iterable/ArrayIteratorTest.java new file mode 100644 index 0000000000..958f49b1b3 --- /dev/null +++ b/prism/unit-tests/common/iterable/ArrayIteratorTest.java @@ -0,0 +1,253 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.function.Supplier; + +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.*; + +interface ArrayIteratorTest +{ + @ParameterizedTest + @MethodSource("getReducibles") + default void testNextIndex(Supplier> supplier) + { + ArrayIterator iterator = supplier.get(); + for (int i=0; iterator.hasNext(); i++) { + assertEquals(i, iterator.nextIndex()); + iterator.next(); + } + assertThrows(NoSuchElementException.class, iterator::nextIndex); + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements ArrayIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public ArrayIterator.Of getReducible(Object[] objects) + { + return new ArrayIterator.Of<>(objects); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + public void testOfArray(Object[] array) + { + ArrayIterator.Of iterator = new ArrayIterator.Of<>(array); + Object[] actual = iterator.collect(new Object[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + public void testOfArrayIntInt_All(Object[] array) + { + ArrayIterator.Of expected = new ArrayIterator.Of<>(array); + ArrayIterator.Of actual = new ArrayIterator.Of<>(array, 0, array.length); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysAsArguments"}) + public void testOfArrayIntInt_Range(Object[] array) + { + FunctionalIterable expected = new Range(1, array.length - 1).map((int i) -> array[i]); + ArrayIterator.Of actual = new ArrayIterator.Of<>(array, 1, array.length - 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOf_Errors() + { + Optional any = getMultitonArraysOfObject().findAny(); + assert any.isPresent(); + Object[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new ArrayIterator.Of<>((Object[]) null)); + assertThrows(NullPointerException.class, () -> new ArrayIterator.Of<>(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.Of<>(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.Of<>(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.Of<>(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.Of<>(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.Of<>(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements ArrayIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public ArrayIterator.OfDouble getReducible(double[] numbers) + { + return new ArrayIterator.OfDouble(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfDouble", "getSingletonArraysOfDouble", "getMultitonArraysOfDouble"}) + public void testOfDouble(double[] array) + { + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(array); + double[] actual = iterator.collect(new double[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfDouble", "getSingletonArraysOfDouble", "getMultitonArraysOfDouble"}) + public void testOfDoubleArrayIntInt_All(double[] array) + { + ArrayIterator.OfDouble expected = new ArrayIterator.OfDouble(array); + ArrayIterator.OfDouble actual = new ArrayIterator.OfDouble(array, 0, array.length); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfDouble"}) + public void testOfDoubleArrayIntInt_Range(double[] array) + { + FunctionalPrimitiveIterable.OfDouble expected = new Range(1, array.length - 1).mapToDouble((int i) -> array[i]); + ArrayIterator.OfDouble actual = new ArrayIterator.OfDouble(array, 1, array.length - 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfDouble_Errors() + { + Optional any = getMultitonArraysOfDouble().findAny(); + assert any.isPresent(); + double[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfDouble((double[]) null)); + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfDouble(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfDouble(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfDouble(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfDouble(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfDouble(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfDouble(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements ArrayIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public ArrayIterator.OfInt getReducible(int[] numbers) + { + return new ArrayIterator.OfInt(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfInt", "getSingletonArraysOfInt", "getMultitonArraysOfInt"}) + public void testOfInt(int[] array) + { + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(array); + int[] actual = iterator.collect(new int[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfInt", "getSingletonArraysOfInt", "getMultitonArraysOfInt"}) + public void testOfIntArrayIntInt_All(int[] array) + { + ArrayIterator.OfInt expected = new ArrayIterator.OfInt(array); + ArrayIterator.OfInt actual = new ArrayIterator.OfInt(array, 0, array.length); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfInt"}) + public void testOfIntArrayIntInt_Range(int[] array) + { + FunctionalPrimitiveIterable.OfInt expected = new Range(1, array.length - 1).mapToInt((int i) -> array[i]); + ArrayIterator.OfInt actual = new ArrayIterator.OfInt(array, 1, array.length - 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfInt_Errors() + { + Optional any = getMultitonArraysOfInt().findAny(); + assert any.isPresent(); + int[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfInt((int[]) null)); + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfInt(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfInt(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfInt(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfInt(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfInt(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfInt(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements ArrayIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public ArrayIterator.OfLong getReducible(long[] numbers) + { + return new ArrayIterator.OfLong(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfLong", "getSingletonArraysOfLong", "getMultitonArraysOfLong"}) + public void testOfLong(long[] array) + { + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(array); + long[] actual = iterator.collect(new long[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfLong", "getSingletonArraysOfLong", "getMultitonArraysOfLong"}) + public void testOfLongArrayIntInt_All(long[] array) + { + ArrayIterator.OfLong expected = new ArrayIterator.OfLong(array); + ArrayIterator.OfLong actual = new ArrayIterator.OfLong(array, 0, array.length); + assertIteratorEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfLong"}) + public void testOfLongArrayIntInt_Range(long[] array) + { + FunctionalPrimitiveIterable.OfLong expected = new Range(1, array.length - 1).mapToLong((int i) -> array[i]); + ArrayIterator.OfLong actual = new ArrayIterator.OfLong(array, 1, array.length - 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfLong_Errors() + { + Optional any = getMultitonArraysOfLong().findAny(); + assert any.isPresent(); + long[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfLong((long[]) null)); + assertThrows(NullPointerException.class, () -> new ArrayIterator.OfLong(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfLong(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfLong(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfLong(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfLong(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new ArrayIterator.OfLong(array, length+1, length+1)); + } + } +} \ No newline at end of file From fe75e4017a64ba3930dfaed4857f4068e09ea062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:14:04 +0200 Subject: [PATCH 18/35] Test IterableArray --- .../common/iterable/IterableArrayTest.java | 239 ++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 prism/unit-tests/common/iterable/IterableArrayTest.java diff --git a/prism/unit-tests/common/iterable/IterableArrayTest.java b/prism/unit-tests/common/iterable/IterableArrayTest.java new file mode 100644 index 0000000000..041b26b146 --- /dev/null +++ b/prism/unit-tests/common/iterable/IterableArrayTest.java @@ -0,0 +1,239 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.Optional; + +import static common.iterable.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface IterableArrayTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements IterableArrayTest, FunctionalIterableTest.Of> + { + @Override + public IterableArray.Of getReducible(Object[] objects) + { + return new IterableArray.Of<>(objects); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + public void testOfArray(Object[] array) + { + IterableArray.Of iterator = new IterableArray.Of<>(array); + Object[] actual = iterator.collect(new Object[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + public void testOfArrayIntInt_All(Object[] array) + { + IterableArray.Of expected = new IterableArray.Of<>(array); + IterableArray.Of actual = new IterableArray.Of<>(array, 0, array.length); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysAsArguments"}) + public void testOfArrayIntInt_Range(Object[] array) + { + FunctionalIterable expected = new Range(1, array.length - 1).map((int i) -> array[i]); + IterableArray.Of actual = new IterableArray.Of<>(array, 1, array.length - 1); + assertIterableEquals(expected, actual); + } + + @Test + public void testOf_Errors() + { + Optional any = getMultitonArraysOfObject().findAny(); + assert any.isPresent(); + Object[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new IterableArray.Of<>((Object[]) null)); + assertThrows(NullPointerException.class, () -> new IterableArray.Of<>(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.Of<>(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.Of<>(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.Of<>(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.Of<>(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.Of<>(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements IterableArrayTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public IterableArray.OfDouble getReducible(double[] numbers) + { + return new IterableArray.OfDouble(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfDouble", "getSingletonArraysOfDouble", "getMultitonArraysOfDouble"}) + public void testOfDouble(double[] array) + { + IterableArray.OfDouble iterator = new IterableArray.OfDouble(array); + double[] actual = iterator.collect(new double[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfDouble", "getSingletonArraysOfDouble", "getMultitonArraysOfDouble"}) + public void testOfDoubleArrayIntInt_All(double[] array) + { + IterableArray.OfDouble expected = new IterableArray.OfDouble(array); + IterableArray.OfDouble actual = new IterableArray.OfDouble(array, 0, array.length); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfDouble"}) + public void testOfDoubleArrayIntInt_Range(double[] array) + { + FunctionalPrimitiveIterable.OfDouble expected = new Range(1, array.length - 1).mapToDouble((int i) -> array[i]); + IterableArray.OfDouble actual = new IterableArray.OfDouble(array, 1, array.length - 1); + assertIterableEquals(expected, actual); + } + + @Test + public void testOfDouble_Errors() + { + Optional any = getMultitonArraysOfDouble().findAny(); + assert any.isPresent(); + double[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new IterableArray.OfDouble((double[]) null)); + assertThrows(NullPointerException.class, () -> new IterableArray.OfDouble(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfDouble(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfDouble(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfDouble(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfDouble(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfDouble(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements IterableArrayTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public IterableArray.OfInt getReducible(int[] numbers) + { + return new IterableArray.OfInt(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfInt", "getSingletonArraysOfInt", "getMultitonArraysOfInt"}) + public void testOfInt(int[] array) + { + IterableArray.OfInt iterator = new IterableArray.OfInt(array); + int[] actual = iterator.collect(new int[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfInt", "getSingletonArraysOfInt", "getMultitonArraysOfInt"}) + public void testOfIntArrayIntInt_All(int[] array) + { + IterableArray.OfInt expected = new IterableArray.OfInt(array); + IterableArray.OfInt actual = new IterableArray.OfInt(array, 0, array.length); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfInt"}) + public void testOfIntArrayIntInt_Range(int[] array) + { + FunctionalPrimitiveIterable.OfInt expected = new Range(1, array.length - 1).mapToInt((int i) -> array[i]); + IterableArray.OfInt actual = new IterableArray.OfInt(array, 1, array.length - 1); + assertIterableEquals(expected, actual); + } + + @Test + public void testOfInt_Errors() + { + Optional any = getMultitonArraysOfInt().findAny(); + assert any.isPresent(); + int[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new IterableArray.OfInt((int[]) null)); + assertThrows(NullPointerException.class, () -> new IterableArray.OfInt(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfInt(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfInt(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfInt(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfInt(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfInt(array, length+1, length+1)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements IterableArrayTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public IterableArray.OfLong getReducible(long[] numbers) + { + return new IterableArray.OfLong(numbers); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfLong", "getSingletonArraysOfLong", "getMultitonArraysOfLong"}) + public void testOfLong(long[] array) + { + IterableArray.OfLong iterator = new IterableArray.OfLong(array); + long[] actual = iterator.collect(new long[array.length]); + assertArrayEquals(array, actual); + } + + @ParameterizedTest + @MethodSource({"getEmptyArraysOfLong", "getSingletonArraysOfLong", "getMultitonArraysOfLong"}) + public void testOfLongArrayIntInt_All(long[] array) + { + IterableArray.OfLong expected = new IterableArray.OfLong(array); + IterableArray.OfLong actual = new IterableArray.OfLong(array, 0, array.length); + assertIterableEquals(expected, actual); + } + + @ParameterizedTest + @MethodSource({"getMultitonArraysOfLong"}) + public void testOfLongArrayIntInt_Range(long[] array) + { + FunctionalPrimitiveIterable.OfLong expected = new Range(1, array.length - 1).mapToLong((int i) -> array[i]); + IterableArray.OfLong actual = new IterableArray.OfLong(array, 1, array.length - 1); + assertIterableEquals(expected, actual); + } + + @Test + public void testOfLong_Errors() + { + Optional any = getMultitonArraysOfLong().findAny(); + assert any.isPresent(); + long[] array = any.get(); + int length = array.length; + assertThrows(NullPointerException.class, () -> new IterableArray.OfLong((long[]) null)); + assertThrows(NullPointerException.class, () -> new IterableArray.OfLong(null, 0, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfLong(array, -1, -1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfLong(array, -1, length)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfLong(array, 1, 0)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfLong(array, 0, length+1)); + assertThrows(IndexOutOfBoundsException.class, () -> new IterableArray.OfLong(array, length+1, length+1)); + } + } +} \ No newline at end of file From faa075e03b00bc9721c28f6520543377644c2b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:14:40 +0200 Subject: [PATCH 19/35] Test EmptyIterator --- .../common/iterable/EmptyIteratorTest.java | 342 ++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 prism/unit-tests/common/iterable/EmptyIteratorTest.java diff --git a/prism/unit-tests/common/iterable/EmptyIteratorTest.java b/prism/unit-tests/common/iterable/EmptyIteratorTest.java new file mode 100644 index 0000000000..0816bdfe1d --- /dev/null +++ b/prism/unit-tests/common/iterable/EmptyIteratorTest.java @@ -0,0 +1,342 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.TestInstance; + +import java.util.function.Supplier; +import java.util.stream.Stream; + +interface EmptyIteratorTest> extends FunctionalIteratorTest +{ + @Override + default void testAllMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testAnyMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testDetect_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testDetect_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testFlatMapToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testNoneMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testIsEmpty_NonEmpty(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinaryOperatorOfE_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinaryOperatorOfE_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinary_ResultNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements EmptyIteratorTest>, FunctionalIteratorTest.Of> + { + @Override + public EmptyIterator.Of getReducible(Object[] objects) + { + assert objects.length == 0 : "empty array expected"; + return EmptyIterator.of(); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getMultitonReducibles() + { + return Stream.empty(); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements EmptyIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public EmptyIterator.OfDouble getReducible(double[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterator.ofDouble(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectDoublePredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectDoublePredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapDoubleToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements EmptyIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public EmptyIterator.OfInt getReducible(int[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterator.ofInt(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectIntPredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectIntPredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapIntToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceIntBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceIntBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements EmptyIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public EmptyIterator.OfLong getReducible(long[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterator.ofLong(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectLongPredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectLongPredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapLongToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } +} \ No newline at end of file From ecad67a110a9d1ff7d1198399fc3578a7412e423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:14:51 +0200 Subject: [PATCH 20/35] Test EmptyIterable --- .../common/iterable/EmptyIterableTest.java | 342 ++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 prism/unit-tests/common/iterable/EmptyIterableTest.java diff --git a/prism/unit-tests/common/iterable/EmptyIterableTest.java b/prism/unit-tests/common/iterable/EmptyIterableTest.java new file mode 100644 index 0000000000..af3489556d --- /dev/null +++ b/prism/unit-tests/common/iterable/EmptyIterableTest.java @@ -0,0 +1,342 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.TestInstance; + +import java.util.function.Supplier; +import java.util.stream.Stream; + +interface EmptyIterableTest> extends FunctionalIterableTest +{ + @Override + default void testAllMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testAnyMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testDetect_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testDetect_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testFlatMapToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testNoneMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testIsEmpty_NonEmpty(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinaryOperatorOfE_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinaryOperatorOfE_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + default void testReduceBinary_ResultNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements EmptyIterableTest>, FunctionalIterableTest.Of> + { + @Override + public EmptyIterable.Of getReducible(Object[] objects) + { + assert objects.length == 0 : "empty array expected"; + return EmptyIterable.of(); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getMultitonReducibles() + { + return Stream.empty(); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements EmptyIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public EmptyIterable.OfDouble getReducible(double[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterable.ofDouble(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectDoublePredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectDoublePredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapDoubleToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchDoublePredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements EmptyIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public EmptyIterable.OfInt getReducible(int[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterable.ofInt(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectIntPredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectIntPredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapIntToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchIntPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceIntBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceIntBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements EmptyIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public EmptyIterable.OfLong getReducible(long[] numbers) + { + assert numbers.length == 0 : "empty array expected"; + return EmptyIterable.ofLong(); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getSingletonReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatch(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testAnyMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectLongPredicate_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testDetectLongPredicate_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testFlatMapLongToNull(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testNoneMatchLongPredicate(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Singleton(Supplier supplier) + { /* empty reducibles hold no value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* empty reducibles hold no value */ } + } +} \ No newline at end of file From 69c674af8b70da3c3bfceabf78e325843d3cf00a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:15:05 +0200 Subject: [PATCH 21/35] Test SingletonIterator --- .../iterable/SingletonIteratorTest.java | 322 ++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 prism/unit-tests/common/iterable/SingletonIteratorTest.java diff --git a/prism/unit-tests/common/iterable/SingletonIteratorTest.java b/prism/unit-tests/common/iterable/SingletonIteratorTest.java new file mode 100644 index 0000000000..56f146052e --- /dev/null +++ b/prism/unit-tests/common/iterable/SingletonIteratorTest.java @@ -0,0 +1,322 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.TestInstance; + +import java.util.function.Supplier; +import java.util.stream.Stream; + +interface SingletonIteratorTest> extends FunctionalIteratorTest +{ + @Override + default void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testAnyMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testDetect_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testDetect_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testNoneMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testIsEmpty_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testReduceBinary_ResultNull(Supplier supplier) + { /* singletons hold exactly one value */} + + @Override + default void testReduceBinaryOperatorOfE_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testReduceBinaryOperatorOfE_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements SingletonIteratorTest>, FunctionalIteratorTest.Of> + { + @Override + public SingletonIterator.Of getReducible(Object[] objects) + { + assert objects.length == 1 : "singleton array expected"; + return new SingletonIterator.Of<>(objects[0]); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getMultitonReducibles() + { + return Stream.empty(); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements SingletonIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public SingletonIterator.OfDouble getReducible(double[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterator.OfDouble(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testAllMatchDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectDoublePredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testSum_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements SingletonIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public SingletonIterator.OfInt getReducible(int[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterator.OfInt(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testAllMatchIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectIntPredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceIntBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceIntBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements SingletonIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public SingletonIterator.OfLong getReducible(long[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterator.OfLong(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectLongPredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } +} From 0cd74ee6b509a22c221027ec4f89d455b568f61f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:15:18 +0200 Subject: [PATCH 22/35] Test SingletonIterable --- .../iterable/SingletonIterableTest.java | 322 ++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 prism/unit-tests/common/iterable/SingletonIterableTest.java diff --git a/prism/unit-tests/common/iterable/SingletonIterableTest.java b/prism/unit-tests/common/iterable/SingletonIterableTest.java new file mode 100644 index 0000000000..4e5a4469be --- /dev/null +++ b/prism/unit-tests/common/iterable/SingletonIterableTest.java @@ -0,0 +1,322 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.TestInstance; + +import java.util.function.Supplier; +import java.util.stream.Stream; + +interface SingletonIterableTest> extends FunctionalIterableTest +{ + @Override + default void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testAnyMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testDetect_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testDetect_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testNoneMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testIsEmpty_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testReduceBinary_ResultNull(Supplier supplier) + { /* singletons hold exactly one value */} + + @Override + default void testReduceBinaryOperatorOfE_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + default void testReduceBinaryOperatorOfE_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements SingletonIterableTest>, FunctionalIterableTest.Of> + { + @Override + public SingletonIterable.Of getReducible(Object[] objects) + { + assert objects.length == 1 : "singleton array expected"; + return new SingletonIterable.Of<>(objects[0]); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream>> getMultitonReducibles() + { + return Stream.empty(); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements SingletonIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public SingletonIterable.OfDouble getReducible(double[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterable.OfDouble(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testAllMatchDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectDoublePredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchDoublePredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testSum_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements SingletonIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public SingletonIterable.OfInt getReducible(int[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterable.OfInt(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatch_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testAllMatchIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectIntPredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchIntPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceDoubleBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceIntBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceIntBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements SingletonIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public SingletonIterable.OfLong getReducible(long[] numbers) + { + assert numbers.length == 1 : "singleton array expected"; + return new SingletonIterable.OfLong(numbers[0]); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getMultitonReducibles() + { + return Stream.empty(); + } + + @Override + public void testAllMatchLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testDetectLongPredicate_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testNoneMatchLongPredicate_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testReduceLongBinaryOperator_Multiton(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMin_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + + @Override + public void testMax_Empty(Supplier supplier) + { /* singletons hold exactly one value */ } + } +} From b7a275b67b0d84e7e4c7a22b5a0e1f4d391e495f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:15:42 +0200 Subject: [PATCH 23/35] Test PrimitiveIterable --- .../iterable/PrimitiveIterableTest.java | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 prism/unit-tests/common/iterable/PrimitiveIterableTest.java diff --git a/prism/unit-tests/common/iterable/PrimitiveIterableTest.java b/prism/unit-tests/common/iterable/PrimitiveIterableTest.java new file mode 100644 index 0000000000..d5947038d5 --- /dev/null +++ b/prism/unit-tests/common/iterable/PrimitiveIterableTest.java @@ -0,0 +1,117 @@ +package common.iterable; + +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.PrimitiveIterator; + +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +public class PrimitiveIterableTest +{ + @Test + public void testUnboxDoubleIterable() + { + Iterable numbers = List.of(0.0, 1.0, 2.0); + PrimitiveIterable.OfDouble actual = PrimitiveIterable.unboxDouble(numbers); + PrimitiveIterator.OfDouble expected = PrimitiveIterable.unboxDouble(numbers.iterator()); + assertIteratorEquals(expected, actual.iterator()); + } + + @Test + public void testUnboxDoubleIterator() + { + Iterable numbers = List.of(0.0, 1.0, 2.0); + PrimitiveIterator.OfDouble actual = PrimitiveIterable.unboxDouble(numbers).iterator(); + for (double d : numbers) { + assertEquals(d, actual.nextDouble()); + } + } + + @Test + public void testUnboxDoubleIterator_NullValues() + { + Iterable numbers = Arrays.asList(new Double[] {null}); + PrimitiveIterator.OfDouble actual = PrimitiveIterable.unboxDouble(numbers).iterator(); + assertThrows(NullPointerException.class, actual::nextDouble); + } + + @Test + public void testUnboxDouble_Null() + { + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxDouble((Iterator) null)); + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxDouble((Iterable) null)); + } + + @Test + public void testUnboxIntIterable() + { + Iterable numbers = List.of(0, 1, 2); + PrimitiveIterable.OfInt actual = PrimitiveIterable.unboxInt(numbers); + PrimitiveIterator.OfInt expected = PrimitiveIterable.unboxInt(numbers.iterator()); + assertIteratorEquals(expected, actual.iterator()); + } + + @Test + public void testUnboxIntIterator() + { + Iterable numbers = List.of(0, 1, 2); + PrimitiveIterator.OfInt actual = PrimitiveIterable.unboxInt(numbers).iterator(); + for (int i : numbers) { + assertEquals(i, actual.nextInt()); + } + } + + @Test + public void testUnboxIntIterator_NullValues() + { + Iterable numbers = Arrays.asList(new Integer[] {null}); + PrimitiveIterator.OfInt actual = PrimitiveIterable.unboxInt(numbers).iterator(); + assertThrows(NullPointerException.class, actual::nextInt); + } + + @Test + public void testUnboxInt_Null() + { + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxInt((Iterator) null)); + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxInt((Iterable) null)); + } + + @Test + public void testLongDoubleIterable() + { + Iterable numbers = List.of(0L, 1L, 2L); + PrimitiveIterable.OfLong actual = PrimitiveIterable.unboxLong(numbers); + PrimitiveIterator.OfLong expected = PrimitiveIterable.unboxLong(numbers.iterator()); + assertIteratorEquals(expected, actual.iterator()); + } + + @Test + public void testUnboxLongIterator() + { + Iterable numbers = List.of(0L, 1L, 2L); + PrimitiveIterator.OfLong actual = PrimitiveIterable.unboxLong(numbers).iterator(); + for (long l : numbers) { + assertEquals(l, actual.nextLong()); + } + } + + @Test + public void testUnboxLongIterator_NullValues() + { + Iterable numbers = Arrays.asList(new Long[] {null}); + PrimitiveIterator.OfLong actual = PrimitiveIterable.unboxLong(numbers).iterator(); + assertThrows(NullPointerException.class, actual::nextLong); + } + + @Test + public void testUnboxLong_Null() + { + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxLong((Iterator) null)); + assertThrows(NullPointerException.class, () -> PrimitiveIterable.unboxLong((Iterable) null)); + } +} From 72717110673168cf455b78ea68e7e8d3409244c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:16:12 +0200 Subject: [PATCH 24/35] Test ChainedIterator --- .../common/iterable/ChainedIteratorTest.java | 347 ++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 prism/unit-tests/common/iterable/ChainedIteratorTest.java diff --git a/prism/unit-tests/common/iterable/ChainedIteratorTest.java b/prism/unit-tests/common/iterable/ChainedIteratorTest.java new file mode 100644 index 0000000000..e1e05c7614 --- /dev/null +++ b/prism/unit-tests/common/iterable/ChainedIteratorTest.java @@ -0,0 +1,347 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.Supplier; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIteratorEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface ChainedIteratorTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements ChainedIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public ChainedIterator.Of getReducible(Object[] objects) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream>> split(Object[] objects) + { + // 1. whole sequence + FunctionalIterable> complete = FunctionalIterable.of(Arrays.asList(objects)); + // 2. split & pad with empty + List empty = Collections.emptyList(); + int l1 = objects.length / 2; + Object[] first = new Object[l1]; + System.arraycopy(objects, 0, first, 0, l1); + int l2 = objects.length - l1; + Object[] second = new Object[l2]; + System.arraycopy(objects, l1, second, 0, l2); + FunctionalIterable> chunks = FunctionalIterable.of(empty, Arrays.asList(first), empty, Arrays.asList(second), empty); + return Stream.of(complete, chunks); + } + + public Stream>> getChains() + { + return getArraysOfObject().flatMap(this::split); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + Stream>> splits = getDuplicatesArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.Of<>(args.map(Iterable::iterator).iterator())); + } + + @Override + public Stream>> getEmptyReducibles() + { + Stream>> splits = getEmptyArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.Of<>(args.map(Iterable::iterator).iterator())); + } + + @Override + public Stream>> getSingletonReducibles() + { + Stream>> splits = getSingletonArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.Of<>(args.map(Iterable::iterator).iterator())); + } + + @Override + public Stream>> getMultitonReducibles() + { + Stream>> splits = getMultitonArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.Of<>(args.map(Iterable::iterator).iterator())); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable> chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Object each : iterable) { + expected.add(each); + } + } + FunctionalIterator> iterators = Reducible.extend(chain.iterator()).map(Iterable::iterator); + ChainedIterator.Of actual = new ChainedIterator.Of<>(iterators); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOf_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterator.Of<>(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements ChainedIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public ChainedIterator.OfDouble getReducible(double[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(double[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfDouble(numbers)); + // 2. split & pad with empty + EmptyIterable.OfDouble empty = EmptyIterable.ofDouble(); + int l1 = numbers.length / 2; + double[] first = new double[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + double[] second = new double[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfDouble(first), empty, new IterableArray.OfDouble(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfDouble().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfDouble(args.map(PrimitiveIterable.OfDouble::iterator).iterator())); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfDouble(args.map(PrimitiveIterable.OfDouble::iterator).iterator())); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfDouble(args.map(PrimitiveIterable.OfDouble::iterator).iterator())); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfDouble(args.map(PrimitiveIterable.OfDouble::iterator).iterator())); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Double each : iterable) { + expected.add(each); + } + } + FunctionalIterator iterators = Reducible.extend(chain.iterator()).map(PrimitiveIterable.OfDouble::iterator); + ChainedIterator.OfDouble actual = new ChainedIterator.OfDouble(iterators); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterator.OfDouble(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements ChainedIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public ChainedIterator.OfInt getReducible(int[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(int[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfInt(numbers)); + // 2. split & pad with empty + EmptyIterable.OfInt empty = EmptyIterable.ofInt(); + int l1 = numbers.length / 2; + int[] first = new int[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + int[] second = new int[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfInt(first), empty, new IterableArray.OfInt(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfInt().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfInt(args.map(PrimitiveIterable.OfInt::iterator).iterator())); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfInt(args.map(PrimitiveIterable.OfInt::iterator).iterator())); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfInt(args.map(PrimitiveIterable.OfInt::iterator).iterator())); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfInt(args.map(PrimitiveIterable.OfInt::iterator).iterator())); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Integer each : iterable) { + expected.add(each); + } + } + FunctionalIterator iterators = Reducible.extend(chain.iterator()).map(PrimitiveIterable.OfInt::iterator); + ChainedIterator.OfInt actual = new ChainedIterator.OfInt(iterators); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterator.OfInt(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements ChainedIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public ChainedIterator.OfLong getReducible(long[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(long[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfLong(numbers)); + // 2. split & pad with empty + EmptyIterable.OfLong empty = EmptyIterable.ofLong(); + int l1 = numbers.length / 2; + long[] first = new long[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + long[] second = new long[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfLong(first), empty, new IterableArray.OfLong(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfLong().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfLong(args.map(PrimitiveIterable.OfLong::iterator).iterator())); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfLong(args.map(PrimitiveIterable.OfLong::iterator).iterator())); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfLong(args.map(PrimitiveIterable.OfLong::iterator).iterator())); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterator.OfLong(args.map(PrimitiveIterable.OfLong::iterator).iterator())); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Long each : iterable) { + expected.add(each); + } + } + FunctionalIterator iterators = Reducible.extend(chain.iterator()).map(PrimitiveIterable.OfLong::iterator); + ChainedIterator.OfLong actual = new ChainedIterator.OfLong(iterators); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterator.OfLong(null)); + } + } +} From ce15205fb55f2d2e142d1b01337fdd94f62ee5f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:16:22 +0200 Subject: [PATCH 25/35] Test ChainedIterable --- .../common/iterable/ChainedIterableTest.java | 345 ++++++++++++++++++ 1 file changed, 345 insertions(+) create mode 100644 prism/unit-tests/common/iterable/ChainedIterableTest.java diff --git a/prism/unit-tests/common/iterable/ChainedIterableTest.java b/prism/unit-tests/common/iterable/ChainedIterableTest.java new file mode 100644 index 0000000000..f0952b9558 --- /dev/null +++ b/prism/unit-tests/common/iterable/ChainedIterableTest.java @@ -0,0 +1,345 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; +import java.util.function.Supplier; +import java.util.stream.Stream; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.Reducible.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface ChainedIterableTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements ChainedIterableTest, FunctionalIterableTest.Of> + { + @Override + public ChainedIterable.Of getReducible(Object[] objects) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream>> split(Object[] objects) + { + // 1. whole sequence + FunctionalIterable> complete = FunctionalIterable.of(Arrays.asList(objects)); + // 2. split & pad with empty + List empty = Collections.emptyList(); + int l1 = objects.length / 2; + Object[] first = new Object[l1]; + System.arraycopy(objects, 0, first, 0, l1); + int l2 = objects.length - l1; + Object[] second = new Object[l2]; + System.arraycopy(objects, l1, second, 0, l2); + FunctionalIterable> chunks = FunctionalIterable.of(empty, Arrays.asList(first), empty, Arrays.asList(second), empty); + return Stream.of(complete, chunks); + } + + public Stream>> getChains() + { + return getArraysOfObject().flatMap(this::split); + } + + @Override + public Stream>> getDuplicatesReducibles() + { + Stream>> splits = getDuplicatesArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.Of<>(args)); + } + + @Override + public Stream>> getEmptyReducibles() + { + Stream>> splits = getEmptyArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.Of<>(args)); + } + + @Override + public Stream>> getSingletonReducibles() + { + Stream>> splits = getSingletonArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.Of<>(args)); + } + + @Override + public Stream>> getMultitonReducibles() + { + Stream>> splits = getMultitonArraysOfObject().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.Of<>(args)); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(Iterable> chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Object each : iterable) { + expected.add(each); + } + } + ChainedIterable.Of actual = new ChainedIterable.Of<>(chain); + assertIterableEquals(expected, actual); + } + + @Test + public void testOf_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterable.Of<>(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements ChainedIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public ChainedIterable.OfDouble getReducible(double[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(double[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfDouble(numbers)); + // 2. split & pad with empty + EmptyIterable.OfDouble empty = EmptyIterable.ofDouble(); + int l1 = numbers.length / 2; + double[] first = new double[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + double[] second = new double[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfDouble(first), empty, new IterableArray.OfDouble(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfDouble().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfDouble(args)); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfDouble(args)); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfDouble(args)); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfDouble().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfDouble(args)); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Double each : iterable) { + expected.add(each); + } + } + ChainedIterable.OfDouble actual = new ChainedIterable.OfDouble(chain); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterable.OfDouble(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements ChainedIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public ChainedIterable.OfInt getReducible(int[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(int[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfInt(numbers)); + // 2. split & pad with empty + EmptyIterable.OfInt empty = EmptyIterable.ofInt(); + int l1 = numbers.length / 2; + int[] first = new int[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + int[] second = new int[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfInt(first), empty, new IterableArray.OfInt(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfInt().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfInt(args)); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfInt(args)); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfInt(args)); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfInt().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfInt(args)); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Integer each : iterable) { + expected.add(each); + } + } + ChainedIterable.OfInt actual = new ChainedIterable.OfInt(chain); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterable.OfInt(null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements ChainedIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public ChainedIterable.OfLong getReducible(long[] numbers) + { + throw new RuntimeException("Should not be called"); + } + + protected Stream> split(long[] numbers) + { + // 1. whole sequence + FunctionalIterable complete = FunctionalIterable.of(new IterableArray.OfLong(numbers)); + // 2. split & pad with empty + EmptyIterable.OfLong empty = EmptyIterable.ofLong(); + int l1 = numbers.length / 2; + long[] first = new long[l1]; + System.arraycopy(numbers, 0, first, 0, l1); + int l2 = numbers.length - l1; + long[] second = new long[l2]; + System.arraycopy(numbers, l1, second, 0, l2); + FunctionalIterable chunks = FunctionalIterable.of(empty, new IterableArray.OfLong(first), empty, new IterableArray.OfLong(second), empty); + return Stream.of(complete, chunks); + } + + public Stream> getChains() + { + return getArraysOfLong().flatMap(this::split); + } + + @Override + public Stream> getDuplicatesReducibles() + { + Stream> splits = getDuplicatesArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfLong(args)); + } + + @Override + public Stream> getEmptyReducibles() + { + Stream> splits = getEmptyArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfLong(args)); + } + + @Override + public Stream> getSingletonReducibles() + { + Stream> splits = getSingletonArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfLong(args)); + } + + @Override + public Stream> getMultitonReducibles() + { + Stream> splits = getMultitonArraysOfLong().flatMap(this::split); + return splits.map(args -> () -> new ChainedIterable.OfLong(args)); + } + + @ParameterizedTest + @MethodSource("getChains") + public void testOf(FunctionalIterable chain) + { + List expected = new ArrayList<>(); + for (Iterable iterable : chain) { + for (Long each : iterable) { + expected.add(each); + } + } + ChainedIterable.OfLong actual = new ChainedIterable.OfLong(chain); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testOfDouble_Null() + { + assertThrows(NullPointerException.class, () -> new ChainedIterable.OfLong(null)); + } + } +} From 448d8fbae4fc3d15d1b35c9b8ecdd58616db3561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:16:38 +0200 Subject: [PATCH 26/35] Test MappingIterator --- .../common/iterable/MappingIteratorTest.java | 589 ++++++++++++++++++ 1 file changed, 589 insertions(+) create mode 100644 prism/unit-tests/common/iterable/MappingIteratorTest.java diff --git a/prism/unit-tests/common/iterable/MappingIteratorTest.java b/prism/unit-tests/common/iterable/MappingIteratorTest.java new file mode 100644 index 0000000000..33b5eaab11 --- /dev/null +++ b/prism/unit-tests/common/iterable/MappingIteratorTest.java @@ -0,0 +1,589 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; + +import static common.iterable.Assertions.assertIteratorEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface MappingIteratorTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToObj implements MappingIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public MappingIterator.ObjToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + for (int i=0, length=objects.length; i(lookup.keySet().iterator(), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + void testOf(Object[] objects) + { + ArrayList expected = new ArrayList<>(); + for (Object each : objects) { + expected.add(Objects.toString(each)); + } + Iterator iterator = new ArrayIterator.Of<>(objects); + Iterator actual = new MappingIterator.ObjToObj<>(iterator, Objects::toString); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOf_Null() + { + Iterator iterator = EmptyIterator.of(); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToObj<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToDouble implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble> + { + @Override + public MappingIterator.ObjToDouble getReducible(double[] numbers) + { + List boxed = FunctionalIterator.ofDouble(numbers).collect(new ArrayList<>()); + return new MappingIterator.ObjToDouble<>(boxed.iterator(), Double::doubleValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testObjToDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(d); + } + Iterator iterator = expected.iterator(); + FunctionalPrimitiveIterator.OfDouble actual = new MappingIterator.ObjToDouble<>(iterator, each -> each); + assertIteratorEquals(unboxDouble(expected.iterator()), actual); + } + + @Test + public void testObjToDouble_Null() + { + Iterator iterator = EmptyIterator.of(); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToDouble<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToInt implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfInt> + { + @Override + public MappingIterator.ObjToInt getReducible(int[] numbers) + { + List boxed = FunctionalIterator.ofInt(numbers).collect(new ArrayList<>()); + return new MappingIterator.ObjToInt<>(boxed.iterator(), Integer::intValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testObjToInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i); + } + Iterator iterator = expected.iterator(); + FunctionalPrimitiveIterator.OfInt actual = new MappingIterator.ObjToInt<>(iterator, each -> each); + assertIteratorEquals(unboxInt(expected.iterator()), actual); + } + + @Test + public void testObjToInt_Null() + { + Iterator iterator = EmptyIterator.of(); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToInt(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToInt<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToLong implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfLong> + { + @Override + public MappingIterator.ObjToLong getReducible(long[] numbers) + { + List boxed = FunctionalIterator.ofLong(numbers).collect(new ArrayList<>()); + return new MappingIterator.ObjToLong<>(boxed.iterator(), Long::longValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testObjToLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l); + } + Iterator iterator = expected.iterator(); + FunctionalPrimitiveIterator.OfLong actual = new MappingIterator.ObjToLong<>(iterator, each -> each); + assertIteratorEquals(unboxLong(expected.iterator()), actual); + } + + @Test + public void testObjToLong_Null() + { + Iterator iterator = EmptyIterator.of(); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToLong(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.ObjToLong<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToObj implements MappingIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public MappingIterator.DoubleToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.of(objects).reduce(1.5, (d, e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterator.DoubleToObj<>(unboxDouble(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToObj(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(Objects.toString(d)); + } + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(numbers); + Iterator actual = new MappingIterator.DoubleToObj<>(iterator, Objects::toString); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testDoubleToObj_Null() + { + PrimitiveIterator.OfDouble iterator = EmptyIterator.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToObj<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToDouble implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public MappingIterator.DoubleToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofDouble(numbers).reduce(1.5, (double d, double e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterator.DoubleToDouble(unboxDouble(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(d + 1.0); + } + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(numbers); + PrimitiveIterator.OfDouble actual = new MappingIterator.DoubleToDouble(iterator, d -> d + 1.0); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testDoubleToDouble_Null() + { + PrimitiveIterator.OfDouble iterator = EmptyIterator.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToDouble(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToInt implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public MappingIterator.DoubleToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofInt(numbers).reduce(1.5, (Double d, Integer e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterator.DoubleToInt(unboxDouble(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToInt(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add((int) d + 1); + } + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(numbers); + PrimitiveIterator.OfInt actual = new MappingIterator.DoubleToInt(iterator, d -> (int) d + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testDoubleToInt_Null() + { + PrimitiveIterator.OfDouble iterator = EmptyIterator.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToInt(null, each -> (int) each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToInt(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToLong implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public MappingIterator.DoubleToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofLong(numbers).reduce(1.5, (double d, long e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterator.DoubleToLong(unboxDouble(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToLong(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add((long) d + 1); + } + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(numbers); + PrimitiveIterator.OfLong actual = new MappingIterator.DoubleToLong(iterator, d -> (long) d + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testDoubleToLong_Null() + { + PrimitiveIterator.OfDouble iterator = EmptyIterator.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToLong(null, each -> (long) each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.DoubleToLong(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToObj implements MappingIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public MappingIterator.IntToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.of(objects).reduce(1, (int i, Object e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterator.IntToObj<>(unboxInt(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToObj(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(Objects.toString(i)); + } + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(numbers); + Iterator actual = new MappingIterator.IntToObj<>(iterator, Objects::toString); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testIntToObj_Null() + { + PrimitiveIterator.OfInt iterator = EmptyIterator.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToObj<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToDouble implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public MappingIterator.IntToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofDouble(numbers).reduce(1, (int i, double e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterator.IntToDouble(unboxInt(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToDouble(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i + 1.0); + } + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(numbers); + PrimitiveIterator.OfDouble actual = new MappingIterator.IntToDouble(iterator, i -> i + 1.0); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testIntToDouble_Null() + { + PrimitiveIterator.OfInt iterator = EmptyIterator.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToDouble(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToInt implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public MappingIterator.IntToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofInt(numbers).reduce(1, (int i, int e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterator.IntToInt(unboxInt(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i + 1); + } + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(numbers); + PrimitiveIterator.OfInt actual = new MappingIterator.IntToInt(iterator, i -> i + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testIntToInt_Null() + { + PrimitiveIterator.OfInt iterator = EmptyIterator.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToInt(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToInt(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToLong implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public MappingIterator.IntToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofLong(numbers).reduce(1, (Integer i, Long e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterator.IntToLong(unboxInt(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToLong(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add((long) i + 1); + } + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(numbers); + PrimitiveIterator.OfLong actual = new MappingIterator.IntToLong(iterator, i -> (long) i + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testIntToLong_Null() + { + PrimitiveIterator.OfInt iterator = EmptyIterator.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToLong(null, each -> (long) each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.IntToLong(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToObj implements MappingIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public MappingIterator.LongToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.of(objects).reduce(1L, (long l, Object e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterator.LongToObj<>(unboxLong(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToObj(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(Objects.toString(l)); + } + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(numbers); + Iterator actual = new MappingIterator.LongToObj<>(iterator, Objects::toString); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testLongToObj_Null() + { + PrimitiveIterator.OfLong iterator = EmptyIterator.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToObj<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToDouble implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public MappingIterator.LongToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofDouble(numbers).reduce(1L, (long l, double e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterator.LongToDouble(unboxLong(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToDouble(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l + 1.0); + } + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(numbers); + PrimitiveIterator.OfDouble actual = new MappingIterator.LongToDouble(iterator, l -> l + 1.0); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testLongToDouble_Null() + { + PrimitiveIterator.OfLong iterator = EmptyIterator.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToDouble(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToInt implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public MappingIterator.LongToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofInt(numbers).reduce(1L, (Long l, Integer e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterator.LongToInt(unboxLong(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToInt(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add((int) l + 1); + } + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(numbers); + PrimitiveIterator.OfInt actual = new MappingIterator.LongToInt(iterator, l -> (int) l + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testLongToInt_Null() + { + PrimitiveIterator.OfLong iterator = EmptyIterator.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToInt(null, each -> (int) each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToInt(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToLong implements MappingIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public MappingIterator.LongToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterator.ofLong(numbers).reduce(1L, (long l, long e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterator.LongToLong(unboxLong(lookup.keySet().iterator()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l + 1); + } + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(numbers); + PrimitiveIterator.OfLong actual = new MappingIterator.LongToLong(iterator, l -> l + 1); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testLongToLong_Null() + { + PrimitiveIterator.OfLong iterator = EmptyIterator.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToLong(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterator.LongToLong(iterator, null)); + } + } +} From 955f2a98ee99dfbfa4ebca22bde047ceeab9446e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:16:50 +0200 Subject: [PATCH 27/35] Test MappingIterable --- .../common/iterable/MappingIterableTest.java | 587 ++++++++++++++++++ 1 file changed, 587 insertions(+) create mode 100644 prism/unit-tests/common/iterable/MappingIterableTest.java diff --git a/prism/unit-tests/common/iterable/MappingIterableTest.java b/prism/unit-tests/common/iterable/MappingIterableTest.java new file mode 100644 index 0000000000..a0792ef87a --- /dev/null +++ b/prism/unit-tests/common/iterable/MappingIterableTest.java @@ -0,0 +1,587 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.*; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface MappingIterableTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToObj implements MappingIterableTest, FunctionalIterableTest.Of> + { + @Override + public MappingIterable.ObjToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + for (int i=0, length=objects.length; i(lookup.keySet(), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + void testOf(Object[] objects) + { + ArrayList expected = new ArrayList<>(); + for (Object each : objects) { + expected.add(Objects.toString(each)); + } + Iterable iterable = new IterableArray.Of<>(objects); + Iterable actual = new MappingIterable.ObjToObj<>(iterable, Objects::toString); + assertIterableEquals(expected, actual); + } + + @Test + public void testOf_Null() + { + EmptyIterable.Of iterable = EmptyIterable.of(); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToObj<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToDouble implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfDouble> + { + @Override + public MappingIterable.ObjToDouble getReducible(double[] numbers) + { + List boxed = FunctionalIterable.ofDouble(numbers).collect(new ArrayList<>()); + return new MappingIterable.ObjToDouble<>(boxed, Double::doubleValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testObjToDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(d); + } + FunctionalPrimitiveIterable.OfDouble actual = new MappingIterable.ObjToDouble<>(expected, each -> each); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testObjToDouble_Null() + { + EmptyIterable.Of iterable = EmptyIterable.of(); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToDouble<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToInt implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfInt> + { + @Override + public MappingIterable.ObjToInt getReducible(int[] numbers) + { + List boxed = FunctionalIterable.ofInt(numbers).collect(new ArrayList<>()); + return new MappingIterable.ObjToInt<>(boxed, Integer::intValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testObjToInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i); + } + FunctionalPrimitiveIterable.OfInt actual = new MappingIterable.ObjToInt<>(expected, each -> each); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testObjToInt_Null() + { + EmptyIterable.Of iterable = EmptyIterable.of(); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToInt(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToInt<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class ObjToLong implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfLong> + { + @Override + public MappingIterable.ObjToLong getReducible(long[] numbers) + { + List boxed = FunctionalIterable.ofLong(numbers).collect(new ArrayList<>()); + return new MappingIterable.ObjToLong<>(boxed, Long::longValue); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testObjToLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l); + } + FunctionalPrimitiveIterable.OfLong actual = new MappingIterable.ObjToLong<>(expected, each -> each); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testObjToLong_Null() + { + EmptyIterable.Of iterable = EmptyIterable.of(); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToLong(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.ObjToLong<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToObj implements MappingIterableTest, FunctionalIterableTest.Of> + { + @Override + public MappingIterable.DoubleToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.of(objects).reduce(1.5, (d, e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterable.DoubleToObj<>(unboxDouble(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToObj(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(Objects.toString(d)); + } + IterableArray.OfDouble iterable = new IterableArray.OfDouble(numbers); + Iterable actual = new MappingIterable.DoubleToObj<>(iterable, Objects::toString); + assertIterableEquals(expected, actual); + } + + @Test + public void testDoubleToObj_Null() + { + EmptyIterable.OfDouble iterable = EmptyIterable.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToObj<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToDouble implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public MappingIterable.DoubleToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofDouble(numbers).reduce(1.5, (double d, double e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterable.DoubleToDouble(unboxDouble(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add(d + 1.0); + } + IterableArray.OfDouble iterable = new IterableArray.OfDouble(numbers); + PrimitiveIterable.OfDouble actual = new MappingIterable.DoubleToDouble(iterable, d -> d + 1.0); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testDoubleToDouble_Null() + { + EmptyIterable.OfDouble iterable = EmptyIterable.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToDouble(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToInt implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public MappingIterable.DoubleToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofInt(numbers).reduce(1.5, (Double d, Integer e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterable.DoubleToInt(unboxDouble(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToInt(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add((int) d + 1); + } + IterableArray.OfDouble iterable = new IterableArray.OfDouble(numbers); + PrimitiveIterable.OfInt actual = new MappingIterable.DoubleToInt(iterable, d -> (int) d + 1); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testDoubleToInt_Null() + { + EmptyIterable.OfDouble iterable = EmptyIterable.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToInt(null, each -> (int) each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToInt(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class DoubleToLong implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public MappingIterable.DoubleToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofLong(numbers).reduce(1.5, (double d, long e) -> {lookup.put(d, e); return d + 1;}); + return new MappingIterable.DoubleToLong(unboxDouble(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testDoubleToLong(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (double d : numbers) { + expected.add((long) d + 1); + } + IterableArray.OfDouble iterable = new IterableArray.OfDouble(numbers); + PrimitiveIterable.OfLong actual = new MappingIterable.DoubleToLong(iterable, d -> (long) d + 1); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testDoubleToLong_Null() + { + EmptyIterable.OfDouble iterable = EmptyIterable.ofDouble(); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToLong(null, each -> (long) each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.DoubleToLong(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToObj implements MappingIterableTest, FunctionalIterableTest.Of> + { + @Override + public MappingIterable.IntToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.of(objects).reduce(1, (int i, Object e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterable.IntToObj<>(unboxInt(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToObj(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(Objects.toString(i)); + } + IterableArray.OfInt iterable = new IterableArray.OfInt(numbers); + Iterable actual = new MappingIterable.IntToObj<>(iterable, Objects::toString); + assertIterableEquals(expected, actual); + } + + @Test + public void testIntToObj_Null() + { + EmptyIterable.OfInt iterable = EmptyIterable.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToObj<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToDouble implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public MappingIterable.IntToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofDouble(numbers).reduce(1, (int i, double e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterable.IntToDouble(unboxInt(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToDouble(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i + 1.0); + } + IterableArray.OfInt iterable = new IterableArray.OfInt(numbers); + PrimitiveIterable.OfDouble actual = new MappingIterable.IntToDouble(iterable, i -> i + 1.0); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testIntToDouble_Null() + { + EmptyIterable.OfInt iterable = EmptyIterable.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToDouble(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToInt implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public MappingIterable.IntToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofInt(numbers).reduce(1, (int i, int e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterable.IntToInt(unboxInt(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add(i + 1); + } + IterableArray.OfInt iterable = new IterableArray.OfInt(numbers); + PrimitiveIterable.OfInt actual = new MappingIterable.IntToInt(iterable, i -> i + 1); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testIntToInt_Null() + { + EmptyIterable.OfInt iterable = EmptyIterable.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToInt(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToInt(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class IntToLong implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public MappingIterable.IntToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofLong(numbers).reduce(1, (Integer i, Long e) -> {lookup.put(i, e); return i + 1;}); + return new MappingIterable.IntToLong(unboxInt(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testIntToLong(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (int i : numbers) { + expected.add((long) i + 1); + } + IterableArray.OfInt iterable = new IterableArray.OfInt(numbers); + PrimitiveIterable.OfLong actual = new MappingIterable.IntToLong(iterable, i -> (long) i + 1); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testIntToLong_Null() + { + EmptyIterable.OfInt iterable = EmptyIterable.ofInt(); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToLong(null, each -> (long) each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.IntToLong(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToObj implements MappingIterableTest, FunctionalIterableTest.Of> + { + @Override + public MappingIterable.LongToObj getReducible(Object[] objects) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.of(objects).reduce(1L, (long l, Object e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterable.LongToObj<>(unboxLong(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToObj(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(Objects.toString(l)); + } + IterableArray.OfLong iterable = new IterableArray.OfLong(numbers); + Iterable actual = new MappingIterable.LongToObj<>(iterable, Objects::toString); + assertIterableEquals(expected, actual); + } + + @Test + public void testLongToObj_Null() + { + EmptyIterable.OfLong iterable = EmptyIterable.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToObj<>(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToObj<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToDouble implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public MappingIterable.LongToDouble getReducible(double[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofDouble(numbers).reduce(1L, (long l, double e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterable.LongToDouble(unboxLong(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToDouble(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l + 1.0); + } + IterableArray.OfLong iterable = new IterableArray.OfLong(numbers); + PrimitiveIterable.OfDouble actual = new MappingIterable.LongToDouble(iterable, l -> l + 1.0); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testLongToDouble_Null() + { + EmptyIterable.OfLong iterable = EmptyIterable.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToDouble(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToDouble(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToInt implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public MappingIterable.LongToInt getReducible(int[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofInt(numbers).reduce(1L, (Long l, Integer e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterable.LongToInt(unboxLong(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToInt(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add((int) l + 1); + } + IterableArray.OfLong iterable = new IterableArray.OfLong(numbers); + PrimitiveIterable.OfInt actual = new MappingIterable.LongToInt(iterable, l -> (int) l + 1); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testLongToInt_Null() + { + EmptyIterable.OfLong iterable = EmptyIterable.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToInt(null, each -> (int) each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToInt(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class LongToLong implements MappingIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public MappingIterable.LongToLong getReducible(long[] numbers) + { + Map lookup = new LinkedHashMap<>(); + FunctionalIterable.ofLong(numbers).reduce(1L, (long l, long e) -> {lookup.put(l, e); return l + 1;}); + return new MappingIterable.LongToLong(unboxLong(lookup.keySet()), lookup::get); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testLongToLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + for (long l : numbers) { + expected.add(l + 1); + } + IterableArray.OfLong iterable = new IterableArray.OfLong(numbers); + PrimitiveIterable.OfLong actual = new MappingIterable.LongToLong(iterable, l -> l + 1); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testLongToLong_Null() + { + EmptyIterable.OfLong iterable = EmptyIterable.ofLong(); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToLong(null, each -> each)); + assertThrows(NullPointerException.class, () -> new MappingIterable.LongToLong(iterable, null)); + } + } +} From 70dfec02d60670317d893072643e230c0623793b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:17:04 +0200 Subject: [PATCH 28/35] Test Distinct --- .../common/iterable/DistinctTest.java | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 prism/unit-tests/common/iterable/DistinctTest.java diff --git a/prism/unit-tests/common/iterable/DistinctTest.java b/prism/unit-tests/common/iterable/DistinctTest.java new file mode 100644 index 0000000000..b11636438a --- /dev/null +++ b/prism/unit-tests/common/iterable/DistinctTest.java @@ -0,0 +1,160 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + +public interface DistinctTest> +{ + T getDistinct(); + + boolean test(T distinct, E element); + + Stream> getElements(); + + @ParameterizedTest + @MethodSource("getElements") + default void testGetSeen(FunctionalIterable elements) + { + T distinct = getDistinct(); + assertTrue(distinct.getSeen().isEmpty()); + for (E e : elements) { + test(distinct, e); + test(distinct, e); + } + FunctionalIterable seen = distinct.getSeen(); + for (E e : elements) { + assertTrue(seen.contains(e)); + } + for (E e : seen) { + assertTrue(elements.contains(e)); + } + } + + @ParameterizedTest + @MethodSource("getElements") + default void testTest(FunctionalIterable elements) + { + T distinct = getDistinct(); + for (E e : elements) { + assertTrue(test(distinct, e)); + assertFalse(test(distinct, e)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements DistinctTest> + { + @Override + public Distinct.Of getDistinct() + { + return new Distinct.Of<>(); + } + + @Override + public boolean test(Distinct.Of distinct, String element) + { + return distinct.test(element); + } + + @Override + public Stream> getElements() + { + return Stream.of(new IterableArray.Of<>("first", "second", "third")); + } + } + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements DistinctTest + { + @Override + public Distinct.OfDouble getDistinct() + { + return new Distinct.OfDouble(); + } + + @Override + public boolean test(Distinct.OfDouble distinct, Double element) + { + return distinct.test(element); + } + + @Override + public Stream> getElements() + { + return Stream.of(new IterableArray.Of<>(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, Double.NaN, 0.0, 1.0, 2.0, 3.0)); + } + + @Test + public void testTest_PositiveZero() + { + Distinct.OfDouble distinct = getDistinct(); + assertTrue(distinct.test(+0.0)); + assertFalse(distinct.test(+0.0)); + assertFalse(distinct.test(-0.0)); + } + + @Test + public void testTest_NegativeZero() + { + Distinct.OfDouble distinct = getDistinct(); + assertTrue(distinct.test(+0.0)); + assertFalse(distinct.test(-0.0)); + assertFalse(distinct.test(+0.0)); + } + } + + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements DistinctTest + { + @Override + public Distinct.OfInt getDistinct() + { + return new Distinct.OfInt(); + } + + @Override + public boolean test(Distinct.OfInt distinct, Integer element) + { + return distinct.test(element); + } + + @Override + public Stream> getElements() + { + return Stream.of(new IterableArray.Of<>(1, 2, 3)); + } + } + + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements DistinctTest + { + @Override + public Distinct.OfLong getDistinct() + { + return new Distinct.OfLong(); + } + + @Override + public boolean test(Distinct.OfLong distinct, Long element) + { + return distinct.test(element); + } + + @Override + public Stream> getElements() + { + return Stream.of(new IterableArray.Of<>(1L, 2L, 3L)); + } + } +} From bc303693e0fc5733b8108c99ac41711c58104d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:17:17 +0200 Subject: [PATCH 29/35] Test FilteringIterator --- .../iterable/FilteringIteratorTest.java | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FilteringIteratorTest.java diff --git a/prism/unit-tests/common/iterable/FilteringIteratorTest.java b/prism/unit-tests/common/iterable/FilteringIteratorTest.java new file mode 100644 index 0000000000..004e9e32d0 --- /dev/null +++ b/prism/unit-tests/common/iterable/FilteringIteratorTest.java @@ -0,0 +1,165 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; + +import static common.iterable.Assertions.assertIteratorEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface FilteringIteratorTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements FilteringIteratorTest, FunctionalIteratorTest.Of> + { + @Override + public FilteringIterator.Of getReducible(Object[] objects) + { + return new FilteringIterator.Of<>(FunctionalIterator.of(objects), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + void testOf(Object[] objects) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (Object each : objects) { + if (c++ % 2 == 0) { + expected.add(each); + } + } + Iterator iterator = Arrays.asList(objects).iterator(); + FunctionalIterator actual = new FilteringIterator.Of<>(iterator, expected::contains); + assertIteratorEquals(expected.iterator(), actual); + } + + @Test + public void testOf_Null() + { + EmptyIterator.Of iterator = EmptyIterator.of(); + assertThrows(NullPointerException.class, () -> new FilteringIterator.Of<>(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterator.Of<>(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements FilteringIteratorTest, FunctionalPrimitiveIteratorTest.OfDouble + { + @Override + public FilteringIterator.OfDouble getReducible(double[] numbers) + { + return new FilteringIterator.OfDouble(FunctionalIterator.ofDouble(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testOfDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (double d : numbers) { + if (c++ % 2 == 0) { + expected.add(d); + } + } + ArrayIterator.OfDouble iterator = new ArrayIterator.OfDouble(numbers); + FunctionalPrimitiveIterator.OfDouble actual = new FilteringIterator.OfDouble(iterator, expected::contains); + assertIteratorEquals(unboxDouble(expected.iterator()), actual); + } + + @Test + public void testOfDouble_Null() + { + EmptyIterator.OfDouble iterator = EmptyIterator.ofDouble(); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfDouble(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfDouble(iterator, null)); + } + } + + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements FilteringIteratorTest, FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public FilteringIterator.OfInt getReducible(int[] numbers) + { + return new FilteringIterator.OfInt(FunctionalIterator.ofInt(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testOfInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (int i : numbers) { + if (c++ % 2 == 0) { + expected.add(i); + } + } + ArrayIterator.OfInt iterator = new ArrayIterator.OfInt(numbers); + FunctionalPrimitiveIterator.OfInt actual = new FilteringIterator.OfInt(iterator, expected::contains); + assertIteratorEquals(unboxInt(expected.iterator()), actual); + } + + @Test + public void testOfInt_Null() + { + EmptyIterator.OfInt iterator = EmptyIterator.ofInt(); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfInt(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfInt(iterator, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements FilteringIteratorTest, FunctionalPrimitiveIteratorTest.OfLong + { + @Override + public FilteringIterator.OfLong getReducible(long[] numbers) + { + return new FilteringIterator.OfLong(FunctionalIterator.ofLong(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testOfLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (Long i : numbers) { + if (c++ % 2 == 0) { + expected.add(i); + } + } + ArrayIterator.OfLong iterator = new ArrayIterator.OfLong(numbers); + FunctionalPrimitiveIterator.OfLong actual = new FilteringIterator.OfLong(iterator, expected::contains); + assertIteratorEquals(unboxLong(expected.iterator()), actual); + } + + @Test + public void testOfLong_Null() + { + EmptyIterator.OfLong iterator = EmptyIterator.ofLong(); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfLong(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterator.OfLong(iterator, null)); + } + } +} From a234749d5afde9590aa0f7d6d6c08ccc84e2ae65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:17:31 +0200 Subject: [PATCH 30/35] Test FilteringIterable --- .../iterable/FilteringIterableTest.java | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 prism/unit-tests/common/iterable/FilteringIterableTest.java diff --git a/prism/unit-tests/common/iterable/FilteringIterableTest.java b/prism/unit-tests/common/iterable/FilteringIterableTest.java new file mode 100644 index 0000000000..ca3711c58f --- /dev/null +++ b/prism/unit-tests/common/iterable/FilteringIterableTest.java @@ -0,0 +1,165 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.ArrayList; +import java.util.Arrays; + +import static common.iterable.Assertions.assertIterableEquals; +import static common.iterable.PrimitiveIterable.*; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +interface FilteringIterableTest +{ + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class Of implements FilteringIterableTest, FunctionalIterableTest.Of> + { + @Override + public FilteringIterable.Of getReducible(Object[] objects) + { + return new FilteringIterable.Of<>(FunctionalIterable.of(objects), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysAsArguments") + void testOf(Object[] objects) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (Object each : objects) { + if (c++ % 2 == 0) { + expected.add(each); + } + } + Iterable iterable = Arrays.asList(objects); + FunctionalIterable actual = new FilteringIterable.Of<>(iterable, expected::contains); + assertIterableEquals(expected, actual); + } + + @Test + public void testOf_Null() + { + EmptyIterable.Of iterable = EmptyIterable.of(); + assertThrows(NullPointerException.class, () -> new FilteringIterable.Of<>(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterable.Of<>(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfDouble implements FilteringIterableTest, FunctionalPrimitiveIterableTest.OfDouble + { + @Override + public FilteringIterable.OfDouble getReducible(double[] numbers) + { + return new FilteringIterable.OfDouble(FunctionalIterable.ofDouble(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfDouble") + public void testOfDouble(double[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (double d : numbers) { + if (c++ % 2 == 0) { + expected.add(d); + } + } + IterableArray.OfDouble iterable = new IterableArray.OfDouble(numbers); + FunctionalPrimitiveIterable.OfDouble actual = new FilteringIterable.OfDouble(iterable, expected::contains); + assertIterableEquals(unboxDouble(expected), actual); + } + + @Test + public void testOfDouble_Null() + { + EmptyIterable.OfDouble iterable = EmptyIterable.ofDouble(); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfDouble(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfDouble(iterable, null)); + } + } + + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfInt implements FilteringIterableTest, FunctionalPrimitiveIterableTest.OfInt + { + @Override + public FilteringIterable.OfInt getReducible(int[] numbers) + { + return new FilteringIterable.OfInt(FunctionalIterable.ofInt(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfInt") + public void testOfInt(int[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (int i : numbers) { + if (c++ % 2 == 0) { + expected.add(i); + } + } + IterableArray.OfInt iterable = new IterableArray.OfInt(numbers); + FunctionalPrimitiveIterable.OfInt actual = new FilteringIterable.OfInt(iterable, expected::contains); + assertIterableEquals(unboxInt(expected), actual); + } + + @Test + public void testOfInt_Null() + { + EmptyIterable.OfInt iterable = EmptyIterable.ofInt(); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfInt(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfInt(iterable, null)); + } + } + + + + @Nested + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + class OfLong implements FilteringIterableTest, FunctionalPrimitiveIterableTest.OfLong + { + @Override + public FilteringIterable.OfLong getReducible(long[] numbers) + { + return new FilteringIterable.OfLong(FunctionalIterable.ofLong(numbers), e -> true); + } + + @ParameterizedTest + @MethodSource("getArraysOfLong") + public void testOfLong(long[] numbers) + { + ArrayList expected = new ArrayList<>(); + int c = 0; + for (Long i : numbers) { + if (c++ % 2 == 0) { + expected.add(i); + } + } + IterableArray.OfLong iterable = new IterableArray.OfLong(numbers); + FunctionalPrimitiveIterable.OfLong actual = new FilteringIterable.OfLong(iterable, expected::contains); + assertIterableEquals(unboxLong(expected), actual); + } + + @Test + public void testOfLong_Null() + { + EmptyIterable.OfLong iterable = EmptyIterable.ofLong(); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfLong(null, e -> true)); + assertThrows(NullPointerException.class, () -> new FilteringIterable.OfLong(iterable, null)); + } + } +} From 610bb12e8700667f02abf1b80c6877be7fb7d75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Fri, 27 Aug 2021 20:17:41 +0200 Subject: [PATCH 31/35] Test Range --- .../unit-tests/common/iterable/RangeTest.java | 390 ++++++++++++++++++ 1 file changed, 390 insertions(+) create mode 100644 prism/unit-tests/common/iterable/RangeTest.java diff --git a/prism/unit-tests/common/iterable/RangeTest.java b/prism/unit-tests/common/iterable/RangeTest.java new file mode 100644 index 0000000000..9645e757eb --- /dev/null +++ b/prism/unit-tests/common/iterable/RangeTest.java @@ -0,0 +1,390 @@ +package common.iterable; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.ArrayList; +import java.util.List; +import java.util.PrimitiveIterator; +import java.util.function.Supplier; +import java.util.stream.Stream; + +import static common.iterable.PrimitiveReducibleTest.*; +import static org.junit.jupiter.api.Assertions.*; + +class RangeTest implements FunctionalPrimitiveIterableTest.OfInt +{ + static Range asRange(Arguments args) + { + Object[] params = args.get(); + return new Range((Integer) params[0], (Integer) params[1], (Integer) params[2]); + } + + static Stream getEmptyRangeArguments() + { + return Stream.of(Arguments.of(0, 0, 1), + Arguments.of(0, 0, -1), + Arguments.of(Integer.MAX_VALUE, Integer.MAX_VALUE, 1), + Arguments.of(Integer.MIN_VALUE, Integer.MIN_VALUE, -1)); + } + + static Stream getSingletonRangeArguments() + { + return Stream.of(Arguments.of(0, 1, 1), + Arguments.of(0, -1, -1), + Arguments.of(Integer.MAX_VALUE-1, Integer.MAX_VALUE, 1), + Arguments.of(Integer.MIN_VALUE+1, Integer.MIN_VALUE, -1)); + } + + static Stream getMultitonRangeArguments() + { + return Stream.of(Arguments.of(0, 10, 1), + Arguments.of(0, -10, -1), + Arguments.of(-10, 10, 3), + Arguments.of(10, -10, -3), + Arguments.of(Integer.MIN_VALUE, Integer.MIN_VALUE+20, 7), + Arguments.of(Integer.MAX_VALUE, Integer.MAX_VALUE-20, -7)); + } + + @Override + public Range getReducible(int[] arguments) + { + throw new RuntimeException("Should not be called"); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return getEmptyRangeArguments().map(args -> () -> asRange(args)); + } + + @Override + public Stream> getSingletonReducibles() + { + return getSingletonRangeArguments().map(args -> () -> asRange(args)); + } + + @Override + public Stream> getMultitonReducibles() + { + return getMultitonRangeArguments().map(args -> () -> asRange(args)); + } + + @Override + public Iterable getExcluded(Range range) + { + List excluded = new ArrayList<>(); + excluded.addAll(getUniqueObjects()); + // add lower and upper bounds + range.min().ifPresent(min -> { + if (min > Integer.MIN_VALUE) { + excluded.add(min - 1); + excluded.add(Integer.MIN_VALUE); + } + }); + range.max().ifPresent(max -> { + if (max < Integer.MAX_VALUE) { + excluded.add(max + 1); + excluded.add(Integer.MAX_VALUE); + } + }); + // add ints between first and last that are no steps + if (range.isAscending()) { + for (int i = range.first; i <= range.last; i++) { + if ((i - range.first) % range.step != 0) { + excluded.add((Integer) i); + } + } + } else { + for (int i = range.first; i >= range.last; i--) { + if ((i - range.first) % range.step != 0) { + excluded.add((Integer) i); + } + } + } + return excluded; + } + + public static void assertEqualsClosedForLoop(int start, int stop, int step, Range actual) + { + assertEqualsClosedForLoop(start, stop, step, actual.iterator()); + } + + public static void assertEqualsOpenForLoop(int start, int stop, int step, Range actual) + { + assertEqualsOpenForLoop(start, stop, step, actual.iterator()); + } + + public static void assertEqualsClosedForLoop(int start, int stop, int step, PrimitiveIterator.OfInt actual) + { + if (step > 0) { + // closed ascending loop: <= + for (int i = start; i <= stop; i = Math.addExact(i, step)) { + assertEquals(i, actual.nextInt()); + } + } else if (step < 0) { + // open descending loop: >= + for (int i = start; i >= stop; i = Math.addExact(i, step)) { + assertEquals(i, actual.nextInt()); + } + } else { + fail("expected step != 0"); + } + assertFalse(actual.hasNext(), "Expected exhausted iterator"); + } + + public static void assertEqualsOpenForLoop(int start, int stop, int step, PrimitiveIterator.OfInt actual) + { + if (step > 0) { + // open ascending loop: < + for (int i = start; i < stop; i = Math.addExact(i, step)) { + assertEquals(i, actual.nextInt()); + } + } else if (step < 0) { + // open descending loop: > + for (int i = start; i > stop; i = Math.addExact(i, step)) { + assertEquals(i, actual.nextInt()); + } + } else { + fail("expected step != 0"); + } + assertFalse(actual.hasNext(), "Expected exhausted iterator"); + } + + /** + * Test method for {@link common.iterable.Range#closed(int)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testClosedInt(int start, int stop, int step) + { + if (step > 0 && start == 0) { + // range with positive step width starting at 0 + // adjust stop to maybe be included + int closed = (step > 0) ? stop - 1 : stop + 1; + Range actual = Range.closed(closed); + assertEqualsClosedForLoop(0, closed, 1, actual); + } + } + + /** + * Test method for {@link common.iterable.Range#closed(int, int)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testClosedIntInt(int start, int stop, int step) + { + if (step > 0) { + // range with positive step width + // adjust stop to maybe be included + int closed = (step > 0) ? stop - 1 : stop + 1; + Range actual = Range.closed(start, closed); + assertEqualsClosedForLoop(start, closed, 1, actual); + } + } + + /** + * Test method for {@link common.iterable.Range#closed(int, int, int)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testClosedIntIntInt(int start, int stop, int step) + { + // adjust stop to maybe be included + int closed = (step > 0) ? stop - 1 : stop + 1; + Range actual = Range.closed(start, closed, step); + assertEqualsClosedForLoop(start, closed, step, actual); + } + + /** + * Test method for {@link common.iterable.Range#Range(int)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testRangeInt(int start, int stop, int step) + { + if (step > 0 && start == 0) { + // range with positive step width starting at 0 + Range actual = new Range(stop); + assertEqualsOpenForLoop(0, stop, 1, actual); + } + } + + /** + * Test method for {@link common.iterable.Range#Range(int, int)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testRangeIntInt(int start, int stop, int step) + { + if (step > 0) { + // range with positive step width + Range actual = new Range(start, stop); + assertEqualsOpenForLoop(start, stop, 1, actual); + } + } + + /** + * Test method for {@link common.iterable.Range#Range(int, int, int, boolean)}. + */ + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments", "getSingletonRangeArguments", "getMultitonRangeArguments"}) + void testRangeIntIntInt(int start, int stop, int step) + { + Range actual = new Range(start, stop, step); + assertEqualsOpenForLoop(start, stop, step, actual); + } + + @Test + void testRangeStepZero() + { + assertThrows(IllegalArgumentException.class, () -> new Range(1, 2, 0)); + } + + @ParameterizedTest + @MethodSource("getReducibles") + void testIsAscending(Supplier supplier) + { + Range range = supplier.get(); + if (range.isEmpty() || range.isSingleton()) { + assertTrue(range.isAscending()); + } else if (range.step > 0) { + assertTrue(range.isAscending()); + } else if(range.step < 0) { + assertFalse(range.isAscending()); + } else { + fail("expected step != 0"); + } + } + + @ParameterizedTest + @MethodSource("getReducibles") + void testIsSingleton(Supplier supplier) + { + Range range = supplier.get(); + assertTrue(range.count() !=1 ^ range.isSingleton()); + } + + @ParameterizedTest + @MethodSource("getReducibles") + void testReversed(Supplier supplier) + { + Range range = supplier.get(); + if (range.first == Integer.MIN_VALUE && !range.isEmpty()) { + // reverse() at min value throws + assertThrows(ArithmeticException.class, range::reversed); + } else if (range.first == Integer.MAX_VALUE && !range.isEmpty()) { + // reverse() at min value throws + assertThrows(ArithmeticException.class, range::reversed); + } else { + assertEqualsClosedForLoop(range.last, range.first, -range.step, range.reversed()); + } + } + + /** + * Test method for {@link common.iterable.Range#toString()}. + */ + @ParameterizedTest + @MethodSource("getReducibles") + void testToString(Supplier supplier) + { + Range range = supplier.get(); + String expected = "Range.closed(" + range.first + ", " + range.last + ", " + range.step + ")"; + String actual = range.toString(); + assertEquals(expected, actual); + } + + @Test + void testEqualsAndHash() + { + Range range = Range.closed(-2, 4, 3); // {-2, 1, 4} + + // equal to itself + assertEquals(range, range); + + // equal to a clone + Range clone = Range.closed(-2, 4, 3); + assertEquals(range, clone); + assertEquals(range.hashCode(), clone.hashCode()); + + // not equal to null or other type + assertFalse(range.equals(null)); + assertFalse(range.equals("no")); + + // not equal to an arbitrary range + Range otherStart = Range.closed(-5, 4, 3); // {-5, -2, 1, 4} + assertNotEquals(otherStart, range); + Range otherStop = Range.closed(-2, 7, 3); // {-2, 1, 4, 7} + assertNotEquals(otherStop, range); + Range otherStep = Range.closed(-2, 4, 2); // {-2, 0, 2, 4} + assertNotEquals(otherStep, range); + } + + @ParameterizedTest + @MethodSource({"getEmptyRangeArguments"}) + void testEqualsAndHashEmpty(int start, int stop, int step) + { + Range expected = new Range(0); + Range actual = new Range(start, stop, step); + assertEquals(expected, actual); + assertEquals(expected.hashCode(), actual.hashCode()); + } + + @ParameterizedTest + @MethodSource({"getSingletonRangeArguments"}) + void testEqualsAndHashSingleton(int start, int stop, int step) + { + Range expected = new Range(start, stop, step > 0 ? 1 : -1); + Range actual = new Range(start, stop, step); + assertEquals(expected, actual); + assertEquals(expected.hashCode(), actual.hashCode()); + } + + + + @Nested + @TestInstance(Lifecycle.PER_CLASS) + class RangeIteratorTest implements FunctionalPrimitiveIteratorTest.OfInt + { + @Override + public Range.RangeIterator getReducible(int[] arguments) + { + throw new RuntimeException("Should not be called"); + } + + @Override + public Stream> getDuplicatesReducibles() + { + return Stream.empty(); + } + + @Override + public Stream> getEmptyReducibles() + { + return getEmptyRangeArguments().map(args -> () -> asRange(args).iterator()); + } + + @Override + public Stream> getSingletonReducibles() + { + return getSingletonRangeArguments().map(args -> () -> asRange(args).iterator()); + } + + @Override + public Stream> getMultitonReducibles() + { + return getMultitonRangeArguments().map(args -> () -> asRange(args).iterator()); + } + } +} From 2ee47b1b1e3f683a892efbdf090786abcfcbc579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 31 Aug 2021 10:54:18 +0200 Subject: [PATCH 32/35] Add JUnit platform to libs --- ...unit-platform-console-standalone-1.7.2.jar | Bin 0 -> 2317414 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 prism/lib/junit-platform-console-standalone-1.7.2.jar diff --git a/prism/lib/junit-platform-console-standalone-1.7.2.jar b/prism/lib/junit-platform-console-standalone-1.7.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..f37056501f4ff5c4cab960b9bf06bddad14b4afa GIT binary patch literal 2317414 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 z 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%0D_1sN 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%0DnSF1#DtjgUs(U?DmtGow3WVX+K7;SSz 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

    XI(Ysv7*D|`_ZQ?)B90$4wn4Gsb_vQ_I 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⋙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%0AQp?*C3RpdyOjxLOTt`Jau9Eg1m1&wLa>^Y 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

    O)9SPAN|@6($IoiyGSIKE##b~WVO6S zMt4d)lNrClId5>x!_?npNyxyAe6?Sd2@~6MtH5Oqk%--i(ah>qOul*E1nYZZ)mKn@ zV$JmssgC-6ORf&29|gLJct{-e8}%CNI4mOr@QcgkTN83z&!K0({jMcsr(MF`B7x@p z#uRKwq%bD?zW41$@7w1sBJPZ=Mjv0_u$=W9eQU;e!CDW|wnSHTz9XdW#9DidHnxrc zJ7whd@2D!0QF^9k0;mn;?L>#Zv-UMtWI@1l4}_q+ z4WtfH{vW(O&crIabZZ6@Admzj75l<`)?g1JfFV&DxEd4QA4%dV?L++V5mfJBtIBD)O5+o1x}UAJln@pr zw_AA2GW~$cs0GQyGRA5`Zqg-a`)r(Gin<}}WPaQN!_2mm^niGN2lHBF6saj`$C;`v z2;GoL3%M5{7AIB1Q(}0HQtrg5ao-NIiRP;eo zo9zb|Pd_$9Kl-gCWepP~R|1nH;U_QwHBu(}i2M{4)deE_hg?84l|N@-*9d+Xp+1~G$vW?h4un}xdlF02D*??J8r$lRyIqD9UBizUQcXJu2ST%9*w0p zNVmoOs-zw8tpIi;z{q_AItdhBbPZahe_Od8vHHl1I2M>IDh^c9iquq89-NPO{UPC0 z|2}4hGyn$NX%Dwx4&j6shDet*UHbHfUZc0Ct+Z*@az*UzCj^}i%^cz|C(E<>TH%UM#ij?q8Di0OX_;5$K$)Mncq-ztu5X16R2HI2E;LLM@1+h0JD_eW0O8JoAEr$xd!sj8M8>W- z=q*)%8731yMfbns_P+ywVh7$C5_i;a^xZBPLdGUy?ob5QnteMjZA|&PIQz9l%+8*w zf!Oy(jk(a4`Hs8xVyPWIGkdde*qU>s!i%7d!k=Z2+AaUUQuBwoE)68s@m<`QBXCPU z^Dq5djWzOk(;gZ)YgJh2fXta4Ff}mi48YEa6+h%C*m4@|eE|3{4N@Dc1NODNc@KXi z_DXO9xE54VvWeD$o5K5lz70VG<^~z&T7QZsXjt^d8k>zpOeUB{V3BBRO3nHXk+(0R z)3$W(qg&$yRfSu*nnqRX4kjgWMdRWO8t7VA4wTIs$WlgJ5!89|+X_H|T&M?l%)?$HAt;+F%;)XQzf;htA zTb1R_;F;vexg))kq)^AA}Jn4$^Q48Rwy(d==V z8z}i;Ga`;0X(0_@Y_LsiG;h$ZhwNR2JL(dez#;y{l8%+2+n;0@b4&hS5_=>B?i{Y{hMop$ETbO?v3>g^fpYnx8>jmU z2J$TRiuRG7`UUwb^jDfoO<#}4nae9ur_rJjq*(?9RZ3bh+?;7j%08tmG~ktH_~4!@KZ?Y-!;0kZ^b3 z{3SD_aZ%TcZ00%j=6&4O>GcvAi9FZ6rFCB#&rWi_WCR4dl;-LG+LyTQBOT!vmAqVk zZtZm4Y`<@RT=cYjf$YM6VN0=9%V=_kDf1JIIPjAhDSOk)xT|~rQtv<6cSoE+tscpf z)eILK_=%5i>QxH@ct+Myh*JH7ujIU!~()@0t=M9yJ;wI*X zJ#9+wCD5fsOze5=lDc7OTa6~}nar0_b)q++X#U7iePscedwd=t5qrjyx z@|t1#pgeH90^LBDzNXr;)R>=fapoZAl9gXf_^VtvBj~ub$Y=H_=7NE3Q=_)SxtL%*cD0hd~fVdAJe1_O!8kaer*_^}n_%4Xxu zdYmvnxi_I+A-7ulrgF@ngxUu6RBk1rgf#iEX!_P)3r^HJJ$QiVL9-70zA#7rdM#;% zw(3G-P`zn{y~^@Yr$h+UPdZk9?IUHoA$c4&0c~7QeRecu8!PQ8sCQlsf{f2^OD|21Vpqi)~fw>%-HXRkltW%F&iJkB2l1hs`4i zDyIgBWr63XsTWLkrHrQE8LPC~vP^lumS=u{j4{<*w)aPe7OORMWNsf)nMR6?V?0z; zt=sNolUD~Zv3#&~vftQV+$am%srZicCjdzY^viYJU-+>EVWV&VsQ3}B6YSn0RNI7m zW*;nW2W}^^E^dyOue<2XRZC$jhQi*gwN{6gg|DE%7eST<1F8b5?qKv9tEOwwoP=Mg z#QMbGM=E0VIBH7dLd&9kuChfBH) zX)X!3B;twJ^80{mTWYe0Mqbl|l(IVjO$3+*<1|C8xn#py4#+vrk$Ae^S`mNzEeB4` z-UVtm$wB7+Cj(B+!3OE-PW+wT-qhIl5J2aoqww&{txpI*L3v|>SVFB?t*}?dS3RiF zX0l#4wB1HfI(C`bcQ%A*{zA&;wJz$fI-J!vBzIvD0mg3h6#{7aA%~;1&w_I@bin2w zwRhLi70n{=&1xz`^>tkj2%DPG*Xm||e}vyE88$mPF)vB2(KC|X$rlNs+)A&L)rdD4 zn+?FiTFEDDzi7I)RCLa(a^k8uxrfYEcG{m$y)5$^ZEv=%Rw-%iQ70miUuhpai(2L| z@YG<$C@JX2NX8e+tPJ_Z*}(NXL{!E(=rp23O5QC3#NxhT?9PsWqkqppJ7wP;&F)Hs zA;SP!2xhw*0W>|PJfl=2r0=a|zA51BO4~E5xjwG&Di18zn6w@2DIK7voIAz$E**QH zk6IM^E0EziFfR#wy@vcld)V$aCyGazR%7TOqBIrFRLI$BV}1WDYNbL(OHYNPJcS^_ zsrrLr?*%<9%G3tq9{x`?y!f}>jcnB^wR26q?!)g-`pZAiOD47$-Y73Fo>gmNDnjCm z6-BtpgqX9|Q-z#?i>U*|!Cg4}HNn2V^YIcwQcANcC1+EoKEzKXs|FUceuGD!QiOd*6t{Dcap z5=2!msk=k#-?|nEqeWOB>`T+ZZpd(rfj8At{Gvv;Q}W0Kap5JX34fV5HOYMu?t@@- zpB-l7tLD(}bIg~4IZ$e==GV}Cj4^57-Z`XmcDA~>P5Y zS?1qCv>UkQo=L9XrLCO@*}T&@G2F8jX9@_!k|@kABXdikO}VPx@-Kl+P935&%OR%% zmpuK7P@6f#wkKk36cL+!0m+S0oQ>A?pS`|=Q zWcHsIM@}TU2K_d2Eo88HGR`l0!Us-BrEK%6*yi2fazVc$-tlJ7mi&~cMeJsuC?um* zofj1W0<7lVQ9lIm5za-T!22NWoaZK{vD+NO@x$F!F*5ErpgJzdOv?2J=)#L3y96>4wBG&461Y+hr5SL zrFxKwwD=e4@V7@}IP=Lm^YORS$7K|#SqmY>`n$B@V8=}{1m{yXTBJl zG1;70g`_<_Vdk6<-`RI_Ph}l|-A^j{b7C|ABe_vLhnV#*<;-hizP%OHw{IO7|E{e6 zPl+D?s^+3bPNsnWx~t~ltuli0HQfAReP#p)0_lXyES|#Lp9R9_$KuLdhfs$A4lP4C z-|#7{;VisKHnqe#wN|9C@pnDSF3^#{97{Vr%5JdRc<#LT?6@s7HoWHmv=WZMMw$L} zw%ED39%rttrLQIDcCg+NMr7=;=< z2n;wDD|j-3AgU7^3M@Dw!D_&%KLA&Zm{Hkx(B>zk8<4`_w;e%qpNHtD62C}v^@dg2 zxU=*g4kq9CfG4|H)!@_TcoCzPn(xV<(~HKt+?X%+u^6h?(p97eQf&+ z?Z(1>0Y-A~upoX>BtepWetJgjUWE<5`Gh7Ik?lo7Hi;XMW8VKJ%l}S}{{llwws~_A zHy9msA4I6s2;StL#oTld=PLdH!9f|PXWTh*iewcIkf)NLA+)=<2B3Br&XrL?l7jSK z!e^vyV=aEdtilgJaNH}6)Qj{ zT9a>{GBTTJthTb2wLsxIE#eVaL3W6ZmB!DS(Aa)Sx6Yit*l>C29BQxvDWarX>uk9$ zR#9P2MWraOWkV3p>-4V-vA>o@xfpbR?kF7#x;%M<{!8VbY zD`5SwItygh5%opI6#1_F&BXF|=EhW&*;&&; zw7-~fxMEJXJoyu%e!G~pT9LvZj9IXw%DqCu3jl{cz#u!SnL;a)xa7toArX4|?6z{z z%U#E}^f*KhV@k2-0-|BRrr&8J)oqYM*Yx`zL9f0#RjAcMlj8Q_!-Wro? zQCPZYTUMeDRVvrY3ux|Y=zhq2wDr50Akgd(0+#GcqKWd~mx>-o^0p=O?IsOZC`KQ4! z=c!!Crz0%Va3V>ye2~vlns3n18J{tT^6IRhq7yu?dmISrF-F!*5lh!j7?p7#gbE(n z+<*g16UWkd^Dzve)B-IZ+n~!WcdRSA=xmY{5R-!y+$>G?dP_kIm2zC9PYB~9(*C4P zKPwy*&FZ&B{$;Wdbq{*;YgQg6FZS$DCoYjI+WxES06};4gSFKVO!w@w{1jDdZ632fscfmgd*;|846PZ~+oitWQRU5Fq zJ*Uj%;iE9L7f?B@3epNa5erB2WWd3WRDy|W=W1Et(B z#z*LeK)pgKj*V!Q42h_Rmxi5{n}!oqA0}77@33a4*>6~gnTl5?{qJ)Twh(_*cxI4) zeMed0s%I~Up*RS~mDF(hUIRlFC=wi@MoWT6bYEXijiJygJY>dRv8qr^+ng87%*Iw3 zige*`qwVdNDlDz6N;?43e3K$g-X|j!nc*6#k@BN0@$$owTSm(U>N&#A_Lj+@vZ2Dw8}-#?{9Ma-&if!%yomrcyS`+E=b$e8iqim&mpyK?`4d z<`YnsO}D|%B9o6n%P}jPtUmV>18?@Uhyxx_g$71jRrr9RT{919Y`3}$tjmP_i5ic~ z2E7EZP;U4o^C66I6P6LD3;*z58joFC7h}m`RPAKiBCBvq=j<K|r{ zv=3TJq?v`rAfuxUcC|mG!H0z%8?Rki-g|guG@DsChH$1tV9^`a)FDsdrKi|B`2rFf z>}v}(Upak@MJ)y;bZe4}W2ZqswmTFxD1)=EcTjpoDs$^;eNg@KQa0F~SAAQVPMhWj z4M{FQSA^Eff`>ja$DM)i@VH$$LPc3_eMnmy5Aw|8C=KO4;XKv{s+v?J9;Nm3BLb4qvIX8iCkPvpaLRFmhixhW z>=Sazp>0nm-xg4!P$b3^Zqp-r%Zww8uL{4I`i8roOoDFk-SIgRLW0PeFKYm1ViZ$^4SZ+8|Pv+k?qyXb=&-f8p8- zCh61Us`PAr#>sJ?(rwGVnvXXTMw#uX;|Uq7YU_AOj#yy2qQ_lTXsQzK z%95`@%IyhGRh(dVdF$=rtpSVjI3)70%#8Vd5e9+Lkk?Qb#x&mMd$|61s}6_jh;lLf zIY6x;Db=LOO(%wg*ONzF$7*WLe1YgYB>u$g=Gx+GIvRV?G^GZ=qvAe;#>qYTl4EM#TZqD_rd5dt3m37Py=~8o|%&llB8)^=X zvAs|V9N#dy+9VJ^Xvg@_1Xjev#3ad- zjVG>ekTXEWFa7lNAl{ntXidJ6Ump4syOz?xc#gqEp+z7D$14&dkwo?Bl7S~W-S0Qg z1$nubqVY4co0H3%JHuOD*v`O@6kstnwDu3g2J1aW#+wCu&(5Lkw*~%0Ebr@DuMB(> zc`Wm%80i>7C-rp(J!lg8;#Oo4RnI^;jr&UD9189^)tm(3dDdH}4+{Q{KE5CiJlW&z z=<##Zl@Aro??LbR8CMyk*0pLI{7;u5aQ-TqszD~K?$Ejo6oD1LJrHi5tk$4vOv>?U zLG4CYc@Zq5{;?{Dl*8*lG#sdD%w(DLLsHpJg7KO3{WY|8N@x{aI8@S2YWC||8-LC{ zl>V@v;tVd%M6}OtNU!qhGTq{sR9YR|yAuo^nm7;r?nOU=kYY|BHxP7Aj~YH^d}l#h z>wckR6ka>Ek3c~hl+|JleT~o@s;n_(1YCE`SP5b{WH5t+F@xOzlr;rB{DyN!5W3mj z#?#uoaHp^{=4wwj-%4*@mX|jvU#XW)KG_^qrO@h=(wu;&>`yVfZ3}NptEkMg=m;o= z(*&C?Pk~%vGuabAe=4Fa7ve2$Iex#iz)n_Krs z!+ZDKe#`fHr&7l%zVHVkku8?CU!htYx3F6jYdtV_DPA$Rm|yKWBOCTi+k_*0_7E>j z#_bcgT)N$DxS_8;X;&UdU(qeL)xa)izvntV2)lSPBC}*7qY*wv9i=^!*Vd&MEq;@x zZa`Ca=*&Kq|Mn@6Mg|!&eEGPE$3l)dvvk5n}>dZ0ho2Ese#L3G4&*y`P5L&tO}etuuK`wbkmn zY`ZzY4&d+#sO>w@#7eH|n{n7w8X(K)(!x>4+E!(p*H!r3Ih5z{kgjDoT2?r$^9(J; z>kLzoRNVhP#JruI1?SL)u#y{sM6bs8)Q=Ot!y=_oC!do}3PTC2n=g3n>W9*{$>|I) z#58jT)vjo9=VTX!kvPmWA9zQJ7Z6)&{L65tC~DG~W6!=`;X>}r!6kMBWWf1m&4_zc z$J~GK1M$ZQGwNb-AjyOGSrI7bPqra@OLH8vuvGWB26rvSW&cBfuiCFtD|QgMjssY{ zEz-YQhX%lf$WS5pR3m!^j7y4bDtj!J#9NcrhAXJRZt$oGub3(=5BkEGcDs^C&U%Uh z?sO3=st>iOU9<5vy`#xiZEFA$_2hZn$K*!iD=Iy&cXf2`@{;n!zI(E&B=b5lh}h2! znoTYJ;-|Pk1hp-rem;m@lr8wuzdt{QpH6~iC1{_B# zNVkC>0$mJRE=2MCu^s2hYoWYD?mMk_>PYkHL z{D`jAl6^97`Ko*VZZ+LuDp*0aJDlqZY5&($77?xPV{ZSnD!l%WIqWEK*uubF7<9Fy z+JgSU@`#5t;;TS#dJNP2)mSiE>rIW_Qu{lef#mF)20g`Ey`Si_irhqGliBw^zHrSTSL%#Qkg=F$cn`FL1Ich#ZT z*B-%i+Y~TD3uMmU#lzUy=L5BK$aoez0a>~C^k~ad**cTZ6Bj+hrnQSk{}AS??>yiy zovr*+U6m9@Ouv@du2EE|Ggcw*mP+glCK)mVgqnEoh&TxN!X|E z6H%f;Ns$3ZW7G#_@f7*l4}#SsOzV^N`fSoI)#NMIuHY%=x+`DG6kD)6$$B{sz<>+D zT*j@MVr`ZU6nV{_Oskz?js0v|V+>g6ajp0n5nqCBbJ(Um(9jWc0xH1tW7g=4tq5f; zqF7O&Z&ZEx;D=YXV{)QAlxW4zVUzj{arjiP$wTjrCal+$3TrH~W|9n}9Y|CL%C_%f z9I8?-!Q%``^J(!nTzPX|QAG>xMCR2o2XfxAHKR+>7M@&XnkNo$b`tXho1g!jbGW6p z5BUCf0*)Hx-|gN4|4+NOik*w2iK&W{N8=@EBrG6-&0XZ=;cxFPkzpJDvVbEVMdn6gwM;@ z^_SV#o7)-EH}ks+c#L#z#_`smzx}pB2esjfR!S4BzZMZVm{eTgS7xa2WX627dntKQ z6mxzkFm3?yI219#7zdV}WEOufR{fDrZb}OIF?TSeeRsB)P=`(m%|~wF0kt$Uwreze z6w+4v7jrHFE;f##^s(6!k6wdwNzoD5jI%6`@pyX-(WxSHz7C1GMYjd7nSFXbOLC53 zn5kZ1DFe^KU%r6ARF{L#`ab9+!|8I+b-J+u#c%-5g8Au8o4!mY0!-L&J&wK7fnqo@ zd*D073_VnJN%XDZFvq>^DTccseX1T4v6r#LOcRbRkko{L(8BEo-hAGQcp`-mU2jHz z_>pYSa}|6Y+mmwO`YG-(&>(G(b0*cJk3J)qWeW~_UqXp#Z8P80ilwpg_eQ?$919oe ztnwD6k}2Q3Z~?p*@TcVR{FSBH4Kkw3BlD#~aqgI_*}xb3K%GK-DF~@lHR9j1e-#Jm z215|K^DZ}zD04Z%oBw&MKkt-U=w?zc2D-BG>4w>TscS)=beghZfkq!aAq#nRo9!-C zj($wgM~ayy%qlw%Oy5yK$iU4chgcY{8t*YEvOu!{R8A#+CNF^)e=TWs)XdtB=rEzw0u5uLx4l zgJjd~5-CS$$!nKL-qZcuXP58Uop!L(@96FvcZ$TK4(kq5Lidi)50URMAdy6omDny) z1O0(OcnUnKs8*TNVQ{q#6VpNZunig0{t|E6I?{;LVNh|g8)>2R=cEvQ!@)QSgf^DU zJvc|_m;mFLZ(vkz0h*6tg;e7j(X=)zls7UnGuTWX6s<6WB}&7iYH`Y{vt%h9arT>X zuK0Mep#|1A>tMSkxyRLHtWFZCFeMiFaO^H5vI>r1;k`F{(vpQRosp8T-&eTGsq4~) zD2lWehF90hU&qVvsb>MWGcq<4badO_)vfitIAGAajkyy%Q`)V!c9#~k=wkTB!uozH zK`$Aod^|d)^9}#}c1~fU$AzlSZ%>9A_*|LMIuKcaHrm_KSPUR27=QY0xK;5g&S3I$ zd-QX|HKH$|!x^X4RopgC!=><5vwwc?8yP z_9DKJq0bm;`-{~oH2hqqhbsa}+LjarJHe^*l;n~Z!l6s7kb{{cq=CJv-=~qxl1Qgk zH5h*lC5~O!Ir754keSR1I_2r2%_N;vPE=}lXz8getgDfcNF@qUS%{+*GY%eq@Tp;Z zg(g9_{xGjMLWzD!P{@X}(Dz$x6Zh5}L|mVcTcueZ&s|L}{Jf@Uq`#5!mD>MO>9ltQ z89OAzRh(<^>nhZXTy-N^#w+~1C6Yy3%`4(Vzj?>3mhC^(JdW6fxOuE_MJ%pN|k8p1g1PTuQa;+I~h0y>U=l6 zOI#66b!b8;gnA-&OeJXbl=)4Dce4iAf;0$Jp(?`{cF@y;DprK~Q(1eZn@gWOdjvm<`)9;VxA6kLJA8B=O z&Jpof&;8?qZGPUoFl^UJnLl)f?iDmJLnb>{aSD(-rk|t0@(4`*t(L>wnyv)U)!}+D zfzOtiaMrbLf7rYg=j$FtCR|b25|}a^UP#GSqW5~tpvK+QYrGT{P4n1759d+o*$*$< z)J$F~>LW0(l(k%=JFl*t;LR{)JpVn2)@MEc>%sc^JcWmodj?rno2PF!n{p4Qrk41U z-heqM$kuW*?WCD;M=p`XO~wtI(C(Uv3V&)jvf7l&Ea)I23yE27pdlG!KW~d}sGqqu zIShwaw|)=LWK~7#TV1)@$gsV!R~GZ54Wf6GCZexF)yiG|0;;CuOy=g3HELUZ)uRmG z#!OxUmTk%j1;brmZ{x|iBq^D$Xo>v*w0g(Ia*Rz5j-9_AW!z-cn4i*O`&#+FuV@A< z$AIH0F<{~hJ*dhpajfxL+WiH+jbT#Q!sLNDYkU6sVTrPh%+V#2$r^5iO*bURvt+NA zW?$I0ADw?ENt1%^Y^GaXCI4V-sWfx}YFFN_gj60ft*1;9Ti539#5>55@8MXO zkSu54Gd@J-)_62C^X(VDBS z2(G@0;mp|?ZH;2XQ~f@(5njxKRU)wEiIyh&9%nhIlFFw~vh*mz$nnHm<+DMKzL{RN zYPF=_B$db1-8pkCkB#`}sTsHD2~7dn<#OG0Tqj(a2{wAuTyDcq7p2DQ!*iT92ww%J<3HIq%lXGRD zd?I6l9k^2_?Pu}U74f&%2w&p5$ftI43Ahb8Lc&6&)?qHN26$kO# z$06IOQEd|;LLtp6gF0b`tVyDRWZ>RpknR=!Wtpsq`f*6>JoSSbaY#q|woAu#+`d#8 z-xgiv6W!*gmN}Q_d)HkbyQIduKPpwSmF04C^*Im8gpSpL=^;YX*uBZdQgOW=T*RIM zL*~pM(~H+XR^V=0k@ZS;?U`J;79m^*(Z@HqN-dUy*Zken3KF8rvAVYX%-V~byoT?Y zn|!dgrLSJBIk@Go|8z)X!QjCkqyE{v^r@A!$JS%+{;&TaHfa&XHD?Yjv0Kb2-( z0AdRqMte4MXmjGY%Ide`9<2lxJZ4VwTt{_K|!33`1fso>n}Y zQf^}C-%Md{2D%=-g}Sc#p=vXSq3%R*i3-v&Jdx%aoGjb{fJe;LQ-#ZR5i}bBXjmNf zEwn2Bz$ZH{Y|vaRNH39q-vHoy459dD>h&P;Sd&rO@J~~lpk+xPXsKE$R{@G|yfU&? zUON&SNBJ$t?crNz`5Zx^JN}@R`980n5QZcq-T3QWN*0Fc)mz;XKwlWgj!-J3eHne^Lbtb z0v)%Dr%yVoWd6b4hENph@(B&(&-?U<#1i(?%2_94zg2@fz`);?`6Z{J!jh5piil?K zU|&UGZ98GTiCrR!6c^^MnWlX7ooBaZ0b+fo{)$iwcQD!K^_$AP>T^ZqetW;D*q``p z`Re9<6Z<-a@lJbINpsc8IP3@1p)I8O&!fekbb&i3&`aa#i49z=&eX<$4W35B0&8!q zI%zxfd=>X%a~@$}QDkXyNiKz%rY7e$I(rvhsRfUB4_Ys05{e_1@DW6Ov-IvGLp>`L=~Y%y++___u{zJ=;;-{!saY&nO?m@ww2w)Rd1 zU(U9UDhRr^Yc8x(Oc`@^v<*)2D%m^Hq+04;1IxUVGM%5@!#pA~pC44)3KH}H*B(p>bu>syqf0fnoXF-WFp?y5z_7+a8x@xB!|MbL9RR6zzB>#u;(yY zfAl|tw`HB~CvJMP=I-x9*y@i)il?h=8P={2x!9g68}uW1XAH}UUo0Hes~$*lWlvAA z+d8U{F)`(1wc#x9V$_1bunjkwnUb#`^l+mf4m(^S6}0TYzkm+_cQ%b7QSS`NFYVMBOiZ9J zIi)z$=OQXWnFsfq4V6~Is0t_-j-=9j#4;2L)v5l_vTfs?l`DBQcpeP7EBAnpFEqe8Zg&xMnO#4V|BKYVn@JDEYvq#ik?_}huk&DNypF1Mi7Z(G-_{W zjaK;=-lWZ{8TyaOk)h8fhtHu?De5HGDi zxmIdSH9nT%TPwFaHDB)znf$Ny`ag3 zb^{eQn9do<3zoWib}W_%M*Wpcixs|6hJ_V*Y}ILuA@_>faUz1X3P;7sRA8)8TWcGI zey-SqWX*mv(>v*iddui${te$+tKL_us*A6f%PQ!O^X8HUR`nPNLmBdXy| z1d}jh%1Rk>)A{Xl__t)VtnOp}`ZTrBxga%g_*84V&7e6G^1E&|Jz z(b$19Rk42DL+kM(M`1MSQca;5<0U{#Vw4cF42@wV0LfUu6qm?9y$chiMUuW_5m+rl zniEua4~poZF(NRR^0O1r9lx248H>Sr%fJdew`HImsOd7Lok5hftQr`(X&%oEBXt^3 z?Q9c4qC#;p>El0KGAx;A2CGvgVJky%fJn=Xo#SOy(zQrSb(1wTfF93T`gS561V(+Z ziC9onI$JcFLIMBGvnSszm9W4*rBE`GT3NKjtXNX$zQtBxjuGG*s?x_Wshx-y&|+LC zNt~duUjK9hQ~weyZGZ5@{zjGGXt2 zJO^SN`1`Lo1DXg>J!1}>NbF!MDp7`-yb#1cP*{enBV(+zRZ(K?A~Hv{7VVY)q?QFi zRfkt>EpG1iw6!{tT77FMaP~S3`owrE^69nxGJ$QF5#n0*;zzDucHjN7!=*oaGk9sDNrD6(5aVYJ(#S;K-=3pKyY%AA zr9Y@{^#SD-9y7+thYu z?D~b`uSMs6?nACmU)w$PY8Ug6=kygb`~25egY8Vcqa^9I=lBZ{!&j|iyM9UcgVS<{ z7sS|DW{}H24LX$nm}!W& zNBzvV2S0O6sC*lD{zdWC7e+enPOgH>H#2YPf`E6p#RdkGz;eRS7z_k|4jIK#18Wjw zz&Gh;l~M*VH~%o0>v5heH~*CW`~${5ygHAzJU=qNui`%aWtz)3rtRthh`;<^{TwSd zAN|tSrBv>w@cGgOe5dkG-SrFWhT^O~9rd1l>NT6oKf1s6-u(qMw_m!RN%mL6UHSd< z%exG-v+N1ix4=ZTRsyV7OoF@_MDuJq6vgx(2Ty*qXfqBv;SWR3Z;+@S3c@#}CCYGT zlJVsP`wz_vcaN8ux$teNzpJ}-bdFs0TTo_YtHj=2m3Pw>z+)~jMR(LP<~W5-4C&ZT zDH}3*i7VJkISc3zGR#gkqlGZodsPV+KQVk4!JHl@C+sFE!Ol5j{Gzp~-7kW6(s{q* z`^*{sW>_1=W8znyQews*i1C_a(wN%^58BS{9lo6AoY`Z>@+QglX8Vuvr^iz!z_Cz+ z1kCGKPV_R|12Y- zR28lprVScJjfVl-1_89*-1z)8Ri#t@ywucdOcgCY%fP4)4y>jd>SO{@fBej8I!wlO z)zY6Tbx#IVfGDTA^@7$a( zQpTSY@JX6x3bsf`)@mHqAZ>Pn>L&a&_#Wd|mQ3yJHeHm=jARQp$!QD;mXrm4disms z65pGnkQ7aS7%t4VI+mqgS6~g=L(8eR&7eHTOU=%o#Pp=}Mj@wE^Fy5i<^CguXbVi0 zP-f!cVatS?ZcVTZ+-0ni!19R&IEl2Vd~XT#d_Cvg77qWoC$J-2TZM>W7CTHWXz5U+sdml$hTv^pY4% zmNK&}Xc^;#;eIl>#vFIk{#OuPxx9R17h78UZ4NRc6Q9BFsOE9Ag(C5W9o16^wJVO=BCrDqMg zTTX{aW?sp{#rlS$)(%t~*ad%GJ1-BaytahE;k9B)QZ31gnF-)SLNF zAK3Gb<#V%TSB~30U&-~m1AZCACLX7eYClbQn+N*%&U*#KH==A^U1jc>>+iy$OW@=4 zZDG;)gnPjriV~2z(ic*z5+klyvIVA1n(ww*q7rFK=tL{qQumvj7 zNvAX+I0%x(N1yl}`pv_e!{;FlAmI<;eC7l#RnoJ^}oe z$g{1HxNr$rxc6|ywsJ+Z^%S@_23>n)H(_*ezw%|6glg3E z!%I)r*7r$S76DRtvQEvi9)RApVGza9*3BZBEGH=65IcpWviVpSWQyo>impsPs7)Zw z+NNH2PQTEtn5=S%JxNkl`J}#dvfou3(xu&Ms%zJUf5`{RV#tQ9P21?pDf(^6U=OGE z8zpa3UnEiP3g=88z{V1lUv zwUrV(UATRrn#_ip^1=Q>Pmq$kq=`cDDD;8!x(x&Fegg2v@E6aXxXxe~WXdltxQ;Tc z)a0swE6-Fp3%48dG{ev15PWIKj{@MbI|rP?&EEm5Xr4WAnS1T*8rd)SRS{J!T^EiL zRJZ-~1c{v?3~LdJE^rDwxh=!gx5V!=^GNtRJa&Lxg4TM|<+fYX=~s3j#Q?RdCyN@_LFb;)4xH_ zW>wxIfL*Ol)F;kj;npS!7yAYce0C6Xi9n0>t)2&n#lyK}+7>@BGKh{E6uU6zP0XLF zd&})gm*-q*0_4--6o_(9s{UN^&WR?^vEUA!&ZRpk@}Ub%@-o6rsO1f?(M>s2MjaHH z^hxBa!-MimuV`nRffi>TUWvI4uGX^halVREgVIc~rDS08z?q4Xfyb5R349s-VtN76 zwBm<_O+GgAR=t9uC-FL;eX}kAS0PQM7!1oYQJx$&-TrY)VY&v;z#)MzD|IyKYlDNd zuX!`XV6@TeUtkw6^GBG><{nXRi;G*He&st&qes;Sk`*L^W-G`CXcg;$Fc(jx#S^p= zLd=s=+E=0%EhO^`K&uwgn?lp!lieIP)-X8iiWH&eGLo4Lt(YrrdF^0r~On zVAl7F$Vxcp4JXMGJ#pDT0Id8X)L`c^T|_)w&ix)f0kcWJPixSub9Bo&(Yi=hYCtR- z+dc4WjWSFcTeL{u&#B&J+-#j2*C5HN8RzOYq|cU9J)}=vuS;9cuFKgDHvQ%b%X>GQ zRcN96Y1J&vojrAUjv)HO=xo-z$EUIJ*#ho|fPlCAkVdbFI2)hA`}u zD3>y2ywg7L1^Y-J$0aNI18cNXcy+>WkvwP07oxFP352bV6~Bo`dqZTNnHI2JysE`; z!w2d(wB>uqAFdsG1wp4-xaLIbD~<=20d0&2O^m(ch6oe2Pfh1uz0ZSmsh~?7dJ&7? zIeW8c=Acx*Bi}D@nE-1z1g;oS^*XZC_%ldcs^we>YQiVHl(I|9`yKy=u1V*rF(Y zWrUg#TS;OirBo%TRuG|}g{@d63Q)ARSP8dAsQP5tk{Ij1%ie>){R8>M`zgZV@%X(z zWbtn7l#qT20nQ=LPHty*I_H~TZ_VcW4})zW2^*P+4OaRdkWOPsrX@~y$xskIuicypudGEFrX z^48SRgEGyX)wRsrNRBb;Cy{f)<2(`e=+fPQM8d9YNigazYo9RjbmGv3_ayuAmv>+K zp7$!4Gd1%y1l44&z1S*0)=%;D&;0)?^cZ-y(WRBhyWKwQ$G@XszOC^rrK&bk;z~Ye zv&&AyCQJ@~0mU zM{p%+D1vU|=PN7(gACUm-Ii759hF7MR8c6EnPWhusq&0NhXo=t+9{iK+`FYyPE>kC z@(3R`ns&zhH2$Oyt~E%@$-`1X)V#ZHMS-lTpfuDQ3XPDpq54$rpsFE#M7Q+G8)^@+ zeX0++edZi)h!Tx5KJ7=Pe`QOyDQ%;6RR;iZIk-V!jAeDO26vlI*C~OiRiik~5KnJb z(M}ALZcG4$`eeg@yfv`aUnOj$r3P6`Hw$5Im5mhi!nS03#BS+QOE)j;n0owpVxpS_ z)An$XOGSlMLOp}zd&ybOK?tZ>_fXiI98n6Hw_!UKAU^Fx6pb|G^NZ2w^%@lQsxiS; zsxQ>4Oy`z;n>Lk%31&>*Wh=a@dd3)1`R;8hkSl`QYQWSVKkcH|@>)c9nXVLXWW&2e z3Vtyp_T9P?Ka3i#L)@QqZW>OoLgRTVKyBF%r}bKJ99G6NVqPX2pUm_0I!ZlKR8*`F z=0O2(K~+)7*eI7Yih=ONTjxU1kxgx@`)6OS^W?a2;=$i*LH4cNn5jDEN`xI1d-kviWAtD*-B)@gSOB zV;;yOf!1S&&7Ck<1)EmAUqOR0MK9L{IEjU)fP8F zGt>1Q@Wz}Q0V2_kP`pQ|ghLi&*~A?LXu=@Y6u+(BF6VUv`Y`?z*Ga$zJYMtBD~P2G z_`WsrDo5Zep$7QP$|cj>9Ry>}aJi3X2iAeeg+ChG>E{ztF0n*mXqb+%ZNJY)kSl+S zkPo&<{LAp`UscQ~(z;0H2fzyl{eP>9{fE5xKhH4!Cs?}le}ScY+whdGpg~0!^5&}? z77E5B6liQ0*B3*mUjpUVt~T{}ud{l2AJAXaKWfOvFoxl8#WBs{E%+^oNV=KtWz6z2 zf6acqeI7v!V5vEGgl*6;QJ76;DLd#5yZ!_{H5MF{g^7lthdu75&K8))#|S*c8Xk8q zVtBUsU`GH4zx%G8iG_zZJq2P+bzOrTMJ!cbZ% z7{@frO6kMJb?H1`*Nx{1HQQg`&7;)`mCsocIqfONlXIAbB09M3svZcc+C6kact~j- z6&CLx#*A1g^tDiq&ARarJpVaU0@!xe6qoJMq&OV9a}6;~anNUsQ`M-84Zpo@xS9#f zW!>vXDDos98h2JfTG)4fe5Jf?Hly|bdr4Z{gbu~*3r zH}?tL$p*hXBrG+IRWg|J8&|2j`e&*5SmCW`75BNR)X!7RiM;Cc&000WZKXv!2tA*74b9wFl;$r*%) zEk)*}$CGmNy(oJR*s(-f#)5;P9Q#a(fRs9V@c)Qv#?20m zFn-{{yTJeMNmTl8d{6(&CsEkY#>U9d*!n+_pi2|~MS>11kLqqJDmWhuzWWyndaz+c z1Q7`-CensuOIM7d=1O4laLD~IypVx~lNShR>!j;2cGa#Xus%J=}pW@JO{F_30t1FN}( zxCa7t^9(UDGPUgB53=At(=wW#!M>SO3}eWpEvWaM7{B|jc4t*mwur6~>N?R7-{@?Z zUV_k86sV4a*VCJqo7W>36Qn|Or!Kx6TLlk1eHR;tR5uz*m4A_E1s zQk3$eXpN;Pm1#jO0|Mn`7p1W!k~6?2_kmj?xz0D8jp1DvCd%!U9Yp6j&e_)oKDK=A zozK&@eP!9+72h}9&!=qh*({R5_ut>&%gM>kbFaJg&exKkgV^CWfB~e3R@@^FZm1%T zaO~rM)#Xur(9Sk5t{mNX@UBp5+J)J@IxY9j@^Gmd7eE7|e>dQx->)Na(~Tl`a3*G( zZs&}^XJINtpS$es;kkLi2 z*PVv%s&>GwJ1aMLun!L6r4!ixrMy?TkA@DxBR%NeRRH75vtC}X2gES217+I_Dl3#0P3jXQVN-Q@IaHS25JAV{k@}-Zc=IjoLE; zS_SvaOII<*3-jT`{bL^LG63=mNY|^~2Ypr!Ah1*E?90;d_DYnJI7(CQh4GwfOT zq2gzIO!0x!4AI{;(Q_9d+MhORLE(v2SU!UW`|^E1&CbW&y3qZY}J1%iW|s;zHEb z-TQF+$O`IP6jYLdZb0V8_J;AEpR_>+}BrN7Q|IZje}{y zMUMwHQh^IM(jt+Jh6NGQLgwp6fMazjp)Y=G{oZQZ=fSXwSw!k*%YhchkPEdNyT4mt z3vKnKVGy47gkk8b2*ImKh(xK%8yJ{Cj}~tMfu4r(@t0&n>_Jl2x^>;4qo4F*vdp2N z-xM@a30dN--N-Y*LNm}oR2Ru|SWw?an}aE(z}A?;!B6K(29V0OfE4_zCg*Lq&^9oz zZ0TXa?Ufeqj`4=}F&n|=&w*c(sw}$fbsYSoWuhJ$n6}dT4Yb`~QJ{|3 zM|F0431R1Sh*#o5tlu*kqe)6&Eg0ENLC*=@&hUnYy1sCMrCjad=?RV0!-%%))Tt zAkWkHQM+BKE+w^O5zJx3!;VGbSF3Jj48aZ;iE8e6e^p#WOh%rGWVBkTkFlX%HsoAo zXm-M-1~wDuZ)IYaqH`%+cB3SoyMa!D1s zLkT>^L38*lP^9)eD>A`~tXU)OV08m+v3%3s-M)e&qq41F zDlg?~B#+195mKV07FPmfS98sY-y-+ zfa+F|7!b-dg2XbCX(AN4jX8>;G*Wmb5x%-2I1P;{&>*s$w9lT$HLciJP17h!T^@&^ z_2f6}WTn~`?O}*mj_Hrl>IO}f>h8+zLA#};NrW`*>uH>qrtz>&z1qr4UR)}m{Imye zC|-0yZ^S*^JnfyG0f#gb3%zhJw`9J#6m3A{b_TqYpXl&?v`NW|7MP`s2M4M0=aoGo zrqOE5u2R};i3v7@q-+;+QWEs?p9s+FmljXS2J^Y8YUMo757$=3S(-vMNP4I(cWHn{ z7$^!&z}P`pMXWS&AwY|Qu`tJ4#a9^?pU#bcu@KtN7u^-)by7#{Xyi0K0WaSqelE*o zf)m8|#j!sW$B9}p`wv07iv$T-P$fWyU_1SRq18R>Cp<6T1EPwiHy9U27_uxqj0Jr> zNCKqB^lug1Q_%09Oa8r;7b=Z_Hz8^bCy%KfnGru48ySFZ`!xCyEM{8#d%2&01+67* zdmCX^qj90xfpJJ0lzPo5SZ6b-lH|mz?J!I)0|INAB9foxyX4@Z5$b+&))eKBiWvsq7zdeT*OBJX46X zvkUYzgea5cOAJ^9E)b|G0G#5nEly(y|w-`kdRzbzSqg` zms%!+-&#t0r1e+a@knHfJ4r&WgyhV5r4X=a)y)|!sUnGur3t_yiEKakk9_{whui!) z!Tj*3OifKS(jolPdtY&ek5XbB{g3IpAVZs!3)6tn$(rz~0D-99-Ih-1)ht*B|2F##4Pk<}2ULy`Y1BR~_EJ1Vzyw4pZR- zajW=1>Z=_vJnn06^FYN{-f}$W?VnQG!42h7eZl_2q(S|jz0W^A0Pgv~=TIG8d)eq$ z`GD`MJH&qZF?{NaYp8Urae}U@KpcpaQ%!})hQ9A_b%t=6aa1XabSkSbuz(uMR!SL^ zSCDX3=M2pzRI4%yE-TpKik}iX$dRj68WlNE8YNMYMN?K)kXlAp8es|f?k2_)bWT!? zxTxZU(kBC$-L@A~GRIXP5;idB9%4w_9&0lr#c0ZT2#1<$)RLp>Y9lK*=NiEUa-$g< z4rcRcojDFoLr_CS>ST@&u&Nr>DdUt!9feL)UP9RPDto9d5S&&PDgIIyNv1-J2z@X} zRHiuvmsV+1Q3zb;+GQykl0Psn(RitXS{r<<;!vbf9+fQ8M5L|Kpp#P@h4KM4OcDjG ziBcA+rrH#tR%}b6#ZXhfIW%4^M2-<_eJ+i!#|5=ZQX=g+KcfV708rcGk97#lkfdEDWWzog=YR5^tzXK7A+2ly;ilc!SYI zR4M)SOLvpN=k1S|p@N?ApFigpxbLy@r@XCgH5ABYhWo!*qE`6qBt4ft5NFVrYJQaw zpRII$)H}*z%^PKsHI&R=p3Y}HGm}Xhgps-=f?5&60Z2P9W~GTCO?%`E?{6yKEYmfU z(Bx~kdi;8cK94&bWkXxi5UUAWkNkoyzzBQ zQgS0VN2nMRhn|ioAtj|wt8AKz(x(E&o=#fI$`jumQ7v@_wrYel*_DQgg$2DS}N#7Mv~8_@y=_RcndPB_C9U?1W|-_O;2&wekLTC(}4070{xV zjaZ~f2)M61EfTYV{4}r)9(u(QPl)@PPgc)B@(U;jRVRPn@i6Dj?oBT*gj4f7Z)*-8 zLkgS=2rcF#ZGi&HOOUMQPd6fEegtui{OR~8&*nLZ zAWc0&yaRX8Jjh))disclA(a=+Gsywd(%GEJ zBw6dyrBTe#gtVu$lREB<&**MD-2>dW;sMmU3&UPa%##FiaWlsxoR@!BLq(VfT|@TP zv%0^R8FD#LEfUu_iguc)nnI7qkGY~d#$0maZ*RU;pTned|84;DKorausenv^du=j-dr*4;%@(T8L)B$6yo8hYtFwy&xGpa z*(&%`P*L_sJ|0S`rW#3-O;z<8N`lw<`S7Yq3DN)6@8HkGxoaC8{;|mMGKV`7ZUUqj zLCJX%F(^aRTd?G_b^|VGZbdOE_}{|luJICB0hdLNyh`?Xhxo?%CU%_;ElV< zxbPeXgw zkFfl z<{ycr27YAP0u;9MNy~c%ZLc7 zZn^aD-pD_sL)G_HQT2k-RU5@~YKHU=JW;SBkPy4DmgmfYqUeq)x zA^ll;FD@!7rFW6bF8XXEsX^lk7wn@tqS|bA4{o1c7>0r;Ul#xhj2A_*AJ3Vc_eLZ% zDe8q#9u>qhy={F@mC;1tAv;OeNc$RXq848pIv?d~C(_VNQB@2w{F`WBNtbX%Pt(4w zk`zY35l&A{DIu7h=Yls7LNNf=2VlGRbpvkg-pKZaGG^1?D)@8j*_K|sPhQ>!M%#0e z`@Adr!RgAsP+6Q1Q#ZCfoMRh&cn)SfZv?; z=T_1ORqq1>G`X|-Bmg+y2;Uk4&GyC*h@Wgm-ZH*$Bz{0%R-e{bTcpV?lUMEl=QByX z(WnFn<NiJderb;GHmrR0sOR5MxWppuZ7+=~njW4H8 z<3(2qEoxfN_K#)wV?x#s6}&8gJTp7cw#wZ3yqWN{eJc26`^>VaO*GObvE^E43u6D} zl{fywE5drDcVdeX7}e??wCIbjVpmA7`jDS1jvEUuXxqjr<%knz6@Zu_aKw5qHgM4v zJ1{ba=ny+lqPTr8$pmnQ1k2YTj4uPkpDD-BGU&Fbiy#+7_~TohhcdJ%Z&b{!V>)Sv z;)B;GprSSa-3DMsGT~+!Mn51+8n@v%=5?9bu=#07W%Vy%Mr_GE zr*~mec>KxOFirfxwqkI7>eMTQ3~6z$;3-#jOiP@Mvr5Jzndc*z=bKdypniJWxCY2K z$Uwr4T5wje3ss!(I{bLNz>Z%4qCh`#XtO=6LBz}YVQfgX|Y?F|c)X-mXBO$|m+yVzR;ehX<+votb3&j`@}>OwD|xq zN^w8=y#4d14T?|2ea#J(nhg=lbbApl%O6&UG zgT{>1%7NcrfH(igK)@5g$NcS7r@|B2t86KdA}F3pfp%an)Q3c1_=Ga52S&k#zL}I) z$UHApJm%$wek-dn zX^C2J(U?BqCoNzbPn=s)CsacoSE>;twmoXFflZhrF$NH2%A$$x(l8pt0=PLl{go@Q zaL5X1i3v_s2viMOf}`7nTQ!zdsytzJ^p<^o%(}i}-B~m4x{+D(Ehp`?uVv&vXwe(C zM9z!&0LB!SSews+ddt~y;4gJM9T%JYemHfq2Ud-;(>^jhH%hISH8&w!zr|=cqH#FH z$q0oeA*P1N$TefoWUI2vy>)&meOTTgb8eQE&y|gPw3hsB^8)KBph+}3>(quA+s|yF zLp4nV5Z->Ecb+HyP>ZcvoF}oBR3#K17b&nUgjY&!2PtUU-F`(NX5j0En+h{%H*a<7 z8RQD^WiX&+bNosLX$>+vAu5v!T5+`>uPILhf+cc)kzW~D`7g-+wh9eQyc?UUIJ@JDa~}0X;bAv$MKdcWEs~#|;%<4&WcdzcTyKf#n zDBr3+c3Nv`Dfql=^|u64lA^j4{d{+NH>jz7E@EbdNihvE3w>Wy7`PlOY_Rp3kVCng zToO3Mh{Z}xvVg!FMrthzj;}Cv2IPx0s+H^IBrK>Bg%`v;(&hZtOX<9lB*Q;>o*LGZ zbl3+}PnJB>=!?+99BlGd3u+R_-!5fu z3YyB%p2RD%ruPc965P6cw!+``$-V9Z8xRlnyWn-#W88wtl4XHURa-8Fb49#HLg&sV zx=#>*J}Dp{7`)z5d3;|ihqDvX4pHd4EIB9qMq@Q2OH)Uxmpdiw|ssnzV8sp^QkM-GRIyBv&(_+IuqcD z%KO(HEN~#lM;_9w3mzdB@y-_HrnZDe4uPV&t-~62v;=*Vv+o7WwRRn-eUSNt_VGun z572AvZ~*s{^XG?szQ~B8(uLajpuPAr-phZuS8H>KNK~Mv8bx;~*wj`anGf4J!uj@z z_vrVaZ>J~*$`}%{31ZR>gg)RudpQ!@F?ng<$!u_A&kZ`qHu^2cpb8p~0>NPSHZuk( z8tdV>WAy62&>dZL%Tk~pjEdQ_>rr{%j6NTjirsvAqyoM!fgJ;TfaAUVYibPd$HQ!c z`7<@P_;<59vH!+wN5$0E!N$?P6@(17vyOx(`Td~?0d`etnY zpUyAb0pKr;LC_xM*or;ag@lM>E+B+G=z}o3>CKvydDsLeC(UkUre;&rkph) zjaXyOVR}CzwMiuXMwLG54pkN#XZG zRcz}hS=^bVHd2Wk2m%~sWX>(xitQM|Yj6 zOcG3qtu8Y=%UZ%!69WkwY}B{U^cFXwvQ%Vo=Qa|Ia;Xe=&)MTHg)^FIv}4~k8v;gQ6)4PRmgbco^0`#_2Z=gKsE#UQmAbjyevz^4q}qEff6$wnWrdd%Mmd-CX3xNS3-tea<6&Nk!lSW#;A zNVJnoz7<&FGIqvYeewRe8*`=b0K83spb4HOjohAJ2P*Z3nE6v+rz)X_ut@lXk%me}R2lPU0 zWVSX%X6f7SqJRv!B|duwn+QgH(7gbRiV|Z~0)rb$&meuE-Uf3uu6JgoMQy@_l?swp zoYtb-q_F(f3U%!Hp)K%6W+$J&%or3-J#9x%oFT9n_B zbvZ(RVho~c&Aed19I*~$_r_I^P?+2AV-cSG=GuK|P~0Z)naGyJ=aRTbV{G-r<0(rO zc^Z9Q_yQMtKj#oQn?rri-QCJCSHEMOcC+{9a+h#x2h{EW+w#zD!9iJGJWK&G8IZFT#S=E+(s-Vl1YMO-FQ1Q&yz0;p}3+S`Ty8w`1 zW6W!pU|TVIIJ+FX;+w=%StpyaDFl8{ccua15E|#$EoQ^4IwTWj$>>y+q*rG@P&A1vAByB6BBMvBaYOFQ4oidaQk5?Kw z=1hcUkgR&adtYNpZ>g+1LBhJ^zQar6(i6SqH#ppLFD9)XNqzaB$-DE~z3%7k8#?;$ zm-EecfVll$H6Kj)_I)xQByn^+)Y|%pc(idC7tmJ@6bHs1gAKgKA6rW_l++RElS(w>gE|x5tG0!~R zURiRJTWPLgva_z7emKnL+@TMedrUlUX)s#3r)q-@9$9nFJI^p%QsySo*^H3aJ-%_= zkzL>kDYVIAgNrv!|==Vhal05#oO7<_n)lHOKpia_#}#T><|iTBa|Y!<7d2K z?`sH>)R-jk$g^G6eaSZ#KKMI+>funt}VkR8gj|ET2CzQGW2r} zW>XmAI#OIBIBPk>&clNd?Pm+3U8=r3J+Ck02xT2fX~rWymmWIFsRO}O>EX7}Sx&z->% zbM#!3U;w=(!f@y<-iAQXy(yC7EJY0i{{~JQ|0b7mn?#q1xf^FTjUw|Hbm09VB2FHQ z5ot|Gh{c&t4V#K}V+*FlGGU2~s1hYaMCrwujT6cH+}3o6I7V{bi_(UWFj@;GD|?hKo%nV#ypR^K2hwW*Y0c(5^| z-*6OQA2w;BrbNw4v2$2N04(<=E^L?Q2&usLnP!gi*>r$iw47+Nk*_1$`;)|!hytqb z{5Q-@GBRwenM5!p3VDv)tzY<$ zG5N~7hN%3=17i%OJLiv}!p{y{Zxgy&6cE{V+9>_DBXwISznwU96`trb6rTD+c8|b= zbvOFURB-$1A%|e}C7m zDnosZFtjzV;10v88mslF4(4Op+4@9MxY$xpD+UU99)=t&J_se?b0u%EB9HX5XBQ3U zZc%@-B{;fwC8cBbWF>{$D$}JX5{QX-L8p{XF0?8|YO5$dlBrYoW)04Bi1*4y>45Ss@-kwBZW;yyAkfExY+8=L94<#&og83jU#euI?yY$|7H^@ zexs|PpmJB3|xVnTql{5>c5> zSNp)Vj{>SzVM0gg5slR7aS9G-q>9O!3}Zb-D-tZawscuj@owXqx!nz`>d)o$DSsrf zjk5tw3{uI3DcvuMYIoEeJxfq-=rH?fNM4m2L8@b%ereM%<5X~!5IQb$YVs^O*{UsB z;&%F4H*P9B#1@&&w#~hghWW369U%~KSc)|NC38m}oEo!q-VnP>+ubyAFgfbosWt~i zOcr6ErZ0Xas@)6~Mxqqj8$KV=b@{tPGL87KI3W=b!dC*g!4)H)NK)jA zUTd9HOUxm~QABziHIbH3quF*nSdKVqUQw&&wkypIY|AHY{D}c!dQ+UIf!rB%uI;2J zfu3soEENe9BSE1U;D{f)ARXQZWSk;4k`;U-#MvC8VFgJW9pT=xNbU+b6Rp5qSNufe zR?lP9a2gSOfQWdf09EL!q)gF8ztSAirYIDxBg!p&InSyCuOkXxs4D0_Jvt2H7o@>U zIrt0?fGYNUz)@RZ5!l;8MQmDrrs%Ox@CZ7-fI?iYTSG8@ViAXdms;T+q>8$15wOW8 zqCrg9?jEi|TbT#%Fid3E(;@UO68l6;sG`O+;84{oDRQe&lb8_hF-JH!NW`UXWNMWX zt3DDXjhbl_YZT))a!W8Kyd0842w9iN*AdivQy{tDgtbi~dGG1D3PN@=YMN2BYZ*s> z2-A0bNZ8dwU~VyH>w)xMOq(&*eiv%2>k(QNp|@w?`PPOJv?G1Z11k7Bap+ zv5NdcmG^@2kIGJR_p+(u2SS4S^Eaj-4Ge+;009BOBfBfOmnlvGOKKQYpebF&--F~|JvH~Y%g<~sb-p~wk^Lu-cIL_Fwgw; zhVv{h)7_u%FIPb8LmoE!el}F!Nf@xbx)Fb$ZX{vPkr;H}(dm}^&I{cxa{FHO(DNNI zyI+L9^6eFrpRmhUS;t2jw)5>)(IdCr2LwM_`W|Zf9x{rb{vduwBZR$rA)NpDiRpI@ z)Xy;gHt2S(=#gDd?;T&{3cr_PSiaZcaBuXFe}v^XrNu{j(0AR?_rAGa%F*{W2oatD zTcwFZ+GwU*V$zDKBD`NC?{uCM|(@OF2wZZEs* ziyd4N4{kV1VJ(89Q81t#v&9Hl7Ua{GF=I;Q=*;&P2`%>pup!X{V@6u5khY7;1U%^b zW;SA@OUa?KI1eWR2MSzfnLaX@Ynby!K;km+As!A(l3yN74Yc1bdNoGHgUam4a&OHP zq(oU8`0`@nl7C_`+shuG9GubmYY}Nvr>-R~KM{FNz_?tU8D@paO=(c#AF+W0bJgst zd!)%(mm}n!%nV~@wi7cm zGcz+YGqW8tGfy1D^X|U?zP|L|YDYb-mRjnTTDomhDI8d-)rJ>zED^|uc_6HsGd<5s3R+E%QEppHA7Z}Hh}q8fE|ppoHv6E zRnTzaMI<8eggT_r`;@ArCY!#(C|Y5McHHE_$m_Ill%2_slJqljWNvmc0vMiN7;1W= zxoN3BnYI-JPMJqKS^YAJ{AdL7`F(~BqDU4xVcP6zujMu|Crkj5NOJ&q;*)5ziT5KI z*>GhTs%*)Wf&1@O8S~Isd6&pBZjBkT?`7+{KVOZdm}N*R zrPj3JoN9`acs;A~toQ4^=qXNJOXR?&cP&SWygSyAjGdchG;q*TU=H(3DWd3&`Pb2d z2m!I$62ZFs6!C^L1SJPZM2KgwB$m?oa#gG{#0Z(zu*)1>L;ESh`%%-xNqs$#4yn>q zXm>@pIBbtaDF}#oT|3|PE;+0p98~b~R6`%e*YyFE>xdKycO+z0RO@R*lbOuO@js!- z0*Gf>jYTe3AvCV)>->`D;@HEC2&AbJy`~T>&9lOxwGS0|9|V7JdfOw7M~m$N*|eK1 zuv*m`HqBeKJm&t2Xb-_W)NPxPZlxfDs~A?NF|az;F3G8``0%@{_IoIY@$6L_q>~pn z%@^kv3E0hfoXD+lHm5;qSli8-|4Mbi(H6xS93!0Qw@$G}oj|n4R^=v7(0uW? zX*c(Gh!1q<{%JKCLDtdAbRQ)Xe$70y%$k0IE0@x2JOetk^=iabLTdc@Nfk*JwcJ#C z{0f)K%UaiZy8e~b!0<>>Jem8WS`hF1qNKd}SveIfZ@X?aDc>{Qk`-1W!G$XWZCsxq zY5#RhX(CDXtl6b*s+^ys0gWVz)pL$0R8_+|E3GUJ478hwL(Q|twB=ZMp#i)4{^3y{13z+g3s=s=*PWs%%d_%G&K*?e< zmn7a8&r=ST)3#9g+pJA~mr!ZqJYKbq$ZPd8qSw5L+1n7OD0zUsxZ^YFnxH4kZ$%J;u={I+cFn}|^tgRUJ5q;mn@ z8rDyNV13oI2QE2>BA=;#Y(5ZLE50xNg3yP>m|uL`Xd)fAQTc34lu_<+S8$!D8-@Hpi7||(jzeY2!eIM@1{Uki zy^VUm;|$j+&Exr(G?6HKv?6~=u`I55zLC7XbkYzSV{XTO`J9%35LOIE!^9}i%j}}2 zCMV^&W;f?fta3jh6duaOd7$4T!q~#`iB0M9kV3+GUS`zH483B$GP2&)JiGgHSrg0} z{Z3RntwTl-;2+vz%16sP_z%(9f!+!|hfb3rQ@MrDcx~y)fw@3}`xT?cA2YxE+@{e~ z{?7VA+iW6Wzv67h$ihg6iLQ+4ULgVGN%ibBfUW>VM)OCJ?v1cL#$rpT{~AxM;3`0D zXu*UOP(`PSI(xTOxR}8Jt3BGg*Vchj_LT|baW_tyMw)rI*e9D){$Zor9yn7S3+<{- zmW8>Yz63W1)M#r}~c?A`f9kHVhSQ?RU(!j2zCp0{BEzw$% z`#M(AC5t$NC_cs&EbVwCPKM#HP=yV`BhfvPgO0RGQH_4;3X<8z&R;2v3M(Vpx)pk| zon*Js+h_Y7x2ed$jH<>-g2~k4vd4{ zr4O%au73D9g@H$^n1=YgKA-5Bxho?(FPKLJl@;vx?Rd-S7e*m6m?jf1So?e%pPhE0 z9h|&>$Sh9odR?P(xZ|Pf4X()YoLIxumMrQD!nUvnEiC&yQ2+F4Oo-8DT26OSghzxs zz#^c9pg$=3c|3iUB|CkXjGE7)v$v9p9sF{F|HTJ&Hbyw&FLqL1FEaoL1*~|87PUCu z+0_q3MPdZUlK<^;GcS7bGx+1MaK^+2_yu)3yU3slqTD;yA_LSSb>K##ih$GXNU>nV zisK5dkgs6>tE)3g{m{+2haQg4cF=37YKa5X(>59FeQ*cSLY@7YY89gUGU(AVfL3!r zNu<$I;Sj#Me;JAZX@(h`+cQ0`nT<%uVDUaE&a|p4z3FQ$l?sC2Rruo63;I?NK_||~ z=KlFh;iJS+{gTf5i7<|OLj|G|jvsZ{EEdBdSeU<_}7_3v1BJUNKI(Mbr&yio^8_3>}N%2uv9JZaxqG`Ay;_d&Q@{- zrmFg2ma6#>87SU~Dd}|kOmT(y#NwXD-DG>LTD@n~3ETu#oUUaH-vFR^_U{IPGsHWS zBfsVPHg0*FG`R{&t*YZa-!@Fq%_wZek*g`b{Dd+=O=^*%9f-KCbkP{0#TW;Y`8R;D zh=k|^k3GjWgny3TVY(gipr9S%HaWq4+|j%C-%(pD+i$Qew^m2p-Se|Pe+NGyM$56! zH0Hg+J3Quytyena>_MBs+_^G-f>$bqCu{y@hlykwtqz}?M;=@G29@4siOV$vAGTs7 zdbkz5Pw_1)%vonTO8T};haynwTBiT7(vYsN*I3r`oz5XAO_1Ldpg+nipzS-cAslUNPomtlA)Mb< zwD%gonuVBnC{z>oMLHQpVCs{~aRM!J!b28Pa2|41?@3O$qfxW1-xDknhZ5VCy4LZF z?wHjR#eC>M6iHZCOGDg`=GeI8kE$P~lNzxC=&bE=gb6^en zK=K0;if}5+bT^2a$h6;DvmJTQ$d3a~>0+JiK=lCShS4@saH3cK!`A9?C1=zL8c#fp zQ)b1v?Vj%qsVlsrrsNfMDX?UY#S+Ho76FaQm6)F=75Frk1t{B#*-3J1v%1;Oz%Jc8| zICvc>8-?gsT?99;Fe>-K#(&Rd#2FdJH1UqFl->e!&QR=KZJ)@mAS+V&z7PKe&oV=p zwGQrY$%+rbo@^@?^iDJL4L3Y}dv8WqwlCLXg(6%m$`dM7W9Vkrs-XQeIlm9eE83v#;?e+K(bFw+4Y-wsIvs`rO$ z3mf|%y`x$qcl-3DqRv&Cyg$B3tFfp}ajseHz5#*Dck~17DFbON@~$=m__onss=I{V z1Y^;}B2FKq)=^svV|9{K`;)kR(6$8B1c|c+|74N!2em*dfUg5Z<2K?qSK{H;)Rz|Z z_iAysU4DytP7V7&E!Az@3cE8jhPH72OT&2Xt4XSR0ca;65(Zj&yqkUuaX;jl42;1+ z=c)_T)aqR{#-9PD@I@yCCDs_5@_yeY+!qbieOIe~e4kIUra2+ih1OHvM-Kd>SdX{p zsAEBM8ovO+{@jh~-XVkWm7V>Y+ZVST!M$9w3xnHQ5a++M&;64EF?rfjxX$J!t39fw zfSR{o|AC0y0QsTvP`-U*uG@Ba?62z=fDA3X9uh2B-nY|Q>c>s8sz+1}>sP5-+Q zqvPp=u}t{+;g%@dkRE3$^aBN%*|i9g4tGTq<)yu5h# zUUav59!JlQg3&h}@yz*S!{_a8?%xqY_e9==FT4=01*Z}?96$$yNc;{DuWPZ41^te9 zS8^j6dmRip^_>E4@u_UQE^Y|YqIY<2q2K0Vc|R^ikv`7*c5dCFkq(H_KGI`a@)wQqp>-jRjmU~CYm1X+^HM$UV{-yX zW?c5QAG(m{mS8QgWiS$%p-nr?$}fVLci2cw`{%3KH;yG-ylhPGH2bPXf zmL~*ak>MI6Sbey(=FTJi+g??QfLZN65sY`&^)=Wpi#7DyPELuk+qeJ@g;)bvWC*o^ zx1?X<%c`vV7-P~mD16#pKb@}Wh{)E zFfCQOtt_}uwhBVP^=r&aN@6JZ)`&@ZsMr%>gR{90lodnC=NUhCpX)jVW#cm6{jM47 zDyPatz6<2l9wa8GoV|8SxACGpMh|-UMv&zDe|-F8w!y`ttAYEj;j89mTA+Iiei#~M zJ`jL_V+?c^FKRx1bQtBpj>+&XH_In8=c8z;=`YsO*3mrMYE(MoR6R|9RF`x|w|{cg z&R}5*DqTPyQtv&P0Bdf)V4x2MU-XC1#W(?9a}DO}@vGgyxN6~I{j&~$isBI#gTsrD z=PQV_Kx{4N7g#1vIdy75JP1@wgbIc$bnh1JTxWe<_Qk^|{avjrk}agrYhL25QhmHO z^W-?9l02Z5Ik*LTj0sj|0BbeXwgCMTX9~Qg?!pEowGn}V5|wVea>qxCGCO--@87R@ zSy~7uE<;3MXElqvN^hBJSLw1JRj^5lp>zQ*tPZ*=r)p^}EM0P3&R?xHOp^U;Q37)X zkV{0FBJ!9xsB;dkZ5UnpN?t?k7zaI<>`X?Ap62;WYoGmJ=hAx@w-x17_}N07Neg{Jw1^UYG_F zsmeyp(-EHVFwk_3i;Iip#T>|^{v(&Sbv2pcIdii^QL`t$8fIB9(XA1dVwtq6It!_( zXDM16!h3lYAkm&arg+xZ!s{>6LTZ)$V34{}nxr>nk#eb1wA8W*k&y+hPI#;qx*RDy zLxOaOF(WT-VgH(<8a;(gdDQIELadKkIGJdDPLw7RjIo8ja2r?Ww_Jz)HQ+gnZFvdH z!(jNU|5`W}`n4SUJcRN+EX|0ho(TQ5*apuKu0snP3h(rQqw;hVr%!sn(XZ`H?kpQu zGd~|p@36@IRFci`wfzTtp6-$Hq;6$`60QyK@BQ+QLnE8DxUdR-j3`{Dpu2!5eGgNQ zy~Ih_ruqoW)x0fwCuggTBAfmKOvaEd}Qcbruo55gkD?IJ0^dnOG zAF0)G7kXQ)O?^e7bZ>UKDF(Im2QD0o|!~NvFPmZBb4c7s-;BMQEJ< zJ+uz7-)(9o$N)MQ{3q0v9LfiB`dO>lKG+N*C@c06%@$&`gwAY7V$?iA`guYCVR7v3 z#zHn=TWovF#T}Lit@=gMrB;@>I5wPx*n*g-FdEHQc!b|2SN3J`JAgkd5kQouF!4z9 z+9aEsk2G*tc2^Apl`MpMV(JwZ6Anw9a>n&^9~7H3S7;nFN{*KROcOW7D^3LXrl>^= zNW@M)dh!gv=TPS}!5A7Ool22hGf6#~rRNlkrq`FsoYECs;imUU&tjb{ItT2plD~Gy z&MtDAeo0V`{~b(g3f$Wl5*FbADmgOhQam!SJVgS0GkeJ9-OXN!d<{xcPoV+tadzg1 zg0%U>k&J@zXJ+{ng2i70^ho+a8mDUMev~dRCy(&ge`Ro6eEKxn*5@CU6QxKmDL-uBbuTgBq( z&!Pb!_}d$3`=zX6B>OzEbAB-EPSCI=&LPj2MB&=zv?Q1E6i{UuQB>BVF1pUypSE@_ z%P!#?A#ENKNfF@M>`wE1Eko*>PD!;su6G8l=zjwwcH5WOH z4lN4GE%ieFVjCqWzFP+Fe#8b1u9wLlx9@sf+?TeZ0V402rVbCYZ9~k6pM0H_t%8mo z_2{)^9>3){2x*f|tGI9Pgwu_&)Qh>h1@S#ifDKRPu;qH&s&swdn$G_1W6^g44-)B6 zZ8?+gU5Df2VjrYMzajeshMFy9)kgP&_GZC0U?Zc~d3rJm;5JArI`I_+rU>2R{RjQ zlzuohM+#V2{P1vo`64c>o*<#WMgK(I z^v!hZq;?`DdF%y3FX6)b@}Vl=d1sBTYmYf6S6nq@ia9N3{b2Y(FF$%VLIHIdz9Ks% zpz=oggKaMVdyew@md(*Zn=AD)@?V{5=m_Zs)<5Ay(U|Ii|6~ zT!k<6LSZ=PtLNB0bgyn6p@eN9uT}ybEzH14QnVa7A-lx0=2e$xv`Q7{dK;_g4q``Y zd9raGDiT2+2JGes>Hf9bWkI~&+^Ml$%kL3upl!Cjz(3@mhA2rq`uf$|GZ2!Qr(xwH zZ?@6B&wHqMX25>CI4U9ZQ>@!ERahnJAob-l2(cJbuvf+tnpK|Gu*@dM4^cRcTbyR} z&p1r?J9K_KfVEPl>FCb1`sSdlbr`51Gk|R*^_tncrc)sr?m|8uN&S;;*=Est?RgkZ zyQ`|=%H%`Ja(ro-st3=Bs;x+#p_mV;rHUdbI$3I6ej`rU{nWrC-ofq2L*CMy0CF(U zDqax@x&SFzG1qH0^IMFR?5A(mGwQZ8)pa^^T5hUKroi(LO4w1XaG9Jrt9t+Nb~!@t z+k`iZy5@r`7g816e_30;-4&qmOSAH10blF{lw>_rpxFTg2Sxa=1G-DoXet~y_lu*gxQamCYSG&9#|}h5&gdebC!}`LLq4e|!oti4a&`=a z)7hJw0P2dG-6g?|-BrTP9Sj7BJ1RHCM^W8E;wtO`2QJI%_&&P*`71ibIxqLj z3SBPZ6ABBMUMbcuFDJCY{rSJszgko;aKM~`Srb;4Yaptf@}t{$CLm&jqNcN-tCSGw zVD4-bd34(nO;gkRR}CNR6avN-nNDI87((BbwX@J>q_>ezehNXuWRLYDINm_tcH;BD zxkY3O*Rs}HIjIRkWmX=utPvm6^42Vk9o{zP z1?W1*2q2IIfmIhNP)Qq;;zPC3>aF@a!@m!ia_o zB*OJBSfUn8WO*b^Ok;4OlKJ$|-L<0|>!Ff0Benfz2ffT4zi-S{u$(NAq)*w7vU_xn zOt|Srx-+A4v~ITGPYOf`eCXtxsAvcehQj5c3VuR&<(6Z{27jJ+MZp(Ud;#BDccdeS9)U0IMzlU2nRbM%& zuA28V*R1P8LVL-K#&?JtwG+erQ<3fdM(qbKH{>=gcWxc}3RN7oy^TY;w&~*kkS4-0cJLa9PF}%P||v1Gb&H zJuqiy7Tk&0sJWyBww!)@eyijY)jwstOFT+70wdY9JxVdyP=X)!H3O7c z^2bi7*Mm4aC>0KX}H=BBc7Tp#zX3uEaRvm{{bArw(i+gTfemSaTKvBH=N?;9_ z^5h59RB2l+^V{+Hfu=yz2&%3mivBt2o{Re0+yvr1v$_?c?vCja(_}frB<@IsQq1?M z{tVPA%m4#yGm{E&5Y);}U`A-U`7b~&f0&_JzCii7bmPc3AVvT0Xo;y|6B|M|BGza< z;!uu6nr_=Q8+;-8aFHSvD3wVB{7Gju{0i$ulp`SPmSuejpDl-F@hlt!J;BU00#7Ak zX1wk)JJlS4%xRw34MifR6q%H^)FKJx_7D2Ew)u^h7z7a*Yx#{gp8;KuMNYbjoXRO|Ad@|1+}`N(Y}4t z7X0r}te^ig$Vt@9+{o4Df9q$7nmL;|0Uf@;r~d+-s?~ove_4L}It3h2lX5W@<;z9l zYwr_7CSy=XXDjlOH8N*T?&V{kPWJ#t;lU1tTnXHlM&wClH4}CL$yTJD}D|bC93ghblB7 zq9FuWMOBx-C%|zuokBoV2GSo!rX`|HL!Cm$pQ`NaVj$4y?~XX&h#riYhK#mlOtWV0 z9Je)R6HdDe3&)l(wDGD^!Y8Gs4#Vc=uBD;2m>EmncmFizM|JZU0)j>R-kSxO;((y~9b#r|S5+j_gFE!B$ zX>xjv(1;^Abh7x2gH!5nRuX8Oj#kThYR`rxv%Tw2ZGGFi9cw1h)t8~EU`X$M&XeNLj6Wb6YS8bRBzmP+ zNy$0(P~>rdLZjT!DYRv~VBX<6pc?ztd9b5bZq@M5bJow z+$FjXo&(+^6T^v9FUd1)QRKf7id^v zxKF*@Be@-n3{1!WZXjW$j#W9RQ2GM0J2UVJj3M3_1(1)u+%*SP% z=8cOJLY}9PHqAVHfmwoi@iA?vz(B#m?G9mybmz zl{L-9lgRs({T02~4%$4OOKsq#td%6MGpeYkG{8ENXcrP(FB#&QI%VNTSD4kP(l+n$MCFVklaeQ*Ntzxwg8pL;~g8O zHVkVNPo$YiTOrwPKQ6tvl_q#Px3*bRL0EJ;3-${YnFlo*2KNdTt%X2o+2`W z8|uPz>KR1q%S>Pocydg%MsY^ir#^CL&rXgGODZ#Y`D92Ay4s;02Bpk~#wRs3MTpz? z5&wCluyj;NoL4^B?BLZkhEStcE8@LV*Bi%gawFPbfbx;_jsp@U^K(D2wDb1h1|-YY z7kaWkehRxtm-!RtcAmmO%{rWWPTW z^j$^pB%;7A8v2NV8le@P@VfK%l2?6y7I!HCB64ERZ5L7N16EG9Fy=b=` zNyDT3Bt&3@Dx_j3diCGh2pyy177D)#rkEc3CfWr^tMG}-zu_b9Y`-lFr1Tz9rbELB zNr|eM^(b0Om4ya_LII!P|FKFpENK+jzE&yUSHJ21-evml1vCHORr>#2{r`8GhBbjI z7!o*s8P&s6s8bk|JLTXRqsxP0W@eiwM}(r};sc$&Q={IHU?Dfs44K*-{kt260D00jgN`;c36rld0?CI9H7LfY2UiGz zJxD#>ML9@4DQSYHj5dNxOSs)UO|xwjHfl>%EDuWAD+j7PjM!KxFIOiSomE_vF18$$ zOAX4cv3YCrlR(AHb|ar__-sExeQ&}MS&oZuV4HP!3Awm{*-j5+-z!B_a6isV=*V=4 zYO>%xFQ1b9mV6cKirN?zt@&MH-$RQ z0`i{II*!I?6wyG%(h_N)L^vzS$vbl1LWd&|^6@k^GZdrv9m?Jha) z=%CvJ;IbLFh5T?TOcT_|aElj%9m?h1HaPvc zt`RIlugvP%qyzkSE}JIAGAYt>L;ffbsBsoUAyaE6oVkEw1?@Y@O6f|3QE_26*}yN9 za$cu?yR;xav6@wsucfQrIs5$39awv%QX-eYM{XMOT8u%Oj$5R$F39X-?2yMhqj-&{ z9>A4CWCc`HjD>=H+4F-<0mlc@mJ@A0>(0(El)Bn)$#<}0wxI>6s6cA?L+9>|0XTA_ z?s2Kgc|(%n5)}F|a?HZ2^Mx^WhuKbiqw`JH`R)hn`0z#bPAX|VkY=61nW#NbnOGm` zztdcuN|EJzc2quhb}>Ufau4F4Fk#GUV01;S3VURCy^F(0V04AIVsu5jmmTQ6>LKUL z^?UEX`$7`$iiFHG6M$m?b0RCswP>EEP9YEhx*MmoNw=sX7t)*zu*51#n6pkHDi;#^ z1hT?Kl~Wrt!~0kZB-97!J`;7lYXC^;<+MHv)hU%NA%v@WwQPt?<&IPXLxg|o-$rH) z!ShdJlne<_t!Qf?VLaQ@QJhcCz5OZkT}3rY$C=QLW`eL+eshew8^=O7h1GWKKqGNYIbv`T=<6DoP7!&*ff@5`Rl;o=Mp({w1xjJuqYBZR zY>12*-G7+-32ev~xWa9A*(-E|?oKwO^8Lf=hg@Vq_Efe6u$s)Y58OsmA0jiD!0X~@9L-B75#etx~nq3!2+R@Ta}Vy zo2j6!ov|Vtno(qC1}kPpH@d0SC9p2Ia0f@vuYc}oy0g%WcJUHBY9JZwLB;dEDsp%o z3{?L7XJ6JHIQMt6%>rsq%Ld%M&J#-~;938VUG^}?{7l}nM$#5q|DiQI8l_|cu$j49 zOCp6W!6IXP@gI%6Et`5s+U`nt;nMx5Psiz%5h4HSup>4VwfT=|r-&D+GE6nDpYADv zOGJU;*Cx$vKi`>@ntJ<@L0HXP6dy6P*ismyz*omJ8op=?aH&b@LP>~(n4#YP*idvC z9c1>tZ0aY!>d625hQj_ot0DhOd|4c5_m%MdSDu&sWl4c9f#DZIZqr~#@gq-FCNO~V zr)IhDqN27K_0p{}T6vcyuMMSXy=~|FqvnX*&Sj3_lW&Y= zFmjhX^he|N_ul@!kE7$$USspW;r+K)xIsm~Tw;gr>&%qv@CcBU!9fobAMfZKzsW|4 z;3SHa1qV)nv%D1Z#*|OyNh4mPy(SufEt$Z6e8Q z2W9$7upSAz*LW4~jQ=gtliA)4cQNE5BW&zjh1o_hAf)q*SvYbNvwPROL~p!V@|a$~ z@(947Rn^gRwzfqof?eq!A3ztye*G7)z@dY{GPuvA&-~buZl+kV#rYhx8eVpED-A{P zsHR#e^lCLc8aSoe{#9f>~v$Ih+w2Nw1H*-``>r68vm0Z<6w`;1=kM1QFr+3?r)j?&d!PqlNR6gle z_Lp|KW&g00_5?ooA}yN0UB460=IswQ!Utt)SkBYDOC9~A$1?R>)xnpwWe41doMqkbt^Pt!F{6q(OoW7%hdC5H7ukS2&;=Yr(^jo%ic^cn*xU?I{; zB|t^ z_}PujkY8vAE-sUeI8EvR3u71G;IJe-_PY>U9?k-lXbc4B&jJPB5%1oD3$;G4#XdDS zc61y<=u$O`Ggcgs|7n(8+D90(`{}PTg^&L%Op)5?SOmW&-sNHcy9o6^Bv$=bg!<2l z6liCm4s-_oAB?M63)TmJIsNljLv?(yR26lpb3QrJmvV_yG#^rau>pD|oR9 z&_;pOI%}R zsERdeVADfIW)KwJ#F+{FE3Zb*t|LF2j z9$sc>I9(=;3D=AjLv4{(-3qj)|giVas)od&gVeg`}bzOkOV^X(*!Z5vwwjr!k zxT88!)||Zce9#CKKLD7{DokI}PMI>NT;8oM9eZMe<~1>v0T%h3(r2+Da|Is3usk{4 z$!}v_pBT8&)RZSYB%L-u*@f9MLhU#zZ?imT)>4nB%~bgyvH(MTXk?SOmj9&Toq!ep+V-eGpR#+T0`o z>U|%c+@#@E^U&@9`>!n=Vhff8mOp@Vsw$cE6n^_zNP^CX;S0u$tqAYV+t_Px|4swE zS4G^%gmm*NbVQm+;an*Yi`!T7Re61 z?F7=5WVOd3)zS0h#D5+JXIX=)&!fnp;3)d&l; z$?A)E$#_79MLp~x{x@ynB1AY_)iVGr7SaM`zip$mPFc82xXl?3YTbjDX9Jm*-KHAg}UaW&`>`b-$xi@Sy0Lgz=TJwKjcr=Kfbz7zhan!zOTRE{N{ zQ%=mnT7wiVx$-O@A9->?Wq-w$I?9vgT=*>=$TmdDO`f(>v@q?G)*G_EA`#%CD#<^f zyn|MxQ5RPzw9l-YkXowBBi{-bvlWVhi|kb{-Yie1(l1UB&rDm>jC1)QLSBF%$)=JA zfmW7mjbw6-!w>eV%N>l&qlz*HvoHq=R$wNTr-ahe*^CqSaLM9fV$Wpzq#*f>6hhdo zrwk36XF}vSLt5(LExO<4)?oQZoD`g3;)KA0<;z?W(BS0ClgJYts>0&5`Fe0r+gn%| z_4-3$erX;TvDA(VEJY8xaNtYM)D@uM8vsS}y3nVZIq)KE& zCgrXson;l>5XotGsOpk;^{}$&QKFQzMr=!w4}9G5q12R+ie&~JqY7>d)gBLUD4>i^ zceK%!@WQVGB!mzvh1;%|H7sA14TB*2 zr&?>vqqZ|*Tw(qrJqFEL0Av%D6iDwyza?cq_Uc+(J$+7rvLng$SJ|tyBCFQ)??$p( zZ9*FNxUI$$kl~m2+askH>t4SBkn$aSf=Bk@0@9O%n>`l~8$4Q0~KlOm>N z4n5?!6DWrm&gKEztjdBoyJz`#c7q= znD7~DU%BKh99;nSnTxvc^TO`d$$xP&$mCRzOukR!1O&DLwPR?vX& zb8Tf0ug_aW?sNb~oE<-wc%7>APk*PHfeyq8a~0U9E~f zpQsn)wA%FuUeNp+)%s%G1^=mCcz^sI!MQI-%THYcW)SPG`ijC|G#9GomBvxd<)28a zPscb;lz&C*8>CMCsN@KIEE6VHapcr5+-LNg8y&u4{Qf8vMf*sTEFjk* ztbq1RzY(wY8r89_{Pu%X{vm=cw?^r!{aX@R{Z^n@LR@1|s*+&dT`N?GeaSV2hT+gsZNw586s8 z;NwT}1X;!0;@7q


    ;Ww1+Yxd4KrLY`PX&n@t>I466x{j5<{#uO`klcxdi<{;2I7$mQU z8C9+8-8mzhF(*eJx^0_!#L~bNUOmC6Ll%pg`iJ@!<*?0c*m{h{zT5FFEm5uiiN;%* zl7pgu2{RJS?MDEO$51Tq8-_IBh-&aFzioaW!4kYC_>}P(BwO1}o=>X}QO-O!ediH4 zei~JZ!B9ks`igZiNSh++%(5~5>6;g7pTO}_sH@E@L!18-SD)7w2|Fw=0ju(hq?}~T z{+w2WBT;2~I&4mQ(xw>%|NfgJN8ba+X55ztb?c0=tA(w}m1h-+t|480^{N+hsOw4n zpTNkqIjxhL5RMKj-D7Yw$^m2JF9kYI3vr!3(F}lS*R0WnW#J0}vrJieA~hcin=LQOFKNcAnmPQ zd`l-lzb_d#zGecmys)vSUjKYqlS=8Nu5ekbM?3G*w4nG~jU(8`tVt^Krd|8uLuGb) zbagVmwGqD{a>F?E8YEPGMqzchi7~#!x+{T2sHcpbnPed6@-a?(YA=zYyH6V7y_Q?6 zb60%ta3#|%)JIb5t%c;SSlZHW;Kpy2CPJ*IUA8BakS|Nan7t~O6i185lk8xLn#S8P zM=Ta;!-(t&8HxCyaWu|(_Oub2C6>|L#>-MoJN#df7`3$Ys~Uglru|+`60=ZFVyb+gW=P>;;pqwNqJr2`MM_ zcS6+7v4t(iolJ@sAA@F1S{o@_v1R)NPuSsv4c%fZNyw!`BKg}zZ9na7S4@zHe z0x!SZEI5ZxPuy}}45~Zdz(ySWPLSgR1aDwmXVDju?dpUw=N}YRTBpPkX zadxyZdw+F;=nbpqCbqp7?riUu^};f>E{&)^%3-&N%o$mi1W4*D^N z``*Ik3F0^4us89J`|+{-*X17H9cTVD+_!I-l>gK^|3w4yzko^lyLJAbM@9ds+L#l= z00rPj5cxD`W`HVfYp8ccv>sGMp%$J&9%LVc9k0C*{aK~q{tccac14q8;LTv?oo{;i z{kwjoZ8W=RSp3!I5PJ7qC}a@qGMU>(({7=w@5s*#sy_}XdQO6V7SQ{Ft%vAQ2}nm% zX_cMoI#IbUle!HwEha7t1@?Qr726d>kOgh6sqcUT0{b7vd17M+t;*{{B+LenZoaG_ z1p#&}B?M~0sTUA7v%;jPp}hR5-T%5>0O<$wYW{ivIA1Ds|NZ@^^#7+v^!Jlf_OLhk z&!;u1qV?DK`vXi8x+JCQYw<^=KpPE)VU{%*gjm0l0Zk%YZrrsKW_2ocRR?Ly`(Y9M z9XByO-hA&bjmv3kHS%O6V2sOwiHs(*-g}?p32DE#w^!VLZak9N&@jkovf020kVZ&p zhQWJ5D8B#$r|x>AtBg=1$#wEqNpY?=RVUD1`)J1>GZQ|8G1yzIousT7 zhElc>OwOpm2XsMWXlmz2sY1D1fmRt)p%uZpVpHjTG~A&F&{uX{CBNS(Ulgqr9a|34 zb4O0sEq|)CHXtLoU{wK*$9CpO-HV91$2a#ax63c-z7|1xt8|^FU4G?pgicNzhAWe3 z<5w7BaOtrKm5p3NrTNBa+7+3G&d&8RQvo!Oa)(StlYMX9;UQ1BiWFgh$;Jf=6eMzU zr6}~mO58QhV+N1WAX>H+vkR9xj;%N)l`C*y!1rB5syR#bTvZO;P`AY!uy0xvec}er zjx&!fw~)tEOboE6t+q<+QOT96e#vAH>=BzJ&fy7nV=(#watj8?qT@M)RnLYjpkAtN6~q))<{p4WdOjQrdd;)_)-sJ}VUvf{f_du(%(igUda{G**brcVVJ`N85~+}g@Bl1rq%&b1#pDQ`JLMI z3{tV9^G;lUCb9XKb9dCEg>I0X)w4%oyfd8XL2u1cNcwMKYOWd&S;(4^iIsvI1=(C6 zT=?VEoa8ge8uWt`TTCE+WU@9+)%JEg0COngu6+n zKwc8YycwR!Y%2F<>M4hb>HTAWob4NQx?Cab6EcQeAt*AWF><NGfY5rtpT^Ew8FlVO?(ruFYGmXD|0Wp3ey;D`Oh5!m*uKafsfv*D_Q#Zrz0T z9jj$abP}d$sFHacpn3S^J+sNayZ@8-;N?hJG{8ySCN5z|Ow%A*_LZ=U*w{}mJ13XR zb6~&?pGT@YNcSC7-qlg|rW(@ioDaR?g)L6AOfPnmrBX=&SaTPF3m73X`=~j7M)Dp?HOtoqUKT1nmR>rK@Ftl z;Zc6S-iN#vI(%4IC4#caqv;{PcEjcQJee{JbUMlvAGYJ=ylARJIZV)V+xnKpA%%D> zOT%jNNC*UBz*zYm8Hnqr8vK^iC!rs?`Jm&eO>+l32Bf`g`rSbwq=ca_0ph!aaZ}9@ zi~L02t$u28ia^c?2~lNLvrnF09Q=CFx2})D4aAKvLd9hsrhs|&Cyvnw%;$IBlY~eX zMen4L)#5pc>3uB7L((DPLcLm407gL_V9_o+;5^0KwPZZ4GhfZjF6<67e|M%l9icxJ zq^YMp{SivIV-Ssy-zv(0hS(91m0ZdDPH(HQa4G+S8#xxdq_a`PfmRSiuQi%0Y{`NN z_0y59^!LW*2l8JIG~5`-J@Vy1I{*JT5Ys<6P;$CCCkbZpgOTL|O4H2YZ@So+K$mZ}m;@Wnbns^wQuG{`Tu`hsR)1KGwjzp6# z{v)d&MaWw~e3y>VI{LV6QfJ;?+5#I?57Odz$+ET|Jyrp(_z+qRs}6+@@(UeS>+q#I zvpmQtWW7q`5L(+E|7Ie;dQkbrt#WWW*_C=)oh5nVauEHZ1uzot-T6q>qP$WWP18(D ztTGvS;FjIaJ=8J5UjMF8)3)ArW|RoL75U{;MZLnt}^m4UR(M0rOHO(3e>Aw zdF`P7u6?gP>1Ei_NNv6EG1-Mv3uI!6+7ZE|j#DPBxE2(SE_5Wf!sPrMjL2wqVu2uZ z+_&T#T5trwm{a933l%$_m+WDeFd(SXT2Me}Wq#*ZsO!tFqQg4QYbDjN2R6A?DVRRL zId!uWMJ}d#Qr3(;pUtQXDM1*488E!(@<}J3&^kbsIUbByA_p5dJM4ymoM5ch22%xc zg2DfoJNFE5v#0gW-2No1`=;RGZA$~w0li>gfyVG^wa|ywU8I!!t%td}aWry1drCG| z8h#jTedYTKFNfx=fKfKUKTdouodg0(n5;IK-@>^dYp;1RXzRoZ|CM4^rBP{D7ng-! zfkAt~MY1;OOI?^W=_52XW|U&g%YSK_EYTM#X=)khJQ2>290+e1;=834iVuUJV^H+ zJxKEZQ2q9||7?CS94dctAO*rK|ln96n-y6o`ImHW1=(A zXGAs?Xoym+Sz1%QG_<-bwW--$l?FnLTCzM>w9=|+wbbgm{$rcwwB^-g%!o+}?c4Iw z+i~6NHO+I(H_qec;c>AYhWBlTUyU<=#~H5c$tWm_9&V$PpW0w++ho z*dM#kZ3p3Fryu{8?E8%wy7hC`!Uyf^n^2@*CAr!}@@@~Io z(s0R)G+Lu>oLv+Mr`yvxNDB?lQqd#<4cfdBh?ZGYUDC`NUc}>)om_B`1MQz62OiD3 zFs~qk9$tj#7ox6*lPk}p7&-XU4|ihE0KBN+_8!hjAIv6n-?Wxm%c~7{0d#}T+qKok z-Xb3rGw6cu=^t0&X94+oQB1i>>upwD&9B1T7?sx&!SA>F#M*ghX0h|$Key`9+V+VZSbxP-NfFcjNd5NKcE)fi1GkGi#py=j^^p}|I~OSQ)M0OICKf86T{ zoQwtJ)A(V;;MJ3ap=D{PdTYhoa59Op87zrA!>kIfT;{s#qru2TWRfbKu=`rX2JgS7 zH~^9|8rOpw+)2fZa_O+OyhFENg*3a#kS?V-X;V+GusMtHEB&$Y8XN+qEg5^?>m=R=8TSo%^uomh%*64Z_xf&~&BA`jtEpAZ&G z=V`sO7V(>ltWh$8oO1t=CV`Y9GsOYCQI}*jwpia)(}B`GskkU>Mp0?zhRTryLB zu!aP2A$w}&)8NEKFJ#c~Obsw|-1tpZRcG@U1Q02s7XtlBy-e5cL(Lp&+Vmt?KRj*>m!X}ovNT8z+d#JSxaWTcYO*j^+7xL7RcVMp7W)#Y#&x)w}OLW8i!t!MD}&< zzNVRQLDpm#Im~k~chMJ2hn|`rfodfy{_O(Zd{$&ya0Uk03^_^93`7><%l$E#;bfY= zdw9P5j;qPci-($q0Cr!I4yy0`O;&oJ;oUEqyCZ#vid=J~E0se`uv}NTol1{4lkkrW zt6`%7o$`r0;Bw@opD{vdnQ&iR!TC^-Vx@h7G-XJUI-yV?k_mF0j3j7h=FOJ}txC5$ zp5&`u1Zj(Q+Ou+CnW`T`Y6YFlrqp`V!~M9B`G|KJqjQxC)=mE2N0NPFm5Eg~8alEY zMO^6H!$MB>%+WDIjc`ioN?5xGwoz^fE=bATk$$0i3R0Cr+kml zxnd>qi_FZdldW3_zIxtp-J8?STu$-Sm{SBSyK+xayL85aGDp@4wNljrZ}Ql|JLYZV%I8lLx^?fN)Bj!a_OFAA# zMup0nGv{gQS*um1NpXN%RXNnGS6|OG@Wx-5%OTq%*4An?Rx!vLbR)$qZPRTTN~dEXOnNK%d7V z7&QcofP;P=Y95wqutpcqdCO=GeI5B6W1KVj8jM(d9!MdGiXKT~7A?IBWrLkSNY=Y_ zGu3<}1Z=QM+)5ja}66jiP#XK+~Cq|5|18xSq5e^rhtyYmWtgD#0>CK%gn-jfb}mGt2ERTsaEvtDn$sx@izf^_M4UO}e- zHn7y-6L_Z%ReQhUIy$6S4XHQ;+r3QhXJ|4(g1n_7H_-`ogq@;} zqgYIXnubcVV|A7hT_iC^2lUJc4v_}fxun8mrh2@iu?~*n<4^zG5lq+A1`Xc9dogM+zTeR5hH z>^nc*X&zlucVen{*(1e=Riix0*vXQcSw=C3yd}C>h60m$?W8$}K9{++pB7rAqfBUD za0z(1v4%FK)#pr7rwjRVy^@?k@WHq}PgMM2F=cNAe8pSdZoMIJdosFsiyw|KYX!?~ z*y#Nib~G+PH0M%%6wOh^>>YhOS;_=|zI;ngQE?Rce&f{iyIVfjev}3i0^O+x zLhIRwik4xGZpftKaXhE#uru}?H64r(Xrt(U{q!xFZ-jRROx_Ws#Opa`X27Ik)(v|8 z$uLV~yT7}5aaWOBs2)F{abzb?0{=jfrJ{bb-?3%`oiWAUoy%H!G?8Zu8JyvZ2LT@^ zmvY^Q{2oT=vXT-L@E|bJ4u9yCQMt0i4Nanbwd>%e5b9Gs;F}!^97+s-kIeH5VKm~4wWHqV?a62`Tn*Z(H?U1Z5%OJcltZ~85}@kP@op3z)&t_a=(UW zur#EswzcvA!4wEwK?8;%aMGW10AZ5TUJNu8Hk?Y@l_Ff1xPIJ!cL=pTaY)jJt(I}v z^VYNbr~l;;_AM#&BXtyIK$Q|v-EJ!zwrC-gRFc(;8*XhIb4O+#pmEL%VFdBYzsD7# z>CwG|n-}{o=;Ao6{iFW-i?Wk8l%olhV+kk+Y$YRTr6X}UCR%yh%{ADDc>pH>D}rnK z9&RUC6dSvvI?|}l@>|n2ze>#$!co0Xm9I<$|F51!#EI_lW0-R6~qQ`xy3=ouxTwNCOwhQx0c+_N~G9pPW^AtjWMqv zX>yI-W%fwDQxLhPon?%BUII|ZKm*ps3xmlbqB00k3Y!;v8L5ZtLl7ko&CFW00uc=R zSIskSTDN--^qSW{&a60C!RqO`Zn<-I_06E7=HsPAX*ia%Q-exK(ONig8}l{p(C(E^ zF7eqF=tA=D(68 za4YG){Odiw3#P}KIs@HA$`SfWJP)8@i6GS&0B<&7O+q3nF=;)7vJYZ*-bItDfL9gX znO$>EtPZBojo!id!I?xmq&76NGHJZP8!Lx#qq1RiXo{NG?AR3P6|+IzBDXtF?y`1^ z>AjS={gat>08`hg^*Gr^7KKZS*<@W~PbM|!s=>4+hotc|{m=1@N7Nrys`)Cw=0dEa z6upqPj08fCtH#=<5r>#_=h)npE>%dBY$DdhGmxB+(pgS7?btTzfcc4Ijs|yhiB1sv zxQpwp0W+N8sxLFFkw=)~f3>%tL^EN+X1+&%5P=EXzm+Yx^)DhNos*THPI3tOuG!W%R_w&FjnvUlH3xeLwMc`Jgc2S^Jd|G7+gyZ-EnQ1Yz9 z@T!Vn;?4_!-%GR)e=BBq)rHin7NPRo%l{no5Vf;Y;B>9ro81{IRhPdT3 zd~gc*4f^wh4kSSjj9~x8kusrNS=4_luzc`-0$+kLMG3Sj)Hs7u!a%<>bhlix&@uz4 zS-3DiT2(vIydv6XuR~fCoc0!4hicX_qLzp}ry|+3l~j3rjyggW;lOqhkNGtgri>+! z&j1F-oV1{KoF2TejFDn9wiLN?(=L6~d_$ZxCK(kq>tTVvd3<%_mwFOhtSiqVnSa~C zx4f}p7cHhD%}9Y}^E}(37=lThSl45J`pEnmjn;u>0;Ti${mRLU>PyZNxQf~68nVLo z4CRfb7-iy1p0 zHgjfyudJ&L^ZB8)04 zqTK8nC-4?%1ot<7#Zm>=aWSS6%;!H}Fa;27s>ZOxtahWygv1>8bD&|5T--l_K zGo$%8FrGFWtZ~#Uaa8?gx2V>_$%JH3UveDRLc41G7NIV1>j2t^5$>u zP3w+yqtV6yv_VxE;sG572hwh0`Q@>{#k?4bMBkD*^CAx^i}6bhA%_m_&Ovu_v!rmv z8m*p)sWZlC2&Q1`k8luIQ;>fHCqnnHX9Ulx_zkVfQ-(H`t$g{Mzf-{pt|yI5O_PUX z&(7m6VD^skXck>Pen(^PPCe*3KXJjzCfS_0bB@N194mX&ZsEY{6yN#s!?fyle$#Rd zHEm26CoNmR>ctejy3X+RR_z$AIJWeG3A5(D1Sj8>S{gwX57RDIUhCTkJFyV;>{Q8O z@{qIEqHtl_d*qCUc!C%^OtXdR#=?A{=_Ykq_gHRo9zq6}Eg)!Uuh?QtVM2@B(|vuI zC0nH$n_880!PqWOlS{^^g{!?^<42h-F|>Pm4`JUdLCitQI28}>N?%0rNS8SIf)%OMF>GS9IqPuoe^%_l<#){2u zX9x25R`Yn)9^`eYCKj5TEQhJ_MEkHn@bpaOTeS_+26;Ph80y201L(-DV}vS2bLNtG zvueRP1@Y`SN@swr@xTQOOxC-qOxH@aCEp^LxlT*m61aJgph2aQJ)5i)ib8qr68Qo@ zf$k=GDl0|!Zn&^Q2!TKs% zR8C|Q2bM;2#_yU;hu6c%*6i!%BjI1`0`;DM_QaedJa|G+kyih%ZzBml}*&wGI zg3-36pKce;e-;Q8{z3Kh$0HU##zchhI{ub`cU`10D|`Oy+2l7nm0GtwYnMx}_y!z5 zT8be2tQLe!6bFblIW702Ba{`D=s|9<>8^!wq6S(f5#+LLaE&Sv!6QT*nX>t4GY>Tq zF#$$x)>gs_=jRoM0OrgEaP;W8F*WS+;i(DrsD$+t$8L^FsViww)|vp33w@F}!ctgQ zDPEbxVmKSg{J?`MpwYgU#XB31pgOmiwFXpij2hVx`pj<1m1n(UMi!$gc6E)d#z}do z>B`qka@eGk|3pLh)1DPk75%It3apuw`(({~X)h}*Tf(CSb2+*#B+5fdQ^nsd&`(^( zICz+Iz=bTzl`8$ms$u3CebH0b5J%bS%_t@=t6T_OQOK5PdsBZ}AR$T=Z^~~5>F1w> zzb0BzUiTK~J#?BkvFnqUC-aSYzb;HB%jmTc1PF-UgSV!h2VR<~Hn>ox#jQyUKei@f+sXWIMjDnAp}>l!knw zd`k(evrV+UM2^@%JPJ1I9ECw=I@qAZExLj8~ z#PX-X6P@6`$}0X#w}OYR70!(74)xu8)_hq;fr1)-I=(7!-i*T&>!>%l1QN723wq?{ zVe3lLwYGIPIdfrO&_}aUPG4jpc*urS0hQj3obnz1mdeYVORG1B+;v6?k2VUhER|cO zO_7k4MJb*eawh~4`b+mpsMj^D^yG7)woz~;k3#L?5-^k6b5d2PW30p$Y`dpq!-SZO z_U=M4>n{KLN`SdV1J223rzTyco=vXP?7{Cn_SJgdk@NDS8|K@4&Y5VxWmUri{S2wY zTr-Wr5fo24AN~UP$f>8WXK?&}aMaiO6U08b2SxlLE>!LQb(F6G0Ln%jILa#oPwfsN z-aausK~OFh;}<}I_P7Z=OXdtpTf@&P{WQQN6qUAIu(NcN&Y zRJVR^MbiTwFuvf9BE<$ECco2mtFAEvKA$m&cc8}dCKPX&KxR($;X3FwCaCfYwl(wu zzQZsE=NEV}$9gea62eO72Y!z33sc@Baij|slS&nbMr1oKS#cAR?EOLfWJH|9Ow||; zDJ!tX8Db%Ehna(@%&n%t7Gc??1nTl8QfCa*FE%iWsq=-A3Q(Y?`iW7CT6AdWoWq8W zX{4~R3t=hR&=|~6y>?i48)wL(H=WzxSk_QFthbLnpxJQyiWJ_0a2rvh-^CJ#xB|~?nnPu5*}Xpb<~pqy8&QyzOCg_cO0*iEu`pK{J+e!wG$j>IK`k$x8YbeK&_5v2{tx;eVY=%M=&m49imU+*;L ze@>{!zbT?DR$FL`f(S5Kh|3p1AfM!DePU_^SMLnN5sZXB%MUXOQkMarla30lJ(B(uFUG`Z~=%S7d+UI0Ee+r^3<5N9aI_9QWsA#Up!?(Zv|`=GRMd zdd2X;wHvs^8hfe^FF>rvyqSqHGAq2tA?!F{^JkV%-q2L8qUsz?LoTE1md+}|%t^5S z3PdL91Bx@dyhfpJ?9O|2(pGkV%RGm(z3AQ#M_$7bAM~xsY*-IdSF^1kq@#G`o{?SE zX|FM&w1z*7nPp?!dHbY??sfLassw3>c-~F>TR7L}M89J_>~bP^r!en=_GhD`qLAU2 zEkbYZn=*+=!zLM*iM>h*FB}k9yR@1hs&bx%r^E-#kj#ja70#lAGsdzL=#%K=W8rrP z@OBsBa7L!e1Ol-R<=2M{{XpWpxVUhv`$P4|As%^ySf&eGj-l3azw<=-a9jGJ;l8c- zVdhNpdr(GA@OaBaTeGbznqNYSRmU|RLs30DWc80*yEK90TPLk9fzO=R=~vPQ?Ak%Z{OAtHeU zG*E8yDaKGpR4O9H5f653R$v_LnX=Y$N+R>K?HR#7ih792_x|{DNgpfeP36)Z&ELg#ezJ%z6E_7}q!4Sb# z44N*iBL9TjzK5V-_D=Ka;*KZ13Zi(|4TV_@#c%%N{Rls~kfZ?;D`!<;r@`#}D1eB~ zw*8?wcc>XG%TrB766g{awhKK#C^#vfZHIFsbmgwylC#wo;s&FUR+Vb4Kp^xX2qtve zU0-w+(Y~ke*wQHaG9WX#318>YmX~TX*1E?D^$Wl6$Ik@}R3o##?o}>?+SuEeD0}#b z=7;Qe@ea+`u~kmY-q$)XQPtX0u>dO8;@M=rt^yLJpYmI=$*H&vR6-H}E6JBkY{%E{ zhtJ?Qwbo+X<`T8h*9)y@!r71%G*C3$q+%Y^6g(6UsrX%&%!LSx#`;2En&f& z%2TE(ld7eq+88G^-3$&x-LdL)aO>m-AlgJ@J->YFA%)KVWMPulZ83wcf>BbF8`{a1 zJoD7P{v$Br@Gcvcx<<5x_9r*IVp~xhRRhx&^p3tarj?t_;VscNy@1RtKvmq1Q6iO9 z^q3_Qr!m^P^A7cbi34)Q+0^g`E%db63$i^Hv2mh0u~E9Alw6>-{TVhQPMj=mRKk~0 z_ALEIc|xU7Q$G`ALVn*%nJ)_H$nZ+Bu6Np|8^{*H>efy#C^|tc@&##?AbNz-E_Nxr zVguhO1Ysb#hWbPJ40>(^xJWu1lVsg4?Mz8#CVyCVk98I3P+GxREPhF21OE1#8zdWc z)-a=~ZtCBxbGac&R#9IY7h7ML-2Z-KR^;C>d|4AGXA@)PulN6A{UypaU#qeRzNu)n zG>5p6-B4dThmZ37h?Hvx;^LG@{7CPu+G(BcJyusC!F_vnJJ6Z_vxCp8_$Jvst<9~1 zg}x_W>IU3Q(-+d$Bhz%-->COIU@pbQ5QFf9K<=^dhHoICvCxbTitiKe%2>FUZiELI zg|s`hQc1F1lDcSxNX@uF-&fj-#Ttouc25A5;!-Cbr&x~>_OibdiSFiha_xWDa6V89 zX^A2^#t<-bx%DIHw%rF7P>DU;^tqE~`}mqCma&;(Z*cF#Dj!EOUGyXg6Z~05X$?7# zc;g+VjHB0ahk0-6F!BYsBx!;6c(XmF5?I<((cK4|o>)Zci@!}>H7lE}Y-40g)GBz7 zjo!RN);z18Uza>N)sOma2aTH$M@>raS^_sZP zwLavW85w^lOEE-WuJ#&*%T%0@Wa?7a=)(wg^&XBEvd7mJi#Dd3cxkKTSHOTO?UHER zbR?y1D7NNqt|}_IQB1h8RLA$AuQaQ-3?VpYx5M%2fXQe6T6+8#zH((9nK_dj|4~^` z^5Bi5a}rwwoZ~=D|BHUD8=q3GgABIH!T2V+wRV>VL-oU_4Kw%iSe4P44K7Ku!y*&Q z9CX;umldpMxXRe^`j=~DrvZ8tbBp8N8iw9{0>b57&9iW>L5D9au7fcW!~2=<0E&o# z%5v?lAG13wo3x-$xH+&Y)EQ6#yg6)6iRVDxtS6eXVg)B6p+{J{v_fUZ50gTes$%6O z8W>QVs>5Wn;A(|NA$^Bv(2e1)CXikofVI*S_P-=62`70wXA@gz3j^zaIo1~mo57cS$$#=XDocE& z7LpQagDF6F z2x#a+qB5hlsrbRL8)jmauLONFS}_u~LJN5yu5LBLoWc!{?&@IxvoEl8s9lMvyTVOS zV;8;xK_UxgWIt-9G|5KdLayJBK%q9Y@Wcmq^5(8uws-k*`Ma^$ncd1dLD`=_3oFFG z37OT_Ps6us?N(mYs?E$bb(wOTV~GHxT}tcujBAc0L#8-wq#5RMuhj@o6>h;^4w)W%$&w5wH0 zN-nJz*K!wsbhTz;KaZpwF$U=XPCJZSKrWZ|^f5YqSrYB-pQ$dn3wJOy@Ei^ZLW7RO z;TA0mA`_)H9Q~<8lsYS6cd_vRXN%!}`Poep+IqjPf6`-#i7K3mn4OWS-}SEfxxG!b>^)Q_MOcdr(*vJOAg=9{~>&hT=3m3TI*aDciF6lVYv^a~b*WZV<2(pG)iD4y-HBpx5 z+vUlR$q8EWF=9XBx`>C112yIzF{i!oXyHwE(Yrx&UJgkg|CG02RUI6MzVSO64JdR*kwS~e>L232$e=12TQunrN`)C(BJ3};T8I{J;+ z<1>qKx^BdnA}m(3f_m2S2!?nH~EPl9zub?wnb!- zpA-O-G4T7}MO7R7{sr}5Qe%WX{c^FeFS?umK5>cv8;R@xPFZRe&gOr8`H#x2=0DhP zSRt(;sII>YM76f0qybc`TNlGcK}ulhKnE?iwOOHINV`t2hVfqI9^fCM^n#uE$2oZ3 zH}Dtd&0NzEARIwn37oDcHvVuwZFMlM{>7V0_f4-~Y8P0VWrw>|i9IRdDKbyV9GaTC#_S_d4fBlRAhrS=e7OHD&hJLhU$b?Q3S zbkoCb-#v^{US~nA2{l6wJm9+dpgUg(=l|gk-$XQ|Qy)?cFzwoTk_G9-4>?H_dcbUp z1RoQCbWhzji0Zk5qvZ{_Wh;x7;NXfVX~T{ZEr!?DPQbb}7^0id}Qj?p183Y$}Uq%m3M_4Be(2_m-RC+!eGrb zL}wgj_|tDXO7Un8542(qvG`L*hfzoL=n^2cHOE*B6f{`1UmnfrH)))?Z-_)ua#%Gp{t+4$0k^=x(AT`h70QCCmZ-Xo)&DsVuOY=zI#}k9r+A+vzjCm zHq~NjT99S@QHyyx=S(e(X!Q~~670lsHMNMDMD{0TG9{>d6RsKZdNLxB&rr17qUb7R zAu#6M3{&w?_jI(Yogk&si~=A_^IEOP+KD59ZQ$aRDj-pr3`{}~q;}@!U^XLf&+-j%Fu_8OPe@AU2^MXM6vr=y+sBPLRlV+`1i-X zWQ0WF+750Yc~u%J1@vVGe(=uUz<{EPz_Q}Bo(BZph~~WoEZBcX_vny)$Fh7zz^7>U zdQFoX7-=sq2-aJr`J7HF+K#A%QzYZZiZ@*|4 z*>sK+X?2I-M&~^U_Web{lNo}JmL-h`U8-OFNWl3jC$e?EWMXhUAgNL-{J6revd*#l z(#<6EM-8PMfK8YB_Iu}$)M3IvNA%AY{_~9AP^}wEYK?cUo?tci*^3PT8!%mjx4IKx z?4{^B?j@NuzF>5+&w1@wKTRd2@wLw45X))CSt6*xRu6mVvUBHQ43em`TOI<2@l!=o zq!+3=ajH*gn4He`2WxxCGqf`-j4jbEQjFqKkALPfaKtm!8ZpoY=^zIjqEq@VJm_-{ zfoL#Y%lUI6x1LJ-;n?zmEl9$U*Pff}eAlR6Dblnvikzc8@Nc_($t`ykULqCmQ7FB} zP&&-pONWh0dulNp3rFJZ{9PJFDBUGuEF|4JLTNRKd6wYQN|18|tL^bRl5x*C(J&X5 zJzETnH|!X#8C_iVdM6d|C4^fNhc3spKG3WFcie1`?wC>;=Ii_r&2!Q<*BRLwBji(9 zX1jbF=p1bEJ`pvTtn%%j8dt7%gsnk%mdC6K-nb7z#n&NN(GlGS$GRtl0>@dQ5b zG!n#apx!K5X3Xl|(>6Wx?xUK^?G{Zc$ZfZWcf~aL$)gcE;5U1N&W##=6IgKn1k6-D zp{K=C9`r@Ot!hV57=_g%^hx7S8WV1qQ^^KF4t&-{gSMf+D;3f%)F41LLvR3g$nO+6 zpfgsF^Cw`E`4RH8VfShr8zj$Db}W ze;1Lp;jZ@mUqF_XLY$U~F9@aD7dPpDpIiC=O#}L`mXo6>BZtj^;6rM_R%{WF92aV* z3CB+|@tysfV2nJK$eJjsFo!);mo2?!cfzH}ncp4&GD66Y-w(yGJEBq?m8U-J7W>-E zZrJG4!}ASRA0C?ktqNl#5q_LNRj`^7WJHq64Isa^amJV|*Cfm+Eh;(g>gz-yBc@&2 ztQ6O%UaVt~JRO#0;#NXE;EHMFMv?d7`-il?%1GFZv;Ea`7DB?DA8dXW9{Y+-^)Q7w`AVEobPkMr}@K zf{qDl%kl!J6QDv`DJrH=WLB+5J6#y^lELo7T;aVRiKdNU2{I2oy9or*%o zOQMefAzr3r@yeUWij64Lp~_iWC-u?I6%*|vCl>wBhZV$4Lui}(i2d^`0b_Qz=mnjF zKEfXIz}RQpFM2Ldp&|2F+P9(%KY?(U z9^yN2W@#ys&|7toViZXV{ zU#4R_w}}8`16&g9n}+vF;Nta-Rs^-cAH^a<9{X@6tBb3+mUZjbqv{@?!>)1!FrPnu z2!hE z0XZ=wsnmv{8-F?)70ortE@!-yCi>zzSKTRP0=hNWfhnv83hjVHAx28bqaQ)8!aDkO zZ5=5Zs+b}!#(K7br?FhLOTPcg(=pD?b7#4Ms=gUfchC~eSOK0;5Qj-Zo9XX54SHtg zVSwaW)*ZBz*9^y<_aqB_xe)(4M%lW)#OXFyq1|+-YM~LkkRMN~qWI_QhW4aBuAi~G zo`98ukIE@PRLqKzETcKKeWN|5kB78gx@P{ehv%}@C_tmi8DL8_4G#y}>YJBJCYM(f z@J$PLW56e1`IApOVBZh%HjNt%;#OJz@>&c{J-fHVQCaNxLxE;faFDd}4egx`IG05* zmZerVAAl*pZWVb3YucL}&V_T{4KyCDy^CWW?a)4sd9?0ph#Vs%>SEd7*&;4XZ#us8cJLCQK{`?Db>W&r`Ndc;po=S=; zhJ|U-IL94tN*b$St}roVAw(M)rZ6Ga&>ue|Gwl2W;QK&2L{yEDFIGz04OV7+ne( zw~5I@g(^r1F;W-X;9WXnrGpl7>nQ4RZ0*<|L%`nHY#S?fy>WD}l;&^nmO0@&ye1Pe zrX5%rLSWslavWF$I$}l@VQ_Au9wUx1D1KKB#THRxgJXN}%)eAb+)jowZ$huP-@Np~ zsx7zlf}Otsv16r5w3DOc!lcuLUEiS#8S!XwZ@R0F^rfy8&({*cw-vn=A2On@P)|LI zV5Y)|Bdpt_D1RTggiwh#$Ts->i8VIk)B*%k%m1VNtl4aca ztw^g^oAWKT)cM5_Krz;eZG%l?*RXBAYrVGjt0)TEtmdG-mA1rXb&Jd4E$mJW_Lz-k zW=7tXPWl#?a(F1^n? z#*ghE1wvRQWnA~5)JZ%dECH)3}C2&=rpzqSanf&(F;I3o=1h~JIcLlFCgcyojk z$%EH}7yFZbe3zjp3O-4UPXXFWAQLvC^$Pvv)f0g>WM*95l3?#v09nIhX{$ zOO}4*N}dkSbLW8ZSU0gH(pBe^BZ0t%V(f|X+H(Iy|En-8TTEuV{py)t|FLH#`X?7N zaW^q?akj9t{ofj#{NsY;|M*J*(=SP05d$OhzvH}sv4Q>94}aH~F^XNX1N;ctAqYb5 zeL&wqP*7$DQRMTP)yc&Z07Bnq@u&8*4W|;Wadwu;pTF@!H9!iAlMA3cPEB1_n@;(D zy88gz2h+e;;YH#tK~$|hB*KBi$Ie$mX`x?eN+iv!){$8pv@sRsba!b^`7AE-@^P`M zk`34S7BvmB7f=bISQFZ~rz!BK9>Kv#VrN+qUa5F8dsEN&#WyXzQl_Gf+;$oS)j@a`U^a?s zLTO`Z0)`oMo|%1ELp?S)6S|Z2opfR$diQ}^b*ZtrtLVW?4@iSaqpQ1yl{Sde0APtM zS$MmDN3eSkcfLn|p7lFSjEwpXq^r};=>!7&^FufI5dX!7N+vgXBRfn6@VM;&VMPRX z2Ledv-oJ}dh>afzcJ?@RROHzu1C29)0<91cm{&9_o?=962sVjArG`+8f8j``_tSg@ z`O9u*vH%F~U!l3_%Xa?FdhmZ7vY?5noukQrd&=Xo`}_#ip@ zQE=0J#8t@q>rq-;uWS&&Ra+m1!L5$(rpseoVpUYV?8+M_yn)Fee*!;7l9~1gBP9Y< zdVDRpj({ccTk#HqbOCV-wYlb5^n%7Pkgwsa5#&7}#n=}P^^Lu<`|D`IA-;o=`T2Yu zb?ZMK^*_#o{>M>&iG&zi{1q%jTn(&U4F2`W-N?lLuMhvxIVQ+ReR*~0c7;t)!{Y0E zfMCxm<<*du2qIs;V)w&-ugtPD$!Mxf;RlUeAh@4DpJcYMg23$_p6PaukJ(Xxhlh_R zn7zLXx{|s>{h5A@d{oLJBL+FP74q+OGmuVV<^PMdcZ#yDTe?K|PTRI^+qP}nwr$(C zZQHhO?9AM$o8LKgt6Ej7I_yac6g%w|AAr~3ospYu%EEbY_&IZvhkc%Gd9wUqzAp6CBklb*a^9tG$cO{hs?q z`s=E%x7&B9rucJGDtf!p=(`Svz+8>sF5K&WT88|4nk{G1oV53NoAr%u%<=*3+>2$vsddk?JrJZ{PzJT15fGCkw? zp3%zOm7a#`6*yxe#K^SL1XC5>ZV~#po{-gzVcfv{m%rHSFG1bkyGAV4>lP$sMa_90 z3o6i(jL~{yOb8j$O0Pi$rpPkTl`1N&;xgAf(P%G>O3kiO3`(I>K@)Rm^H9tg($SUa z@WxuD$i72Slz+<-=3g5-)vR$>sY0}g;mSbvmBE8BW;crY(zYTvmfi8xXIoPf6BvoJ z3PYBQOxDvCi>qAQ4@&6si33BkmgC$eOoHB0|ETN0->)}qt=1E;vX)EwGhS6q>4i`p z1h*t1E6so=3E7Xbg|2DO30~}r45iC zT5LEAdvlQn=!+7Y$g3H&AmnmX6>VRXl@?&TIPb3Ong$%g)m1>X8ma&snY0h*FE*QX-P|ALgLKKr*=hNAA9NAGtntNIX(iM%1Z|0E0-cm zwoJV;4z3s@XSOG{49{uL!#6Q4^L-J21q#&JkpHG+^U)TMCQVxL;%LzswbKO#S3kNz z9%?CEV@-;uS=cI{>$qmfoN};FF569JPVexx-{uzUrf19yuMEVX&1@bX-BGb&8|>Jx z(zhgcR%&FbsPh@5v&K(^S#kz|G?z6=mJ(2e@-Ol|!?QI-v7XdGz#-uvF#~za)0gu+ z)mJ*Fx1;}33H1l$LBj@z6@4d6s!1^!0=HDYU9n~ez$>-Y?ExhAk{BtyM+c7`d!@oj zzGFwv9Ysa+0xU6KoG&hdt^8xpsL#A|5Xr-}Lbfl-la*o*VrrZ@z-x!3?O0kTEQqK9mBC zr^3g4K$0AmA&arzH0#{ZoIo#$q#>fL0JS|_y>P8#l!N2cVlU)$ zNm*JmMK@yStk4`;8PO3oy+}T%Q|3TmITUOfI>xS%^^ixK8aW&{mH@6gk@M$4fW{^T zwYT3EodvaHV7x{+drSKum!sFPt-IjO&N#YFM7-2FVyD}fmvq7_Nr@pR#qJ_c60WEs zDZyk-d*S8H`k2AOnYlbGuJ}PITbw<4LFqd5yC}Tf`U6P zQCvj#94O>5F6Hj}1NxkLK&zhdk=saDAg;-P;buxEa!lf2M}`8lC;T@t0DIX`xu^VL zCFz%z)k`Wzd&)CyqD5F>`o7qBTvZX*s?O0?%8!tl?|`oHR)jpd@8GWS5Z!>?HNdZF zHhr1${;*fAymE!~vGm9B35z{0o7_1Q&ZjbR~mz( z-O=Q3C#96rYcd~91t;#3@WUL63qMYlaNgS(iC0v?P2+SiLB%)kH8JfvU_a1lFAS23 zbl3x@+Cur19{4j4Y;NFlnMG;~4%5CFu#jt~YUD^vdv0xGQ$UwIR4;W>jyYaK-mK1A*iH!Rp8dpM%3JYHgrf2-t#b z?Zvi+QcsX*?$Yg0bS7?cA?;x0yZB!)7SQO>TVi|f`=h_Q+5MKEuI;;D7dt{$jJNoB zstc59uP;d>mX3b6z{!e_wM!HIQ@xv4R^*10;#c#jwJh6pp!K6I__=zkz+8d5#0qOVjT$2yQQ` zaYr)49%MYKak2!WzO70Zrq?c5W2o{5V0<&rKdSMb?8-f|X^d2ih5E0lIm=q1V2;Fo;Opi}taP7J~x?}rAFau3z#yoR9k!?xeG;}W~EJWCQS)Elpz z9&3+8yC)0`2G-B_maE`hIl;M1=O@P(Ti4fT*u=Qt1J@!!ZS}Jzo(KXM_rVj?@yl)H z%b0_azH@brw@VB*W!|Q8bawu@tnfD}N_RpCNw^OdcZrD?MTRb16u&)O!P}DAd{H-= z@q+gD8lq&M?r{@J*yGc)z-wZ@JsAs}qs2h%GGY~$rdGNkBSmS39VQ!W2X5YpcO8s4 zzcPOL_v&Fgp=w0`RW8mKGZ5%(z6h14Qf84B_P?vkwy2?pobjGIlk5gBTZ7=jZIo(QhqL#?_H zQ8~vv8EQ8=?JQ!sn9&a|Ys3$R1Rdn8A9h@_OAS11c4KbejFf=QXXmV%ZedHbeJE0y zxPFHTj1|t&wV&Has8#34^GUc}7YAug^5g}WaFCeJc75?UcKq!TPH`Azak?zNNju`kVa%9|3<3V(tc|dnA zLFht<7Ia4vEl|@K#p( zeafU;El-L-Q4THI5Fd%qt$NWp&F<)xjQ;#-TiBVS(BDLEob==`?s&w&gXD-rZ0_h` zQTMyNn~Pn+)F1~GJ8hH-qImT*LG)02rwUGXy^)(jZxl(#7hjPdHv*Ax--Y@5oz8osMkpo4 z`b}9u!@#r47B?;QYn7UBr$Q#A^loA?G&%jCTV{Nvo)t$^?xF`4iNXPV|LorYZHD zHI~vyGcQ|ol}g+6!dIYT*E?A1bBEH%msAl2cTPhjW<^-THZP1gK*cVZDj5$7_W)z> zHo(b%6v5ao`_B)t+r@+7IUOCTQM3(h08(tVm>t$D_YIi7I`+v@lfSo_`q^c%hj`MR zQx}HyyIp{VBM!eEJ>fBcE4+HR?v31v$Nw|UYO)R6AU9|YLBFwdEVqCTTsOR5Qt?g! zz$eryHxFZ=Rlw~A>4E6kCn_Ve-~?d_WBsBHQz3Uj`L#?SJnsrJ@u?Y2JG-C~{BQR< z$@vF4xA?^e#<2L+vg-mnW&rQt>DM!)nUnIEs4ygD@WJ;#jTV4kg?Q%=bgl9q9XI*@ zYmL@_bKI2EchI*s{(->$C%4UN6;0P4``#}k&iL!FO#dLsU(Il0R|twU))_z&2nZJj zViEvI3kwu~Hss@o2_?=Sa}*b{9AHYluWc{PIVs0m3@E|pc+6ax zIvF3Yr&Q`St3e>PL`8 z)&U7gMwBC^4@>>-WN4hoN?1VZj$=^QF;u5y)=|GfovXTFXQAa2gEXs0YU~^9M_CND+9>#cNFYt*ly&2oU334MBp9)cjuH zcUKo*7>CJFF*CD1Y;Gb$v4~-QfKFIxhKj6se4E2yHC<->8xVbvs>s9|LfTNg7>v9G zbxb&7y0L2dvs9+O%fM0vd9W^D(`tuc&U#XNmrQx9HnT42s<}~O+*6kKD<9x-2$n+r z&!}bd=Hha<$TNXaoC_q{#YG8%h&cVZa(%Udj_#Lo}5kMy*lMI8kPm%2KpE~!YFW0eF5uKWuqLUV_skfCsiqZj?lMLVmhtKYPkbGL4g^pCU<_@vS^Kxqzd zSmiMdDb(gvgM4!5mD;|*i=802_!PJp2evHDhOuOhi9>&p6Qg2_36eI8RJwL6vUCfS zyMKB}SS!)gVTd30a?XXu!hBn^jb%m<@D@^?V{#>hKJ6dzvmu|~*EXrvc7oSc@fZj& zd6EJcw2?oV?N=)?)P78md>8dTc9$e}4?RtGhgG`E3Io}LrZA$V?{ zYTq({JCCG;`$%1LR#hWA2TA_~NBj7=`-J56hs_tvJeA^vk~XP!N~74!-$S2>S)d{d z>9!(r6n2V|29bI(% zv`-yQe$s~}qGZC=f?9d24%&6dw$6K?`%{P+ATI}t-`kn1c$;S@*#<)@Ii$YNM|~(K zmZDG6kDDCuKvp^?DsKzb=@*YR-x?Lf%~>a?^~hq?F)cBXu-qnM#rG$h7UvRt;7`Db6HYrB z4A;eX@&cv*ARNedTSO2DH{$9FI@z6fz%?j1X+)wHrUYjNfQbi*8G?t18KP%lM-W9XK#%Kc1~ft+fKO;GILB286&@qd z0D`CAGddO%HGik)5+&r7i!ia-$$AAo;5G#uT{|H2#Nw*?Hi3=xJDtbW!+I;9c@@jM zhdg^!IA^t~j@`o4yBfG9-ToEhDKlbr@)oARU37%7VvmHMTX+~#$l|KVTr8i}7ulpE ziMyIrmEs*&gb!5cD8Z>3;uw0Xe1`BKuTiX^ zEy&4KP$`4eDdXPcRVK>4G+o3S2&I2uWG#F~TO^dlO>RYm>^;U^$9R;5OLqTjlSWac zWz_YqEOHI~c8@NlE^@My-B(O)C_mcCSyMypYW077dUba`fW4b7n~^Uxw7qW(zxlq! zR5!a#1=6-QmL~;g*c)HgcYC}W8F|0I24jE4>`{U{!e@;Jg8}_?+x3{7^tk+(4%Cn!jYW8%w}s8^L}%O~*S|rS9Ibu#V2fkg^KpN8MVq_>nugP@X|}ssYey-hBhr zeg}|to+P7{DE&hPbsc+W)s~V%P2qWYl?kU|QO;^a$U$2QMP027_YLo5guGO?u9nK< z%ooCfCFRo$krUEyK^o8t z|ICJf>}O=<1}3FSBOAUrHu|M1;ZG;ek+I8?YV={giuvbD{*)VAxRyN=+WZnr2~t{f z5q-i8K>i(>%LwaO;QZOtc9e)2>bfP&8k2Hhn%2G)5Y7^OWd(aFNj*<(uk;9$s7zH; z_MA!g{+OmZ^LWkKuEL|*SqkIY7X%4_*w|AU=Ju_)!rOZFg3EfL6Y157%2OtjWj;ol zs0R9TnvRgd;1(j;R()3&@rL;z4{Gk18HPrn@k6o@M z7@l7D0!KQ-n(McZ&}~QQ?ORjB?M^Cr*=d8+(74##1a=>~3R(i{BhYFLB6e{*h0zGb z)ROA^J!5PkgjKD^Y<9+5Lz5qFl6t1j9V3!8*F)uK_rlCIDHAghLCEN>_Yr+18$6S4 zV4X%={gn(lgO?0DeVG8A0bZ5-j9S{M_b59l_b@xj_c%ML_rGDpU*$$bvF1i!g$90P zfL^6WPG18=ytyfXV7?0Rg}SU~WWaSHuD&is<}bVTxvVcZfcF%OLUmoWouvZl&v{GF zzr_ZBp@GTdL-X0*1SJdjW3d2s2n5?jC#cV*bd8_CV_9V-N8=2FkH9QdRZ-3)m?tZ^ zH!2lqeQcsqG23DQS10I@Hd}>c($cLH9Py<+#t1K$-Q%>09d54JRO*nSYnV6LXQY=L zDm82i^LF+Kkt`D7h7)8G5`br!DU_%1FMIr0X~2hlhJ(oZx379j*Ozm#GADxbi_5Wc zOe*u+ZbucM7p-Fkc2L*avAkAUMQDD^_M`C=_Q&jjrz2r-evG2SH{b)?qo@2a zGw*f_-wGe<59VVvT}0BUYq!DRa+P{Rsm7q_`4bw9as#hoxt{NX=F^=mbY>W3F!NK0 zobJRtANe~a3^2?hXnXDe5%5R{8ep*H97`zX91Q530WuTsP$3bgim>!N;;y-ApGO?x z@3=o8afd}O{66{J(SOSK&r+0yXqSsRL#pwoVyg0G_h?)e^L6!XUiV(Ywu7hMTa>MO zU!HM$YYhAd%^nHRgh;DP!xIsQRvC#hi*ky}TNKd-)e~mi=84aJ68;W*?R`lrdol+n zvK`lR^P?Oh$Gl=2Z=YA#1Q?l$Ver4QUd7R&!zw>WA)X|;W{~7=S@Zh{vXvf)a|KsL zs~d4i{_XPjCnW*>`WG+jKjy=c`oramLI0;4z~;Yp0|@_%+5cxw<{xCj(%6AW!Pvyg z*wD$`<>$#y6Y>vnXX_xSZ)HWKVry>nZ;t+d`RCuP-f;Y;%#VFU$hUmn0sJtcj$=OS zACOwQksv*R1AO?w&j3m)mQLwTVJ~J{uV1>uu5>c^YJs3o8EZw`>*=3g>7VaU4|iaB zLD-;_Fe_l@`|ms5fzAV7(l1hyYQ{|Z^(D#Yi*QElMbi(1y=yBT?0*eX&DiO4j^(WIIx&qe~uP?68qMr|AsB11ZX*=2tY+1W5T z*6@rjE2@K|0mPMFSxI4JI}1p)WY1bQ=`K3Fo+xd1CV>Zk3>TWP9|`woy(=@rPI=^W zh^$oJ8<5rKpFp~8jq7k(o$7?oypmEos+*2r=$WqQLQr>gPp0!C?z#-DM(zI8L*(BP z4>#MkX&uZ6H%~bRmdVre9J1QxA|HKKeQQP<@sE zag|T$|M#!q-)DZTaw&r-5BDPqUDG5C0TzL(L^a_J&!2=MWC2ZtjJSFCJ%=+f(6DLM z3TAt(8-D*g3fABNFb&NxYnysK#Gw%`DqnggYjVofq=(UQ#^P>!xZ zPs(57%$;=ADZRDXy4`4PVPZ1DT7x|Q@@Jw(UyQOi(m_21IjZqbL^<+~nCCXtk~wRn zg7~g79X}W?`lgA_T825C544d~Wtoi<)bvS9QGGUrLYps9?im!Mp4xW5)XcpQF8(QRRl3O z?-x4rxE2k)D~V4+`;$4`h4?`>d-D`CZ!%ae450vq@N`@h@gwr)po52jvTOHxlFG-} zQ8aFPnU}Jhak8TnI5s+ov@U$gNmONGf0rgLCMqh!{-&># zT|-F~m8|%)i_B6L+n1dHLWfg*vj*J#22^A$A~H=}z@*z@J1Ae6IkQ$3WVEi|Imr3m zq++GJ7|M(cY`!)p8jJoPsVe)ihhMZo;k~B`b!k$wSP7Rt5+n|c&$3fn`L!}DRdye> z%%=nAHIf(fqe0lZbkdzxngvJ2_U+U`<7fp`B?fL7!jK$UCK~;W0}pR0u(rN)_5*)~ zlgk25gWeiRkn$H}@mp=uZ?Rhk()bAiekBCuraoMjdZ2psa`o53kzkH%4=4%NQ=~;3 zz|a<+^-Bxn&UT*wRHDBiA8nyp63l{h292fgD#Q^4F_g5clf(DG7+w78YEVZK;ZHqo zD^-8rGqILrj0i7;a_l5tUn^)mzHbS9u9Q(WP45W`P!0N092Pv|)}a;B8sTT_<%{Fp zffq*9a7O~#r`Tv)4MLl3Ee!O`=JJ`M98y5va6AH4J;rFocij*`ZIzb=-fo*&2yBOk z?6YhHl^i7=>;YhPNu@F>Do-E-at- zpQz>Z22*GH!HsNxRObHARXoT4%c%W#Y;J3M>M0#3e`lu~-Ao;Y1cCnsffK=CiUt1- zv;-H&DkQ*%Fz*LTGcMgmm(Dq}wXcuclHAhL^Ili5)UuLNv0Ts+Bucs5vT@y^x!U1P zwYhE6d3~{Ay)D|QTz>V|-)M;7BEdR76g7k zlAr8V|7U@@A)ptw;1@4~u20n->A|?{aH_AI9YGl07k!_u56Z!KFPH(g&-rLC$UWr; zN7(4SErbp{q7E|dcgWzAJEf zfC-R&8qM8eFch+K1g)}9g-Y27>~yTQPecTv zl$*ApSLu39xV|9{pvi?Lo!bLJKx=~qVZL7adOo5=Mw+l=hi7Gu)pE7`qbpYPz#Zeezn&o3%y}-zfE|MY z6X#&?-*{8G_b9 zLlV0u$6({0O)(4w_#|D5JD=NzVKiFSp&#<%!Jz~`?TE(c`B}=+7GHb%>q+M^@sI;I z>+_qP`w4P%&kedlz6c-}xJ}W@L-xha!q}^<4kP4i3;aYBNKlRx~`R!*jdu+-{^cVWz=#q!m`C5h09rx)+ zoV?1G^D|hn=B-b>AN<@=KKkaz!OQfEtG&cM3+vm47dBk0mJwW93d#p#$G&Z6n2{C; zen^{9VM0j4`HTttWoPRi3WqKeF_?CSml+J8PRHNYFLE&H;(_iK^;lu`PfzeCH^XD1 zF?DxMey2OF+AcJeGMYU*W>^}F{6H3F+W6^O-X(_tZyOKuJ0Zx=H1Y|?EqZ=e_9nkL zyq#v|^~TfsYMu=fJtm^AmsTysqb+lDj=uiP<10RKHab=~TzAICN^Q6{)jO{4ZQ5WQ z0R>Q=_}aUWNk4VWf&B@&d_1AUWq7TPmn_WT_oH*R3rgdNKkQRv?Tj-`L4e+pp-w?D zB@OP{m)3x|QSMuRX^zJn*v_5-Z>5}u^&Wr}EM4_M!31b%EH20l`7J8AkN7hj8JWy< zpiS`ZY^n0jf@3>|kaD6{8=lUX-kS=$U$76jG?|EwB;iZw_Ou-&OlX9!_z|&95WM*r zx=>xJpn>`bskWJLLc=LE;fQ2)-95cT`S4_p77P;ErkPzkHw>X&FjpL8Ullu_uihaz zj}Jo*#@ab7%W|W&@xJ(&{S^=)ILb$GId=*j4+cR+{#=LnS2y(&koSEeeK z#wW>auIW63?iezLu59Cj8e_h#$=MX~0aleJ=;j7QpEmD_#90at@-X(4Cf#Ps)P5vo z6p8O`gqS}Bzr{melP0`$L~>((EwS@fy+(&|C@(X)4cCs#cZxNEK!a0khn3!$ph1xD zdSr7DkZv?~zOg%p4(<^f`ZT;(K@AIxPFZzy1t2ae1VOokIZT}{ctL~D+)9fB{r z+WlxUqhQaxp`;;{THc233QvQ6ZBFJ`FicT1I<0m5*A<6?I=|Q;nzPL#`oK-JPPfE> zu;yT+ZHb9Gg->!#sT={9nzk6(OTB!7q9bcKk2whZ&u{f2&g=$)C|jdSobXaZ`rsce zcgbmr>cZzKnq7OPjsTXjC4uUozxrbxTDMCJ^pw1@VDYs|_rG`~)3^_S@)txpDw1kU ziZ>+86D2awF@kH9&pA4D@~J7zo0N-PF7TqxH8qqM%mMTFoh~?EK&MTLa^>QSuAH8V zcHqyM662+!Bdv1cJ6H^c2pJU|*c6LpE)?vMMwK>1LL@fLLw^Nf{}`AEus0?lRBb^Q zCn1SQmK(`uWG0#k6=ye9#%f)k9TS0%-8(r>g_7;FRnWE zuY0sm8=eth-ulPPl^KwKw<#4^o`N-yS@y55!xsFnXpEY@>MY z(ji#P8C<{kDNT&(baWPGw(v;U0EmT^WM*W!VenUI;fzH{JuEF7em;*ah}^_Oa6=EV zF8;PaQ@KOaD#Zp<1Hkj1XDfs_oIBPNw~&%X$45NUQAO{LuoKEs)3?9v7~{zpF#mWe za?;K#iwEE9EitIQko*wBTcX(WY%wUf^cf;+&da0|Eck|)if0=`I*oZjCyLIv&c_Z7 z>yb05Uz%}mB_^}EOC*cVJ+4M4-#e&0Fx8l5*u!>FHU#dppV%O~$mw4wd{M;@v1U z?V^{}S-UCCb73p+M$C9wjx_i;;c!Ax+n@1Wru&t7%H8vrN+<1pW=o?t<__V8F^sNu zu?r1We2w*6G6GipH6sD>o;#0Y8*r1vur^SzM^VQFJSD2SC#1`^m#V8h$K^|@(amB{ z`V(xB_f)pN3_8ERQ5vQ2iKASpDljufbYP?}o=sCx;GO9M!d@xl9G*2~$uv?7Ne5zO z+g}68^$v6rs=e}2OAwuS;465h$+~!R$e=fYe86DLQ5&28h)tek} zJChMvNseh8k7+*@Mxr~Q;zdH1pev#FP@%Mt-jkp+1iE}RnJGwJ5WO{uD=Vv=K&1As zR}j{L7=NwnRgiB=6Vh1I^~z$|E+$ZK;a_&WyJqHIiX10L*Wfg~TY(t*ynSKqTl&tA zCU{#fC!DAZ#?8w!U*!%tgc=Yt+jAk>JNrQ??%$xoD)-bxMgAQ|10#2wtsEhBb~oEy zTMrGQqhB>_0DWyJJ<6(Ud70`pDJ!-P?M(QV{pU4c|Qh_<8|8c*0>|oNz|i0 z7_*n0F_y0-2x!&5lc#gEA{Tw+`tT?cOwdXVXvL5Gw@U(c0rf}rZWeAOXWm3}c#*AU zA@$5J!gen+=v@8y+7;Vb`e7RMma2J1rz@hPaTm!W4N)M`{6>uQ2y)*C>Pq_Df_evj zQ4yJ?SQ3d@tlH&^Sa7AhZqXOMNN&XCeAWEOVzxrU$ zi4E5h{|kL2Q2byjQ8aProipq;$P8=f3W2x*;RU>lL&pgn*ZhVZKWx`?k0F^^CHT9CoLa3?XmZ^E>_9O09k!81 z?GbNCZQrq%wL$;Ngfq)pSC;dT*q}w%o!!=pv0gdoA-HArZtKhbQ{xuTSZ#;A2HVA8Cw_C|eUsEoH6uyVq@l z@XBT+b2K$I`j+li-&3d$G~`EGnRJ9k_8@-^LUvqw4x-|QV}3TcxPX%FC^Vxui_u)y z4dysR8p3XE!$Txs3ZE)61kp5aA>VVpNCciETzh)|z)k$omr}cbFw>Ik_wsG`^~vMv zBZ4jXi#D-2(DTrj^}yEzdUzSAU(6+k4YRV=!<=ty>j#tN!CqyQZ3QC(m1S=AL=-;s(wj`5DYZg4pH2Oi7OhHT>z8YM_R0CGmh67 z%)N(G{+I&AplRgiaV(~%geMA6D4^2|oIBDT<-)$Am+LeUt`_~C)_9$Ch>hc!RkuX| zxJ0R454F=OU%lr8{C-Z<^+XbB9Qc9$<@qbO88Q8o-emGEFk=8XKU@^~{@Bs%H?$P<1Q>Y&7cyb}1zGENZNi!k;{Gr=4EWcoxO)#loRde07F86qPoL}*z# zcYwN%-Aa>bNOGB2VPozPR=kQufvA1FnsZGkE;dpG7AkHiJ+IUKo&?>?fMDAZ9nE&= zV{Cp;H7MjjkDwVC^%3k_RBdS8n2MjO;cUlM8`CJITk@f-mT#ncOyKp9`^Otp=R~8` zimf3>jv&(Pp~45U>Eo^axVyjN$gTs--`}QdsOw3z_EtSnv_ArM5I$2JA3(ePvTvK< z9~iu+$Ugq7cal2$s&3i0A33U?n6(OEwR1pSB8&H!8d1CAq}}n^?<7kHj;~yt%T7Aa z{9gXp(e;CZT>-J|vwf*)GWt0>FoCp%aqUxwdT@+7rZlm3d`J+s=gyWm;H9MO2rxJC zgrs}!ORRg>%Dn?zHVMuRcSIVCqexsedzBEQSma?;s&u!qZ2`Q< zC_98Yq8l}mv5c6(>sO~kb!|O#6jU8YJX`4AKkixPDL00Iw2zX2p^z~8Z}?Suh^uwp zmc{Ab%?tHN{9OYqFTbmxs;QojXTy0y56V8Te?f$?FNK{aL>f5WpW4-X^SfOjrf)Im z5_x|3`+ETryFn(}C+zbC7e{SN;IJm5S|1JKsQhKY*_GzslC>xqs@3PS7TlUVL#?i8|qm+OfyQP6K@O{ENw%65ckBA zhf5$yA8VEGQ`yTRSePJ}htv{-Xe9FbCMvmqVP(ez8IH6q_0>3kk|kcA)m!Fy6|98K zqgzT-H7X-2O{9pQ$ZK7wkW8~Smup&pnZ>P#Aqb>_(ze0u=CE{Z(Ur!17tRj5H56je zQ3;4MatQ$bM#sF!WfPGVGr#IF%LhVoAlf5gN2uS6C&YBazcjwfIuMe>n+IS2%7!)E z4fXzQgzbK~ch(k>4&e#%ql;U8??Cl@&7GUfu;I*$ckGW99!A8D;NY1?Zfl?A;foDO zI?<*vUEC8AZ%#4P&($L$)2?b9`kNgg8*DsYt)EbI*1_a)V&1jQki5^;81Bv`di%9K z3uVLbg*m@Dbp8YB1Z$9EruH&7fTAGe=zw3`30^j9k}4-vz&kdvm=1RT{o}gUc_x*& zFOvKNTUAOwM?kB8+$oUO4|Yz=E3TGS4)DvwK260CoB1!m6YyUK?jSnMWtLOk#x~y3 z-n(41?wIc(-*9+jIegI~wCG~EY)He&{9 zIA(9FzZQekiGQF0vB&BAGZ=P=fr&Sf=Ipezk5!>R5ykWa5uP=jX<`>Rj`#d&HbQH@ z>ev9F0_>;1HJOK{gz(Q=Uv{+_BV7>Z!WzUzc=QTcW-mKtt05aT!%cZ;$hP0FmKjx>8WxCMNGxm-((s(~as{?sN@4FcBGJgff z%rKOhpYkv-G8nIWb#!sfM!HVDaiJ<@Ri)=LN2Y{TMpks{$=7;psMD|!SNJN{<&+6V zZn6synQ&>kd>gP>o=kQn*=G~L-j2X$KY$uD$^vr`IIry(>%|=DbwEj@uTIfyGe9a^ zd;vE$$(f6U3z0HwnYelN1u$=!_AYHSCLopQru`22?4t)_lxa^pMocm5soZJd>DLv- z+z3Wrum_{&5HMS|2Oh)_L94+X+H-O`L=!Zt)xr>Qj@qvP;rOxifDO=Z)6YNB$2L|V&!pgUO$!wf zcOnJQ#ji;uo^TRV#!ClmoCF(XcjCfH_A=$7V(>%k3u~wO3snM zh{=PD%OM*qB86}tD`i)m?5a%>N3UmgTYg@HWx~|F8##OXRoj5`4zo*rh?vC2tvRPM z&mS)l-vRth!Sqb1WSotMBwm^M7f@#)Qg!YwgRHw>zH1n~Yg3q3xiEFWo?!UQla^as z=#;3MrN5H7Q5VeeE_%_~UolBdpGyWi(uSj37d}l9sCg=jg3XwRuuW%il+?9)yugFF zP=Sf4>9V?D8V)NC*cZzIfy?tz*O59>>a9vYgjJ7B5C(V8SbP81Zk#gL~ z_RAxUQD?!BaYDHyoUOnrul+gX`HQ4@U(?c+VBKF{E-eM#qFFe+CCiv?D7VfKBslN! z5l=QY?mDg33_bHa;*C%??8^#j8aQG}#}zz^5K$|G-n?-}{wihqkYYv?OsDMKq7S-| zDu@q&_gj-=8>?(^T(A8J~+XY0Kv z=werV_XPy2geC{^&y93A-SXJ&@iI1gJq@UK!e+|kgev|R{FQ--m2g4IP>fsc8@i0+ zBjQ?~dN~K-MOh+FPD@#4Zda!10&&hmrBL!5lo$^fCqNu0 zM;VsghU~=xax|MMPe4!TqwzaQ)=Cr&1bNb!DcEj5YcY_k5vY%<4yzFD#{Nn^%WcL+ z)`R56s46PO=dqAOR;yj)b{!rluPNEg+M`fhvK&4t*eVU~3KcB6sV!9KJlwfk#a|+O zX+6gr>)1j{(nwVahOhV$@gg0Fp7hcSJ?AOs(>Q+)S5j{4GZM+!YVbAj9`OD zE8gcyWXQ-B68)~+>#e2mLEcyWVz#NS1<@=)y|(a567va9z#NO8@6I=3{j5`&jw05yH@t6lZZUK1NPI99504ZI49Qt-$+W^1Pj} z-pL#uM3&hcnt$Qtd+usA~oH&hD8E_|wOz zZxu_jP>Qb13%|S$? z%wIND99~WMhnp!Bf^^O>ooxXtMCo)`_}!os^fjSJkl8{uL64}FKGvu|%o}#Gm$vA~ zoKL}~`M6yEr2cXhBfb$0GCJGr%A!dnL--`hY*sg9*-j^hW>KFwhPL?mD!O=YG#bfI z>4F6ZGOQUwR=8PV~ssCX_eS8{zTPvzBuf zCx4EhKTyLbn`{Jm7VtT(5M8lOImHq>*lPmsfuPoo&%=A$(0`@tRsyS%57*W@ul8-1)=i{u6fa#5-UB-}uQt6ktPK6V;C)vtxrH_x$3oC)t|#O~t6WtC zH!U$jG&lHjPc71QN|Gm-a`5fy;a&Li!$Ns_ptxUDm@l-W4!zcdiK7q9HJA?5J+5bh zxIr~;@&W@9-@xpTRjwS~k+D@UeSXh|ctOR+x!Usvt2+sN0!q*q6Nx0%{yF)#hNb^B z4h`JTw1xrre<~Km|34(7e-+k7|0=ToTN+Z*mR;gQ;%>xkN*bu~Bh!V5=%^Ay)gA&G zfK(?OuL!pc<4Iwt3SO}J%b&7a1e*s30Q>hQmSHCyMN3~hdSCx$tNkU%aW-4#@8{^b z>Mvui%a923Xes%$P>c?GLW5YOsXu*u;{ArevSQCgHu+^c28=fWX38QQMXbPw!37I3I zG1VojXbhA)AkX8<)~US_E-UTdD_X8(3%bu#i|UNtnpuf@Bp-U9P~6RPk8dLx=R!zJ zs@kdVlriW)SqaG%r>oJ`VN7w>YxpnFH!I=0d(t+-3WCMx4y<^x4nPUE6~W0PXn(c) zbPlD4yiV&kb|TQ4V{Z|f(H}C}$FsRZ`UjqlHU4TX8CDVBlQ;-^hN@tN|<$y<7KYD`CZMe?=| zmknOyH45ayKy!15(3cnrq;XAfI6W~$eY~+CPhGl2&;vt4QL5slYr2MD4tJSfG#E$51L9P@J7prtE9d`lcHDhQv_S?8Cp)o)XK*59(tz@=Z%Ua&8; z{;>T#pV(4wpbIE=f-r)2Bqq_w#;gI-dVn)BP6*oBww`)W1Vv`XA%> zRp+nR7SiaP`3V9#yfMBe0;53dxBy~Ec_0A+$bo>hnZ+}454uP$TM$E5Yq0|+Ci|8a z^(-gp%%4SV6jFMCEg~1xt&;Pe+xMPZ^UUJ!?pt#cB5r9TF!4V~d?dMjG^M{~s3q<^FE(!}(|q&RKJq<237?;1m(OGc zUKKyo!F*$SH6s~{7gFz$d4NK~@Pz>!@o-ubz2zsJtySe5Ct`@RO0!u^AUFvC(X#+()FOtGdHRnXQ{T z+D-TxnIX=x`D!jRldLdmK>7J1k}Pp;IO)_`_Em{dz_Wx z?ag_-B`B)53N{c1+>|&wn&-eJJrS3H7hA+#hAz~TbF$k=3$rV7riH1^gHxWDx%xH` zF`v!}ZW7K1S-yxA=Jml>Deb5XlG_flH|xedWV}W#n@Hn(SlxkElErhCDaSI z(JbP}OF2)`6IU4-&EWgR+#^esdEZxMGZY2o^B4_Vx$Y?NvmzUTTkhnedmT5L=p_}g zVb8?5y3ZpuA2ebQDx#8=Rk|M|0gp5S1Qu9MKa>p#CvP?LD^P52In3$Cy&`Tgr!)|t zrla(*ZUbOanTnux>Op3Rr+|mnjpSyLhGift1uRJB9Au`9;H|!ou~L&>{9mlSb8uzt zw>6rMZ95&?R>!t&+fF*RZSUA-$F}WsY$u)M%lmte?!9&1d#b*(>#5pRt5&T)_S*BA z^BHr@G4KhNp&mmnZ~Cc&@!R?%Jm)fBjO$Fz;mK8A#7oZo)3+#7q2%=4Km+J}nNQq> zLwgwg5UrnXTi=5S2D0eka^O zU2Gt@<-*!u3ism4hFb}un*VnD^yBih!NQ26%@N>#bTOUL&zkgRQcjZ#7|9+#7%ZR8 zwrZz@yfkbPCB^{YLzwD_M&vPXKV1Tm$NzTJJ@yw4RxF_z?S4camwNG@>pmcvI|pT} z#ip~c*{-{EHLzH~qPWO*w-zAE0bMeKUPQ6Ab}we+*5PZu_4ij%8EHWg)5 zx9E8vlJ+CC9=ba_P{^6iWK-ZCHD#RR_j)bm3bxe|Bnh}-dYA0D`}gGTrw^u{04kGE zpsp~osFO_Uk+OM<(K$E##yW@n+*%`x>$U+>};-HlT6)nOn z#&qg?Cn_QkyL+7t5?&t5l^I?l$V`LF+w}IYBk`();#(EzV1ZlMq6t z4M9z20I{U=Ex8jynuqi$%~2eldQ^w3x)e<{>Li8$aJuOCVeN+@b6leO%fxyCfLlhuxWC(D$DP2k1>#pQy z@=dX02i%V{3Sp8DoBXhF=!;8?LI(4jNm6Rnj1H}!G9F1Xz*322T*?t~W!%CgX6RtvpPgl!cQIseX5y{^$*e20(Hi|;}vUpPaWow+>eW2%W zV_~W5cvt@79(wYc=b>|1CL~>J169Vp&Is^p7i1zu>K)3nz0!u{WvZe(u};-e*+*te zm%U_}50?ZiRCjrxeW6|Z!b+!xuk!lbX(sht%Ed^uRwxQ)^T=Ap)#Z1`5?`m;VsvVf z%?@Vu)GVBcy)>pzkeAG5Z+#FMu6+9mNZG3WmGqiWnuhP?=yV+o+IH69Yat99&eCpl z;OUQA@tkNV9;tNWLoRzr%H@71;(%A9J4&vrbiv%!WgUd303s8w)X8IC*QmtcD@6}yZb>cWMofW9sOZ$fZ=;E~R_#b}*4@flBQI@E9=k+o zLp{2K5DB>&0@5_uwee6CmQO@M$!M#u-DZF%-J>d?auCO*`aQ_ekpKhR?EAh4whjTK zvHa^%5`W6DP(u{Dmi@qSg4P#8`9{l|vs4$_g@Hi*Ui$JToo^<3mf>km=KK{HeuXNM zp3W);9S2N6MEKWn8h7iXjPEFaWGeZEloat(J?k$r&ts6EJyF&pfd^PgLfcDjax9g8VTNSO9a6L)wMsDy28>s1xr3u4j zZLINbtiC^#IMO6^fK_oHK6X+c@GXb;R}l}_V(ge-7!QitLcpUy%W+;u5&>Iu5U^D741bp%wcvSm_Mr8*>_u2bwZ4Phd%Q~ z&EqaR*n$>%$J|Vkg?|6IwAA?7*!iC5|3jl&xuSDa&x9yhBlodO5$Xk57JEf} z_<5!oy2oU=S= zf#`w)!KLui2FWEmc1_DK{fxI&?o|9klpjF<%GjmUMts(j@~8y~;=CYpPC2w{E$A^* zQX2?99`Y~+d!LPU%*{OGW|=mKD|YRxvDNN28J1qduYCKXRd~&Mv3rR%UQi*Cb~t(|lHybI}#2*k+kS z%@+son(xJ?H_jNBnoMb}pS8#YcZy}QUaFlo>q3SS@5P+^d`k0JvF+w zR5yxT-EMXceyP*rKW!Qj)`F(JyN(0(XENx9g-vk_9-A<##i7vCD<;>Asn)B}UnCZH zdx5vRtO5M;2Ch<>O2lFHx8nBFwj!S5dy?H5Ti3Qj_n{_Pap#ZRxjtS~5luw#QP+u* z^GCO#TlDs0eWa9mxdRf(wraE)Vz`{FmCcu|m{Vnvx0Iz(oYt#z+6@HlVUTIseRpSx z)3Wy&sV=vD-VEYQ(cFFBZq-BDi2@7%UqM0ydZODn;?t%~ zKfBMs+f&E4TY^47B65CBo3_Wuz6WbKM&f+4-5HVLp?D@?qeu)hZ4`iT;vRjR1-*!h zN3bL!=yMZ%Pzt!(TX$Q3=JUqfzS@IWG5?vZ9JZ6ZIF^ph%M$cT(8kMB^=dc3yYW-d zy$bcLY6t71yRb6AW|Y~T-0zpz*mV~#oFjINNl~TXUP2OROSfFl`Zb?~aBkn-eHQjR zC|~sS@vPLd#GfSmcVypmzpmM<*FwMkUw1WPHzM9Af4gv*an|yLehmO{)BY0>r13uk zg8oxj=D!YSnSU7tk^IL66XXB9>+jQWlj^u5@>dga5(ovHB|dJztw0p)_J@%n3lXK1 zWR-dvO@Kx#jy_2s2Qw=y;|nCaZ@4O{$w?o=Ow%tT4{XS|W$+QhcDwDir>yywD<0p^ zw-=Z%10fbzeJ)TmX2-N-A*v`TcSKQ01Qi}d#+tplpQf7Jt^!Ze>wAV(Mo1bBH2ssx z_m+#L&^*&?wv;N>8i3(hM&5pzlbCcSSKj_|CgMd|-3Ip-eU6+9+2*cs;Cz_|;}hLU zR#4ps*tDs`6t(bE`s3t?2oe9@m>$?{V4RX#Ox4jwSY)i=3^y_bQ!VzYQKO&6;|~}& z_9zAo7Z~d2)f@v*02#6>=s)34zJ@+@x~Z9x);CeiuJJO=X{0Zn7e-t5PM+O@axCLf zV=0#zj+@S}T{ell+;f7A5!qGm&3bRAK_(Ysv6ib&@DH8b2z~uiFY9jt?0Hj#bzU5f ziw+k72B=_$H^R-8SI1=$w#kY(FZBx7tqvE1)v#ukDuXEgKX?RWb9^5HPar8A!VOED zq{tK13;-RmHzkQ>hJl;zawf-wIkDj>Arn5E)em(sHN&5i^6|cu(gtfw4ybjAxOdVg!2|*PymbhH; zxJ++04x^Kx%!(S+QEP?G4S`*!1T<64-J8>9=GZHCS_1~E$%~}O%Gw_iNGx=dc-LpO zn57olJm*&SxOq$*G^DGl?ZP`tP?pp>Bohy+Lxy2@D>affDmVgm`_m0%jvQYrbBdCQ zjO{8{O$GWnglg7U(~Mh97zZ*qauI~+jAxSqt{!;b!e18=VOC+kCL8&va zoKjbb0L|xRiy}ul+p1g^p$(p&X$IvY-Yh^9AqGt|e7Yg|&bI9y3lsQUKJ~7_-ZUBI zzusbfNsPu)@~><}JWVAk)2k)a40R>f?;b2_AK9PvDn~jEoyOf7d+!93ZF-w|mz~@_ zG~6>?d!vJ|Nn#k{OB|$yXT$NEq%GZtYP}1pq-GHSH3ks|)tjF4(v{p(He8P#r?u`* zduoIMNA9!HKmaVhoY)ri3%*W%Ar>oGW}D;;gL+a_?0bqicdRdIa|YOjiUPX(W^t?! z?IP8qg-_$!;TfIsT$YLXj>X!G3(54|qqy0FJWnZICym;m%u>r!I7^LbMiT}8F@_d3 z^eU(dqSzK0HYt@v(=zY&5U`M5zp>EWsT)rsQ9Od6SFnKlPFEDs@4dr4~Y})Sh0ov$~Hy{`=92f56%r(5rGQQM*F@v76t7JC6B(WDrFO zzyzPbxPdwpd@D!|o6?7G2x3wgH;5xaxJDH6`(nR9KptCwkAHr}A1=&4-hU> za99|BX{p(o{eRM$`imdVBGPBIcO^}Ykp`px04-8)em$PNq-0(lBS{Eo$JcZTxy@W; z(>+a1*BYAF0fm?r1xqlxB9C(Ow z<;ZG5Ld4C@JH3 zt82d{A}hcYZmi8}MT@JeI~D4kr`<}=M*v_klT$Gl@zPub`Tn`J(z_Ejsm7Yv(vRu!LYo-L#IdJHqOi4bp^ys!zkSC>F$y_ zbK@0X$J-lNR+C0~J>=+V@D{1#z3eziag9E#2i#}Ip*9~(D+8heJvJH8Hj>Kv>R8#RD0)}wi@q4d zPU4%pj<_?QgrEfoZ#}kouEce(wfUxPk`kG(godKR>Nr&`#P!C77;Kao(DPO88t@bu z;3Al}g5(-*66GFw#^`cVb%J#qKf3O9NbvLww~+u?y%Fe3-4*(uZb0Br9Pgyu(_Kh< zlA4d^X^}cC02!1K7KQB@bZ-DNW$F0GsCxUhJx@V;Nu-EPo(t$Zj<4Aav#S;NbX&;{R8}K;hMTr zMz0bMj>|Jp%jOhwbdg8F{%-9e)VrSsTCBh32IrJJZs|J4`GilJYK5 z2NfEapx2#tXuwXlzQu;v0)Dme>o}QEDS(2sI}hcPi4Z{(-jjS-RTzgEs^6q>F%zSS zLgaytLk?0#!6q*Tx{zI!`gz~%#gok@AbPjrEvn&ZBg(B0KZ^8Ex#)wy;|2T+PvNtd zvUQdVLkmZbE$!L%OKwcE(cZgLwkn|2w?9BXq7YEer&xNeG%O)94y0G4cLZ0!$|Bj$ zYNb2h;cn5L$?5T*z@&t!DO8Y@^U(V+z`U4o9GW{HxlZH^Zs0o_7NZx0BapSX2y?nL znJ%}Leo?6Kyd zT^E6Zef-!kw8uLg?q5`J+Q*yN(bPQ9IoEY>u`)i(TPTnbbyZ`JRcBEz^+!0@yp7Ln zk|wtwXhW#jx40KNxq7vz1)0f5t2ldh{mJeXTT5Kmm zS)^_W`N7-@v-Mo9!JpsL5;g^|jr)6=Iyhp9#@!y_7oR$ij+_X7$r-hVHl)rB@#_y? zLnrN4gk`G>tcx@v#A*uL)HRA1MZ6b-4RsD!Kz<);6QKQK8n86d0X#(W^PCy0w zb~Mx9U4lSA6NPa`2+JaX8Ado@Opih79aVp@raES4XQd}P?coep(p;JMB>2bL0pz0m6p{EJtQM z8+i>6O1%)*E+d+XOmPYuc9h1>tU|tp&gfd~s?&Etkbl;P?V6hs+WX+)P2|oO!7Gr~ z!f5d;Fkbe>FV}9b!TDC~esEa2h+YicJNQ@4ZB{q_M2da^?j(Nb-M`9b1gj`UP6!|% zy)WADe@|xpACl|-Gc*6kDfFva{@1beFFBF_dhttQKTw$eeOfArc}Y#)#eSg(ez}mM{`dk5z^fJ$;f6yeKl^9x)Tgiw+T%M>z-DB5$T6_67v+XQij&X3H-`HvvE zw!+rOYy-lp%{#lgK*IdJYUQHprdkQJiDEvUz;H_08&F-jK{(FUSiiT645r(%;J}OlTL%FFYg3hUPTFR&5z)v%>B}eSH0c z^=?HD9{U{*s600co*fOv=tdkbiM321Lf=k|L_*NiQL7Y{Nj5}-JAs!VYfQJe*hW$) zThcZ1WX+M*DUxjjtx8ib{-qxVl&L_f@kNDm|3@mE(En|5_V=4SRR3E=3_jhM5Q+kG zK|fOYN1GVx0$CWLhz!mTq8Y;)A*K+21_?7ViZ2nd5C4yV?llOhGOH#ZTR*`L)!f&m z+?l0ICo(KUSl22 zQKpfR6M1-$4$#EP?j=}sSxghB29#yMPAY6FMh9gyEgUqb!v-2`3yMl{)i4hQC6JM` zn950z2bu}bvsxwfE-rTU5Xu-QP^}KK=wwe-(Uys7Ye*`|DMjHHVW0}_Prt~HYA!)O zXww)K2~u+c7g(thV-TsxAqk6j<&!yPshMXQGKQLn%o7g?7PeHB!$$UMRlXcmGp$If z66;GXPU87+CjThG1T9a)$o0yB+M>^;zcc{$yy%AxALOXV_B#zU)^?0tncCQD~v{+py5ca8d ziph7eDl?}xyKB(*+uaZ$Qqmx#rj2!c>i$;E2vpHpa%Ea?K<+Am|9I3JIij*w>@K*S zwr}qfXIgO768VWsLxer~i>QK{yR+OI+@zA3?Z!`bx7?=BacP7^nRT>QKKOuM%LXgC z?RNpjjR~<+_EpKf?a8ieLDxc;Q#!7O_RRCk;q_D^TTeIxsF_oHaa9>iMj6t$gU+;i zUk;V9JR&hwS(YIQs|ZHp5WUz7)*4Ae7Ue#8(~)pyzD>zDyk;;xk=c{ygY$d$s9qaO z&j9iE5Qva>cibx2el!ump%4Q0n+$@QeK`Icfr(gV_XLCHS8f>cR{+5gs3`cvWc zSQ29}a#vohG0AxraH6F;F&@%hZQ{OR*&xe2qtZO`aSw^FL$$u?E)LNgYC0d`LTgkR zjGW%Yn&HE(naJMC8l6=_uA55ReLOtr!CO~JW{!;u5|XH6!k)Xw@SD1uISklSKU8}N z1u_ro&otbS6^jnSyi(X@)YGGNfR9KtcH`_KF_)GF=1vQoJ?MqA*>MkJ{a&D*P=Rk= zS528IOf_~;ab6=>_%6)C!@X^vPen-!KZQ-7Q{)86w@qO;#M)FK5YW{C*pwcN~V-8@mEdif4c#LDOm9Wlmn^KoGCMiIsbxV3btYD!uqqpBPF9B?95tA2lPS~3~iEM>zIM? zLr@U=MS%`ey_n7nL*|vVo>{()hpPqYnKT^3;&$q%SK9%x1~9%EqHZ%?!Jd54Hl2$- z*C3XCIovA^;*3z9Y<283J|0i0d5yd^Rlt^MVOfI2B2S1SPnd&lY2w*L7Qu12LLfPP zMR6z&0spo}A%;cvr{}c7?Y+JXgu@>l$c?_sivP7<;#PzIMy0pxVTUi&M;2wSGH{8XAm2{m08L$g;?odylh!RSSXgM?b z8VQxI!YZdDc`hr-35Y=Xhg^xR1#A{>@jk_Dsm7z;fp;}$AtNS`wLpQ*t<59`67rVp#M{C@{fj- z|2b$Q>04$2$tb(z%#`R*=$+IB#{kG-yW?jb+6ltucevzZM# z%cj;GktE843o{bOzEoL|#+$NDZ%D~ti6tDBEG1g3<$fRclGDhtXmBtyrlKp>Q#>xKA68%5_RDv!R*2e#C*;bV@E{7_B80t4k*TDc^ zy93>gmRnm2@{CR}QV$7f8I9v5801>YA-Fs8?!uj9)!y4cx6nB%t1P6K{+Kp zi!-bNhyBW;S+su~OWZGiz-(MS9gugC-)6Dkhq%NLK+QM zDsDn6zzf`MBn8Ji#tf#<5zol|L`3w$%-6O=N9>xjPRid4(-M~tha)_@5z;+l*IP^d z&m%SLY@=89F&uG`Yd!;SZ)p*hA-7q zV9h?E`JH{rhw00 zZlm|^reW*ba3zR~Q6r(Thva#`OlN%RkXw1dHD&_!Exb3=hAyoQvmKg%A3HSrGAMm` z+1s{|p}8tv_T7et2e8F*vxjQy0_{@-^Tax!b=PyAfBymIrSlAm*vw)2zMeCZPq;7% z*>+6EFqvVVNLb?OAn3ktW?R)`AgH2no!ZN3VFDs`&K`1QM>J}G!>*|eQjN1jN@q^R zDO=Hb7AeHvcxGrLAoUO=h36NZ-vU2_$y6HGQocrn0G>qU;w+&EayD19K}SsXO0g0B znzOS$fskFXfTY?cSI7?!gpkF9dyR2z*mY;J=tvZ$g&bIr-K32Cn%h1G;Wgv7iiYMh z`^LFX3EuZ^l+8cI%Zwk9F^W z;cfrus0IkYkSNG4x*pdf!m6z}&Iqy(PKT3bK4=UL4p6*5jqtYsQNwC~L2nT{fvhe|s1=%Mts>aMsW~vqTZwk=7o%mE>Yg`pee#jG4 zS1KJrrj$FGgD8?By|U#xq3)jNh(uFXvAjCaM#DP;W`m`%%^Z4rTteFVZzdQT30h!@ zJ8(I*tgYjyopzyuacbW+J!jDKweatQaJBP;=jf=p*^|PZ?nha#(1hfaXq$X&M$3%c zkNn`651ioMDJ8aVsF>m6U)98h@%Qh|Y#{LTN#YgWeU;4r#zH#u<5(9{JUgY#&X7L7YG2CWu{RJ7b@)#pIqUkNXgV{O(%69e%-ve2( zWp|^{ujWh`-ix5aXPGaIlK|3xFekf`$UgAGFZM7n$5)qT<;>pz8sM6v(vefEWlh_P z2Y83xHFpn4zoMlPb~}fjMAJi0WCJ#t<0dv#AmZ$)3MD9lr4IPNH|ew_F7#q(GUt<3h&<;Ba1802soB7UjJ+6j6&g?0pwQ%0)0U#|9$=y{a=W{e~Uf!H$T)x zw9hS)jznv4al!APIIwKZnL5ToKmzFgwV>hFKoXK*O|DFBtI|x|4O1Y3O^bYuSC(4a zYi>SE7%JgoM}?1S{2ww)PFK>d?3ts$63^bPcdbWWQ%_l5_zf?&XL9@?wK!L#Gax#> z#=vkpP#Xbd=$=Z5nS?6XAym>b@i?Vgt9O z0R-eT!MPOfH2yMamP7k{uS#`)q-prot|LKndJ>_1%XZYDeJAr`)Y07>0l(WfOypyp zLpVqALRQjBJhF&v*MbAw)6NLz7w zV%73Z|0L`>koVIj9AfbeyKFOCQ#;AkGSX}#(05L)rVJl-@<{|K+otarCnBVq$}&$v z$>h3#Xz-2pOfg&2!9+RQt>sj%#Sk!r^$LJ9V;zc)l!pA+vgehZ9i_VpwAE4)HR$!v z^1j8B$!mBw!^&`cBoQ$X$_bKt9fZ1!vO*#2IvH7SH_chZ72*k{&+N1agx?)0Hxiw- zJZiFKIM?*Qf<3#pY{9%#*WkdEC0VAz5;iw#x9C7^94c}*bY4!*ouxC!QYsY2&6)S0 zY+M)pVcUjA3mb?e-Ix$hDU}c~h=~NrR6QMIN$Q~u?b{zmv7YaAMq_U$0fhBP@}`FR z#HN_4h5PCgsk|wF&7RooaOp{mt^z1_dTKP%V=yiwC@pDnWQadL4_G&7oVo_~*wHrR zP}VyW%o6jF6Lty*R_v_Pba**-6+7+vz3T$?S%UXgP@B>qlX#XRGlj6si?>XlY&|?K zjk7U}>$8?uFiE2#^qQG)B!aKVrbr$kMYZ5|yNt2+%1Q8O%v8U%5P_1YnJfL?{Vl{u zfz%~h{a!73H0?-!oorIBO2ejFcUo3s8_o&DaCOw)nO2#JgrBusOrOy?_l9NItzC!Qo&MwP{HzIl`+qd`*E(WW>N#nrX})F7VTZUOg!?i zL%bZbmlrmZDxB%S%T?Amd&CRv&7OSGOt?eE0jFE2>nzO1OL<6>5_b@1@7V|E<40=A z+I3?D|DGK5N97(CPlX|dYsE?+w=z%YkxJ)J3>DlS9V*?v@q4H`RWK4BJgozjxQ|1- zoZc_H2SAr@_m0ffpoL_-u7WMevKC#rF7Hg|FSSAH=ScOB@;$q+n)BLnmFl@8!fz)R zbpU!+359vVyi{vbzaoN7AQ!Wuh9blt$A%aBW3aZ#_mceDu2WKoRAUnW{M4{__uRDB z8d*OZJ-EEaT-_{?Q254hVFLtO>PT0SDJeUjA^?XczX%**_&hWgQ%)#r_Oqy8c z*f+|^lR&c057Odz3|ve(oG!CIa2u@WPh+E1LWkB>y8-_w+|$jBenVuxkTj$(#+MH4K}rxrAqgIawnF6m|j*o3ang z9p~Bub7YA_MBA(7bVT~w?jJo^rUG?RZm~26YkUxG@$w;#tJ&j*WMP4CV}28yAiJ@E zO0)||zsSG&++rO|PZm-xJ|h_#hL_9{2$Zd~hI9PHWJS6|-|Nn)#j!B^aVg=ws#|g& z;mZ_GDeKiYW;GyDD_K&V$C>*& zVnK}kA$JW9#tRMaPiby5Y_Mkj-Cy;UKZw{M3cQ&8htsJL1%YAz+hOa#;hWH0CH6?r zP^sFkIZJmHdT!(Z!oE67cNe;!8_9<)ZtRfT!k(P)-U$jV_OCj0KPqHD;1_dmGg@C7 zaZ*vO16$QZeHCE?W5RQ@ z!h21^(tW6@L<#WWMa1C)R^jgP!mcZ|)xKo9j%0wQI{MNbk!NA~yynM@mUatQW3 zK?H(Mi~_Vm&O?}#g?=`Z3rwEZHevi`k9o1L*MZNpzV@v+c6&CRA~OB(*)&Ltp}Rfr z|8mn!jg&!D{mSAxX#bSSIsa#w{NDxC|6ew6sy1pUVyM1sag{-6z~GWqU?NF~v#80< zl9D1@MR4YD1xs_TkV5J!=R=cpi`~Ck_)B<8)Zqy{U+YRrewCHDxvC|c+y2}Ol{UTH zc;lJgXk%{h`|Nmw_*wBx83V6vCje|zFdFf@N;V@S$_RSiVM4zd1$hgtKP&2m1KplG zhTC0E{cq;st`ODO&Qj#NmU0;i)kg+R`@g-vjM%8pH9fz1c zGF`-0LcCqKx!5v&-9(D@t4Q>g(xp9}sF$H5LfcEI`u3}E^Z1M<`c0i!ek`i7Tvi->#FluGhH8@=(~qT^{7u~!okrTvuXj^ zNv-MJDq?u0O2HfC<*bVuV#!L>1w~U3QE;t?^%kfcB@OYFMw`@A=9XcP!hI+53M#7y z$TgS5Wm)qswp|F5CG*z)skHsL*Qqo93~rlf zrCOcXTo#CXiS5cS_4JD9(>QFiQ>BJA?SIg`B?hQCg2kW{jumI3Q&F=9sF9J`;rh$f z$*4O7k{>bo#P!>FBM?xY#e0YKnN(3xYpDXM)%zWRQ!U!ldh!BXN}<_mCB)X%(wSJm zNROFd!Ay8m^$j&dMf}0EdKu^>TOEV;#WUVUrotIF{1ox!k{iQHH67NwaYb+*avU{dzp0yLFvpr)o9$XcQCQQM0OE?#nm zZo!9J4g^`$myoayQSEgjmBDxT2fC@KEize{PvzineIvE*GOjGQn(E&Zd@T91OXSYz zCWFkhh)iuYp~*a<2+&WG47vp8p=T8OB_>p$tW4D;!*}IFcYxp>Y?->`-t@qU!#lSd zf72E~f87*d$3U^K1-5Mv$D~MV-(==k*;qd&PO4=D23_>smR3cK$u|%65Y}iO0R3L# z8jSz5qen|xZ_(YP=b=)^c8f`+i(`pG-WwR#X0CXH-<5)cdz6J%&Z1}mzoPq;H`+A@ z9@9hSCSYiQtMlzntbAF>L{RYR!f2A z-f0Pboa_GR90CV#FZ~5&*w@!)Py@W`z#YN$pAHF~fq9RZ@6$#zN-ffiz$enL>?{}1 zNYjXgz6ZPT2X7r5WU#b;-#^B47Sd4cx8ebzf`B;$ z?k|-dxE|3nefqfQEdk5-S|tASk$inpZNVWW&a>VoWbHe6O}D&f0lk`UHgG?imn?ju zt%+OD{kL!Gb5J!!u#3z%E|HsFH0oJtMuDX2V-6(^1DG6HuW{Vx zUw(;3g5!ZWpyKPZECtZt@P4&=u%Do>Yz*537TCY!)+cte|0YXIw?iS~f4N@3{i9+! z&;M)_mi;o=bFw!uG7)eya5VYXxcuLTs4le&O&k$azD%IZB5FcpO{#@b3z%JE^L%;n zItyqvWRQe3&9h~)^rFa7+YN*wzkBpf;F?}Oxk$c`YhX_WA8#`^4MG~k(&wXz)pX_~ zpQ9{hvjnx8&yUbB(-VuJ*As!XSM%V=MMNL${LrN68M8+80$c)q1cjW~Gi_`88!(Ja zZB${Zi2GvkSkU%HT6P*!RB0JA;LTABPu@0@vIwYEMQH$ex~7_PiZOSkVR{6BOwCmq zfITDmrj-f`UE!FBMcdXV>=`xvXRG9gqN+-Ij>SkwFRZ^JABCgTx1ck3g71Z8WPtq~ zW}t^6)N^fgbF=de=k1_gcZs~}DAmE6EJCad0K1j)^*3#3#{u(=s&fkBaI&g1{}Ric!`6iDPL| zOHgdySqLTt?Z8go1Qlqq!34Z$P0LAgVAAbUeKj#%pJ@diD;6$lq+Awm2rJ#5-amCi zL`beAdU=`TsZ(2UeLk1X>x7<>QyFV)N#X(x_t07@?hm>*ZAtSRu|N7VQ!J@uR25;t zl5Mftr?nP7B89_`_h~`j^!L%?aTsJ~mjr@J`t-D+6 z)8&qOR^^qqbON2`nUUe<*^%L9xRK%J&^Cabf2z+jO<+O}j?n-#qeH~ECGYWk=;siS z2O;mp5VlT;A2&*AW>$6!VlRpZhJ6F5w3SISh{qZLE&8Vsnoqxi?~c6Dz^LB3O7Zxk@c3kh{9xxatX>}k<)?35|2+CJ9n(-GM@kL) z|K@U1h4rT+aOyht`LlCD{^vChs2%SW&ld^dIwh1b=*6HN`sK?ovj2Nn9sLbCRCstQ zsvX1Bzh0GJ&z!}r;nm#&7(kyc6@q1PuM?1{-0%5&} zpii*BAm9ec0L76noe|-Gbc*{QS{VO7EaK!H?OZMXqv12CJZX!~mjp^6fCTc-&G4xy%0Dspl|IZcT?nc~KM-wkJKOS~%-GVQ@#*YfXnza_Mg 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 z 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

    uhNi{I;_Z$G}m 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μ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 z

    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 z

    HL!E8j4f-MDD2c~L$qhRzm8oFfX8#rsS{#4GCig1b{-?yP{$L6H^gG%se!qL}3a zPQf>wUT2`jm|Irj8zhoH3vBh>kEqfVSd>$yV*%>|HN#u1fvm$76mc>>@gt2j*2vRP z*=q!qd)UY|$%5}zENPZkBJ*jCLr|u8ZJU0W=$C}ekPkjS@?z@PFVj6+Wy;XqrHi%&3}tVP5oclfqHGrt;9jl zQAGvwbWK4O6uTV}Y``pO22ZvY<4hepwcd;m-??N@k&v>ev4Amhf=|UU<|VYkHc~U@ zZf5g2pEK?~PG)|8-`@}h(4#am>$wt#MOm_#89xt^%bGf3s3Gdi3=Oz~bKdoo>#rcp zV7Cn>R(qt5Bhd6vV0WamKgrthZq;s-&ZXPAh79?|z1hrkkBjkJf&7j+*GF(T&PVGt` z^f#rmb|yK9a6b7EJ2y}bo#@7Ri#^hEMq?nk2LWagR@tG<0e@2hJ-wS_{VlzCN;par z((~yby?%DxDISM40ai^2CmF7~^d^KaI#G+|%ZIL-upRq}JF8D$u7`_=krT90F$upG z$#~5fqU)$XJ;Nab3r-BWzlLMspvzjgxZ7RQiO?k4WqgoPj?yuiaCp`&D)KRBFeVYb z;NU76$moAf8!1w~i@!i~)*-JEq5!%awnX5=Wwr-thL8WQjSl2Q^8LioU`P}X9JB*g zda+_%oQ@N^Sg&TB>y+R^JD^5)m!&z(gMt~y>dKNHHfSYpyANO27kkB$yP>aMjoD-u zrY*G=WV*Qk*pfaVSSOe5>mbUL6dy|S5LWeg&sN^7d1={YRY7Bh8;{vr@_kZ*{OU!#mFoZ2c zI-eJ=EQGOpSwirB2Z=p7z>XWsXxCFJ9e{G}-VBtsE-W&b4HJbGE`|C1Qp(m}QV*TM zsA-oVYp)@gKx<2Eu;>w_YBco~chV$^UwDgIM&~4V3Gjn1yq!VaiFe^eeqwR#iUa<6 zUJwkok9X^tGaw1gC*T6%Vph&l8IowsA-iPv&M9%q9Mr@gp9oZJQrL{>oEw8OL&3Er zVb6Nf)j+)_gWJYi*GjT)OI-Ex0?#qfB(7KpO;cF)@DrIbA#oCkyVB+w-iMKwq9{>R zQ%5RjOrGz+vLcbyNqMpT56a#$s;;$577p(2?(Po3g0pdVcip%X+}+*X3BGZM;O_1k zJV21-SR|eu?yc*jW_NT+v7|#+1nnp`se4M|QO7;Q z7bZbvgJ_RsgvTz}Z!j20-3b@w!|*HBvM+8zrg=ZlXuMsq6bL`Y}D5Mvu& zMTNm`T|6Qpj;7>7j-RppBF^~yIh36N12)VZj9iTcbM6GeL;8~MtNM`kI&n_d>A^DqR$f*f#gmLC#iO~#qWzqO~=gA(}TvK4$ZIKTNS-}k1n$;94 zl*5Z9ol4B<#=dnGV8}B&(7w3(+;H{mbpsa=-Q~a07&X~5pCY;dD%DJ~jLpG1Otrbj z5rjF7&?wtW5Ivna=}K{1q3Q8yuLVNO%&H7!4}T+8xy7z9N^CL*@c|ks#HYXpJHAi> zHZqu7qv@y|NtL`G7-<*fxx*x5^|pJsHsrl_|LA0Gv`VaR-A{iK+LRJq*0|2gEj^HmH=Jj)#2vGCP>Xomxu#%s|p%-nUu(BxA!!W~n0&$nMQ^ zj(Y30HBLTGN_E?iwR|lVCoej6ZVSMBY3Zi&ui#;rnDbhY_JH{ebEdJkTaGg4F;_Yi zsNsDoK-LkK*8)2W%B^T}oIirl!s!CXz63$T47yFXLzhEn?sbIOzyL)-h#oi4HY1tO|}#SKA$qy z1V0?HGX(bz*pt<=NW3%^ju)yE?DHe>TF`3fILh5Wq1U$+{R;cT-P>F9>or0uoTIzl zD-VqMfcn0r=>~fPZ>s5__3|SW(V?GV-cYSZ7+CDEzbYZ{g3#djCQg`_*<&;+0m|VZ z@-GnLMKFXB#M!ONIs-+HkP!zfP$0`Azu@Rh;{4#mHt;15x<}7Z=V(XQl1Bh{0VQ!@*Yk{SrS1Y3~b|sxoq>7U~8nN{2h#+xF3&1?0wIMSX=Do*qgT?ZLW}YbQ zjCVxTN8ax{{et~#qJm>$`1o4Ct21WOMMdP{p!qWwiM7WNQuF%O9YLqXDZlf)rYV!A z&FmxZz?17lWDJl0;(Z+xF~V=*4W-T*Vb38uUGS=I)~e=Zv$Og!3RWzJOI$D~l9}WS z8_t0{7!17=2%9(jJZ}3KG&p zWeQ2pxwYq+&dMkWFvTI!cA}moF@+->A07yQ5?U$85ext7?;SgEvhYYgcEZ>o7BX|c z+RSY4&E)5A`t`cA^ZV0mn1j9+(o|ps0#pXGB-Jz@s#_r{o5AViu-CPK3k#c9<``6( zzS$jovaFoJQS5}AfvIz-zM)@%=)RGs zuG+X>G4_n;_%ov|S-oL=m5wy2HEycWbu=Uv9D}dxqLQzTUS!<&1LLHWU*uqX0`yYq z2D+l1LWLugmpbB?+65C>OsH`~umOo_WL`34>7|)qsAVZ#P1vU6Q6fPTa%Gi!0I9FW zp98y?2mLKutC^iOE;YrnYDSCAoM|~KMYBVxy^R2xl#lAhVFHX&bXK`_G5aNid447V z!=tSy2>qZk!m!da&1tRlQoXv6RP8uQyK#(|!iBX}^G)qgE3tt+-!*9`(xj+C-ft<- z!*z!=@Cv??D@D7KsT^-nI`SiqN@i)9A?KUk=yAfCN{}Z$qEXu{HrVDrk=A~gsHU-w z@*CtGeO%E$;ZkG(u{*P-tYy=qKb~z>QtGEGC@#oicGBqDXxutClE_&*4v)2ja9K-g z<22D%X06dirMNip$;p|2jS3z-NH*Jm+l-Jr(?IIc{ zpOHMIvBUZWT+pN};H60zJsvvcD?NioWSA%diMWr{K~|jtU9pWEReg6B_MEwXtQBPQ zcn0rXGk(;>Tmil9q>oQHj3@kvG!wDQF2w#jG)uo=fwc^$S0`8d<%JxC`vJ+>*1<)( zlC&Gzu5@clbLU(LiggdO({j@SNLrDny%+9exQ|f%yUnygjK*FGz zSTgEC-u)5f=Pllm%@f|M5xC=?0K z^$QW|NIv^EycM`kTkanT90y@B6zEybrW@IPX#od)L~s{(hULm(iz3_~;$-9Y@k=Q8 zQZB+g=Em~7znDdf{Lf!6u2H>22+Ek*t%qD#4<=V)FaWYSpPXg|#Oq%LlLMrgxdh;C zEviA#90|p@H{TP>%dwbvh1H!yl33BcMjTfQ0HgV2U|Js5dht{IUk;Q;t{LCe=?>E4 z^B7K7LM+zTL^s`DG>ywoUPkz&W8;-smlp+KHpEt~m3f!D%#kHf_MSu4?5x-}zr8RQ z5otv#)C>YW0rOTJ{Tg-*qsF26&H;hE1di+k@b~M}eKUz#+ocJSINb3=62ZP)( zBp{J1rl4xag<#4*>7mRSfVaVLopSWGWX2`!+9dz|XL6i$L$_26)Xs)>X#;DT2=Wrk z=-*#N?0_VFjl7~rc%=)5aW?zLpV?0gPs`oSr+4OJ)Gwbm{22?58?;h_0DWUH*I8ZV0=`7=ogX@hTec(cjO( z5E*H!VE~e<vH=J+8e z$5>D)2j*jC`f&!5M2^I4sVJ zJ^N<7&J*5$^qh@A>^^=CFZmBzl?D6$A37>OMRq^F z%wF35z3$q0WkE@nT~%{i+P9V_EzQ=v415cl$hE%7g`q_>j_BBXF9RuKaFlO|D9T`s z!-Po1Qk?F7rA;IyIlW7tcfyg@PLmT3VyY!|N)s2o=ATx+p#0Ui zl{5j}tv^65=pR?#|5cm!|7CfoRQ*3g7}DxeoNI$5B-9qMTM*#4Wni(`tQ*NyL``B) z#Q1^GZB1q@;(kGYMtB_No-gCs^Ug%)CxRkae3*TvJ$hV@FE8tN4E;Z4NR53FLJA8C z%=FtFu!mUlD{&hA!iEF^WuF0Ufi#H+nn*~kIu3Dbn6|wJF)e$FJtJ!TZfO~O0-ZUU zXD{_7k27O2t~5>MDvkARx_RC#|HLm-YE>Jkk?lRcf^*oh1M{ZN{o+X#b{M6LgD8d_ zS{E8?zh{4EA1+Xwrh71r{Z!J5lG9C3o*28=r!*$D&6*Hr4G?}tF&NBMLNxsm^XP%1 zE$=bJ?4GP!^wv|=jD;c^ud?l`5NFjzzvm(IKO` zHCuf)zPPM~lU}4?^4&g!J^`tL>MMYQf#C>RAfb+2qn#S2hv7$pkK0)4^3gF#(Ok8O4lUSB`*oy4iGAo*> zZfX7CR|`e13d4QDh{XHK&=9x+#<5Fv3!iJ)3fZs~TA=MWiw?@_{|uej@3IXZ-WHdR zG0P0-6cxvJK%zc=X)U_b$I|F=Y#b|6J zYJ8*NI0t;hK6ln)ThJ251&NY89Mh^qs z!Emzg(5V4&DwpPsWsqe~L_EHmLtJ+kJL6dAN9WF0f4}Hy&ZKeyAF+E5|2U!eS7Ran z^F{xkGIOrl8gStYrr-jjf@*TwyeI!Cqs8HU(UFd1!S9)n}H=BQ1Ri-XeT&p-Q?%2~d~reV=)XR@IVDGJ`BnrKn`Xm;e)UU(wGc$ijdAmw1rg*O>W=?VJiH{>uL zbHRN-d1uY3AMHnt=zot33lJ?Byr+%Q^fjLmkWs)zCgv1g6-Nj#<;=~2erMQX)Cs`U zhZ5!(MfSsGuW!UB!dx1R$z%`vgsg`Q28Wu%_LYYy%_Yuy5_QVc*{6f@7*G#c8N-Bw zhyE!eeO-~pjJR5y%Homzz+jc1_(F3wC(_ zd5zs|dgD&i6+7WC4->cLicptD^$vW**Waf!_9YM3OVmvK%c6Of>#iEF1{b#Wv&i-U znZ~X)OknJua`wWqg>0wkLp`G^Bh2SR$k9`9Hj!GzV#A*h`pkIvUstP{3ie&+AP!|o z`ec@UT)RuvaUSP712DT4QAYr-2bj=SEy9l@q*Dc!@Ttfo$VRmN%|Ej;WUgm_TEH+@ z$EJm`nTA7#O%os|rLVsw^+dI5H5yPPZ#VW7Dy>V77u~{VE~fp&I`e`5#TXm^-7e8Z z27{0i-p$M6G^vC?semQ9tQxmJhMFig(4!g02{t^^H{>wp^n09@GF@?>V@lckgGY`rmu0&;MdC zr4F=qax(|~Ut1slGy12Qo<1UK6`?UG3J0|v7M{+A(d3`U_h_`}3zLtNYc3xN0UN)c zfBj+zkj+r+9}49jVk;>zhQLuR>B$*@t-}Rn1qIpyN|ye({lw*Bwb+FgV|P8gSDIAE zeTk~mY|#LqX}M*?DC*Z+z?IVz84JeLNaE>?QfkL=W^Yi_}Z^UiP4FPsH+48Am(sdW$<6szajiG@j2K zKW3zR5<6#uTQ&}>{|?gS_NZF!K2jebni4cNsw40EkxD%Y5%yjhke<(U(}O0TYPFIR~%~>&HDT zr|TP&z4dzqMl#XKs>66;AuPG37D!cpSdpNFHJGoc$ zn|qW1QXQj&6sWCaPhG3f3Q;tJ6!~;l(i}OI4ao+NNiQh{@DB$$@r>41{N#0m%0&PP zOQKp^UFY1j6kB%q4Z`#^YWiJy@+x0;LnDE*5la3Id^DAd)wY&``|KdIB2u=T6^&r| z0qsTgC4PMSn1f02mA@|*VXB9xaD0^J(m$3a*S}ht&es1EB>#`7X1}Jg0#8d$AEoIn zk`~Pac~nMQR?!eJ*H%b0vFqM;H9RD|D?CR-%&E+og`4ktBZW63rzv3tkmK0+FHNmU z*w61b{4V)bnXz#R1YFEVvpM9MwV6Kup{Y^Vl^L6mhsM10mJugYm&xf_vXUFJn?(`4 zLAB|ltuvtD(BQ3?moN+xAnLFA8y;!kq2C)wuoBYBXl_Q^*bW#T+ah~)L>pxCS8t}< zknm&dbs*wOM*k(Ikq5Q>C8l}*H!%%iueVv#R~tQ!HaxFhOHBe)^z3Hg(uo^&g607W zqOmx2Y_r)h+$b1KZl^(lq!+?hkoA6ADB;}{+PFcjB>1{AEs+l&wGa-VoZMH! zxPQQY^TXu?Re5WTAxzX(gU7$=Wg=pcuc2*PM?7m66DbXdJlO9qzNj$&O}6u|a*QIh zW4D@;npqdBW};5fYQFc@2VsRtt!;g^b1qp!T9-AhDsBrU=9SoiM{q^3a;xSmxRy@R zpy_Ca(fUI09^m>P)o6chwGtNmFxgjdLTYR_C-OsBymK(t>LCHjo=&YJ{B$@GcVXFQ zJjFl0watHby=7sURfB>wtgt$~_^%kQBLCFCtC77y`#Da|4?!|;*_JYPYJi6_4f77Q zR#6(L@~sequoSaTJt$X+L^vpqT!Cjc-a6N{0PHQ?2YJ*nC+P_z*H3>9PJWz~1CeIz zvMe3qP>9MA`GgHO0ab1*IO9S~&q`))P4x9RPUqULnhUGkK2~;x0^2bwqKZS%&`79k zq@;r%A8%fFwM})l)E?lyPYKO@TCs<>2-?8_f3;h2-Q|0f|C4jEZUjJo5gYcK@ z>Thm1J9LepTM;^S)o6TlQXAVAiCV}8B?uK!kryS0Bw4N1%aJMOw4Te?_ct2%GWv5l z|1agel?yH&I2cK&31f1Po1G`VC%3siz`Gg$_&?A$@V{XXykf%H0^3Ak_o`y#aKU1t zhs{t`jr9hbW7-Crsax>Oip@T3gFSBZR(*scP(r3-Nr6#Qy2h-BW`~2T@uH~R`(wok zN|^IWi0Y!>Rb;zN8dS7J6)iGr8&g&R<}m^b%pB1(^EO%od00K%qnz1_97{FQ5ulFN zQkzPE26e2G2GjXuqdfE8s4evt1hZ$BDXr3$x74=<5k3q+~2O zPLEoy;#w&okEOOkac;$jRUe0X!y`Aua*|A9?l`UmTZ!ZRH&iuKaxI-BO~h~oqP{%xej z{0`A?bDyXS?bTfoD!++}3`FLJe#!B`YIk#Uss9oC#N)cL_R>xClp%_2Q7ymI3AWh$ zBRFj@OJ=pV5X7g*XIZTin61lcuuYqa*u5XdcM({skI{&1iL^0!&roF*S(mks45#Tz zX=$eq$z86YW|NJk&%b#stcMqq3 za$GS&kEJlNs`2=>E-+whI$pK5c9~ zc~gfSK2@5(hIthYFIS(p)(FeP%(ub_iG+?fbO9Y%Sq-US2$3U=B1#kU!y%QD(CGz~ zx?cV)H=+-fe-M2P*L)79JjwE5OH@x`e~PW_SG-GTP#jV<<<8VLd7l>JP?=QAw_#M& zkQvFp1)?x^?EF+NpU3kMbnccZ_mLqpfIhvHXUtPlW?CW=so>ZmxG4yJ#rex#m+Mzb zVdwK`_AZYI!U4apA&)YC@!GfY$oc6zFN0Rf$)S9&p(W%@3Ei3KqLTS@+SCzdJ{r%N zGCJ{}EM*W7C zWhF)QU4bk#y;=uE+QQi=oD}n9MS92H#v2G{)&(;{irK20^Hx4loo&1>?0!l&6nYVk3~HLGe1{L1@y3!h6HI@9YWmRsLr9i%eL%+;e&CZ6>N8i4r*G6r_NB{X`y{1qN2k}DnQDo zJeO#eJkXhD9r35HRO^`m`IH6xx2P&6L_M!JGmcX(jCTPR_ zAS_PZ&)VlznB@rJeF5n9>6H8^KA96&Gmvup4JR6cJ58B{aB-U9FIVOnA}B<8otU3iDnQ= zQ<4<9>>B7>;GhmkB<(o*j_46YQA6?01Cp#>W~Drz=ECd5XJDRuAE=8H-CU znzoSMzS?&-y~{QbuZBF{{c}Qnr>ijaBE)UIBFzdT{H( zwg82KnV3D~&LVgqmoD)vZ==qsx@yUlnS%8q%dbLPH1DhN_g~7Zh@BXl8^Cf?oj9GR z0i_88(JnTj6QgK;#IuKp=MM4}w2qFQ#IP)8B;q?ML{+RgcFxfj+L}$gSeHQ?0!Z9q z*j9PfldOKnSFUfqrYJS613fccXZUV#1y|3LAjWbcSq?jGZ6KRoE^L2-z*enPE)J1y zwi#~`@lsX#@J#!8ZBP1Z3x$ElGLHdUo6|GJ#hFi>`&*>37Vb{eLNr?AaD9p`YqwSj zP(yB|>Yj*fA>V)OtyY>dtQ}&-Q9PRjURP-p2Kpy{*&tbI%S=&}a%qr|~sn%H; zSR!vzM8D>1mMVX$JCy}-sb?bl=bg;i$Huia6pOLMgvn2I~SHc&C)tDy;` z1;y0UM&R(sR{dC4h#HVx@*H<`6AXfY!cxQ2F#M&U2F5d!Q!LUUT2a?i%!&XsXi4CD+EhCr(tCsq&Hv+(w0qE@V|7f+Ta-Du2#pe@Hf zD{UfP{!9d%b!W`C=6_R=eu`VeV$+j}56L4^73dNZ4#g4i3H#*4$?-stm2mK7hINd^ zH11T_)rMS}WLM@GmoZr$GLQWEV{Glj+>`<aHzeN0i zNW~+2z4NnqhXUwFe)GV3Q*QamZztNbALe&|y-F8Mmn%5cDH+Ubg3H&Xh^K@Dp~gd@ zFIlWOk(%B~h=2}*riaq6KYf~HY4A+%SaSRwV|c!MJ-}HsK70*&Hqyxcs!iq7licG# z{j@f!e?R?2&cY=K0kId!2uq*_7{W%v5P>3Ct8NpM1Nkx`Ud|Pl{fyXVSEH(5$~`!` zI!cr6GV}L*D*d3(^6GbZX37P^0{qyf{T9~T1=*2C|?6TzftUPV~a>z*dBMOUWso6eb2rGt0ok=7HJhhGpPj|^gKT1CQNZ+QHc>^!` z(rQ{*U+^oH?J8)AUbzlUOIw%-NB%*25E;xrJ5gy>p=c`y@RQ!6ZL^w>m~+3eRg7ER zz$e>}zfuSMqHNaEeBOGn*)+1Ip&`v+g8K+0*st6U6JY($(V84ntn<2D+P|GQ{~3nP?jHi8W4+;ntE`)y2}e$aPd7 zcJ1f|c4Dm8&i6Whc7|R$4t5r2^Z8+cTni=A5cW8{#?)~;#tqLY(2s(<13Yx@U zAV5+2nKCcw8#a^Kbw==DWsG_F8TFn4RgEPlQ$RVDFMK|>mha<@Gzgsmih0aSiv|{v zzyg$R#7?@0=PNlt&nc@FizDlatttEA;Z0+VWI(=m?-^y2nH+@?A`OBT1oIUcz)4KG zp(5^ysZTfuO*+AL?jd1t50;787PByhCz~dw-Kc-uN}rgcP+F2XAv}Jd9#+7It8PRz ztRLVxy`Q3gkbcJQVcO$=t_!&~jt^0=OPZa5@0}_8{YkiHz(xG6nEp*`K=EeblOOfo z$+HAjQfle5Io4mcn9s2xJNq8!e(^v!|J}WK&$xLDa%n2s)8rePH|+wy4o4CMj}MQq zEV3Coi%Vm7{qgyJiUzy~bq_Wl3tFKB;*PM5c;Nt1v8mWwYR^9;ewugYs3hieb%fY!;_f zJVA5HMWJ#e7s{#cE~u&S-WL@?Ab=>w(z+yIchQ&r>_~gXk)@$p3kP?g_vRWv97^_`RBZ7xC4ie4OgHj;uc0C;qzPV$Lx4noB?1}~g01U!{b&TXrACs50IvNS3J(523wYn6Rw-KP~j9_KH*0WJn~Go5%6 zj8x^Lx7?8dV}gVJ-M?k;E~2-B8g|>xItbH>s8#T(7D0CW{=P42Q^yKM=E|lcfbuBS zfY%`GTtdzBL$F9HGb`*s&hI~nd*c@)k6Mudv)56?EhC-3lmAtxca&7ZRM4BGBqAM4-sVv$tUg%^b`6Rfm6PGgEy-IxMrjqve>f@Ui zK?5GM4Xb*Dt-P3{yckkERu@S1Q0E6izJ39|jWcrosPRf>^3g1{X@w*)!RnI)uI9nK zvI6A74pgC)WD;m1fQx>WUGq4hCwx*1!$rPc_PC^ys?|auz`i5x(IBnGI^A+%z-o$d zU~SsU472I0QRSTSWFbS$hW0_hDQW+k2U(rVCDx{`V$rB7YdWTQ zXmO*`3{%O8M%Ip`H&8e_Z)^47tUb@_d76QIFv9~9?2p(@`r;%>KR7b6KCsZIT@~~R zcR2LQ29pIf4vZ=e%!LlKFZb}KGvX3eFx?}0@OsSY41NZ7EwH}cgh^M#z6B@OblZMo z>v9V)qK8Q|G8|54KmnWY=*Em5kvCw{dJrmjkdo0*rYtqISyMCxNNBk5V9v-t3nEW;$eW9%0iv8;+=!X(NY znolTA>}FZhkculU_>ki37{LWk zr#F-R3;^~eqN=Z~xpru3fxh3c!2gf}zum}m4Xizp z1;?BGS%(^+85f5;nlqlslsbKK?+X4l&;)Z!49_$p^hLz;`R^WnKKLAEJW|JB3)H@f;CH!vLBoK4ODgGLT(y=oFJ5&h9K$~5N?Xe6Ulf?yDVkWJ!J)p;tT+=K6UVm& z#FqEgBk!yud8@K|DbzPpL@qp4mn}4=a*m?!}nC1DRxul+WFQO@2Bp~WLgG_N8SBl+D+CnepiAam$zLmIdKxxnYW+d z6U%rkOG?XCw2A81#R8X6T=z8D2e@%fhvfoYS2G5g5uh_RM(qgunDj*FcscTqnC(qO z(jg8W!34;v=~Dy$1~qPX_f)1dO1BQJefOF~9VX`%YsHC46k9K^+N@<+s8S$7Ar^y! z$mA0u2Upffbr!(ntdT&f&4^XgpjPzR%kLR zJBr0KbZHE;xb-?8S|xoV<4&b2pOBPUxa4dV_cMr(2g z`OXxBr~EL>Ed$opYW@BvWECJZjOCy|4aBGVWUi*B=UUp`0WCM~M%*7nXP-`=P0 z#OjyvR(4Ah@GIB0bzkRCc)x`J09NntHD*`&KKQogO<>f{0Sf)^hy{4&D%?SGk(A@2 zDB(S^u*Hw`%(_X?$Iy>F?yD1G7V(?(Aw))l)w zQ#LAzNu)~{4+FR(Wk20pX!0)x35x@(_=`FmagF{_#M*3{6i|%X46<*U>Ok0BCGG9y z!Cv_!!wT29Z%k@sJbYn{l1WOy_xT1s>B1gbHLf7~x6DMrV#RFN2!FT*hD_xXK7@lu z)L*)3r>}KS{LWY&>ur!mHk;a~k$dcExIh+7@)ed_5(LdtV%uL`?R~6kUI*R$dbbEM z3gd9UtajXVzAVLe@tw!ae17B$6U)usPeYRO{d!HN=94wbXXThn&{^J`E}^->_$~ws z7s1io>Tq8J=T=U?{nc~9w|VmSF0_8^l>`@*R9hn=ihbS@6o-(d6Bz+YihMiLIpi1( zk0rV2C=rpbmA&IT7Gw1@!SA|#V>$L_oEd^;Z65dMrSBg57$^-Cv`x>f&=RjGT0mrDIW<{_`q60aN{`3A|a36Cg|zl;|@0{Zru zb=tEvuEeRP0;NR96wRBH6j0uqXVMjny`{KpkiYrV`eJZGMQe2JDy2s%adT3 z4p+NOr6)#htWifNCjVv}Bb^&gwMSbxlGae1a?e24R{@FWC~0jUvrmNko4D4IynF2G z39VA+@;42dzNjhByZ)CF=Z07ORaPFWURIlvi`6mpD;%3M`O241>Z#FCojMVpPJ;!4 zc)qu`(Rw?W@@)4LcM(KsIgpuj^9FM!u8G~^mAAkfdoYp95WTW|#{71$IS<1|hDTB^ zzN^6{AtbV3Mpd4cSF@ipKe5`PwI7Z^Cd>&ajq!JoZ4NiT)Y1Hwt(kM|i6EsnkiOsM zD3`@(tT@*x!fsG+`^2YWa-~2TSF^JYh0Y8S$r?>1 z(RTY12vuGw4LEs^ijpTE=uT(HSf;tz@07yF->h|Iq`+xnY{I2yZJ zshGR`%|}%K8!M^(&(IU#BU|VOTpC>0~wsRhqBmDH;K5XvubTVKq?OupFAe2lj! zn>a26idH>rmwGM-H49m)v0CJH?aj3dbzT~4Tdw`fd)HkosmB^K<)fkf+Feez?}c{w zEFXXT(euXWt9?!nSfj;-_f;m(h&Ca%fgGmgJXIzXp_2?jczX_{B_6`_yG1n=B9=f9 zLK~*Jr31@9e#?(EVGttdKjHm(LgATl?;pq#&pH3I*w-tD!#5Gbk1mSkfC0Q`JU<@c zSqF3D<|i!hV8%iGTe@&B-EJhUyK|-D-HEEN*XJNh@@MRw`FHIwY*lVdKyCt(>Rby3 z1q|*gS{Tw`hlNg(g}ihXQ~2(0Q*q%Oyh)2u=uwoNbRr>N#|Kg|Mh+S#X>0X)iv{fo zrRFuEu;m>3Obb9G{HVEVTWpT68vQupeoWE0X-B12Nn9aIF+tNApRQ_+DUgp$|vR3a=natZrEFMD@S$F^yD+zs)C*7u$B7wpTcq&t+1y|Yqo?3fze}eD9Gj& z3}JE-2NfunYw|#1Efnc!+yPcYWV8rct=l4d9j7}MA*N9-U3Dm5&7r58ucBkl?{J

    `0yowX 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%0Ar2bEBQJ_L@xgMsK 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�i?bA8s9I9t>2J@|RuGP&%1$(L=F+9Et_ry<_bTEi z38x92zWdKilI3xor|z!P8Yt46*wPaV?H`s4-I&lXXv>?9!Jq34$?i zBIE_=JSJV1uk@}-9Q`$;Lt{J#W@MT}7t z6kfs6_Im?|f`*PKBZBk=_r4*p=$>*?lN3s=Rn4|{j|KAe;2CEOy6t=+^E~cI?P6o9 z*4xI*{vun81K{Zk;b(Cv0A^8IpO^TlJX4C|#@8aPL-;LqQ6M@JvU353WK~!z4rwFW z!9v_WgO4jC_iEKFp$-2fEyKZHZ+L7(+Y&l;iE2<|%PQ|CmA^FIgtiFET71WhwG)e7 z@mdwH1dT+#ebQ=1$YVyA55qz|J%nNUX5CGJ#h}t*T5}b9T(o$SC?d-|HKt~?g=+}- zu&MDNP1Id3<6LI`;sdfpruA;ce6y)qbJ;aY${(!SdII-n^eGwe!^g9n?+_SetFw86 z%)#Wm-yS?bO5gRq4wy>`Tm;A;_?qaayXyo~T0ihM7&3zWhW-$tsZ@1i;+^FHg)_*n+p8*ZTcx&V(aW+X#AgxoPSA*g+-xZ3nAY8krWdz z02NRLXBPpd9v4rN4$T<(tRLilGn}p(k||Oo{rE2N|@>exkl-~-0t}{A-ktRzc%bn`DSi%RLh8Dt^8Xs%XDd2 zsj{MBRGEx1>f4xcFKJme2_78iuT8qJvCgT;h)cgM)j~;54>gyE5a8rEW-8^z_$Uaf zPedr>NqiNFLlVP$PP|CS+&T9HwA`mGv!^`beZ#(V>sO!S+4jM^v`-Rnr2xI|^rAf1 zWW@TAk#5o?y_znqBM-z}bR#oZ%(@s4<}&s;Fqe<8kG6xq=rp=9SE-Y%f=#BYkEgvK zYt;Go{PUcLDo?k$b4OL#^n#R)`nMw(Z2_H~9bgc6b(*$FC3DiNmsx2NUHv!e1z6rw z-+JbM_k&b7 zU9ec--xKg`4e4ak<^&-d%q6snDKsRfV&^N66dL*!kuf5>sXPEJC7Q$s;5 zZ}-aftc~?QvOF9HkSAQJ8X|p9+QDGLzuWvA&Xry?(z5p?>yP%#hHTbUv_FGZJ}27wI+s~%b;3Ad{TT(T%tpi&w+00jH09dDC-z2qi;0&JQvvV9--8zdUN^?_E647iMUCrq%M{^bm3gmlyX(D{2a)S& zRev~NrbfJw&qnagtO=7Ibix2Q+fZaoFZI73o=`+i?l_{MRB%4_4Pq`~;6_@-|G{pp+9=S+$yE{Zv4IcJb> z7W2b6%?Yvlsf?~rN=Rutzyl%QzazlX1Wem)qw#nwQ#}EOxN5Jh`QY_X26Ye=5wg9z z7AahX3;W(+8~NXr^*m=S$vT1pVbIba({|SYuP0WwWgY8Q_P>C-`n|(IUnoET z`{o>SN{0f6@^s?T5)S=Vn47KrOvWTY1%v(k)9h$=%q+9x4r*nZII_3UmQH~k$T&*oHl|j8<(vP2&1ASBff7tTzV?bziwMY5a|=XHZ&om9#8rH+zx;wL8L7VV62jJx72-a<{05{S;uAnD z5JSMTvL>NPB?H|b$kn?hi$riS*&*jjlf5p~yUGckTN zk>LEatd90lFcwJ`RT6U2w{oANU*8bAwGj1lDZ&VEObaUM(Tkx3BmKn3`Lw9M*$&qv z_&|BE%K|EAY`gt@3Lu+*$@?!Pi!O|Rt?4t0!hgov|N4;B|BX2NzYghtotMmClJZ7^ zR-b^x|LnMbK287VIKCIPJDF?b_~ns1%$60ZG#%#QC!-@EN_T>S!||p_HydiGyPW>6 z@_&@Ng?rqK2m`(A#oLKt%+g2`1P=*HD>9wR7-u_bI(o>??*1YTAc%6=kVR;X7lm}4 z9|2T=xFaY0&e}W2LTA&*AZKWBe9<`&S1{JE#)#WZLNbbgb~M&osyG{Q6f8f#zO1Bk zrP*D?mQxo{u6|)`Xu>9FZD__$Z(nNLU({B(Kg;9@NOc{tj|DI+15d4x26i2&feE>$ zV(SXGqY$vU4U$OErP{g1ONnh_3F-t-+uflba6GulC}+0}K#l5Gd1U>NqJ;w%NWwyc zqkE|qBmZa$H^6AvKu2Ne>@bb+IDXXC*N-!>3t-uW#Ki{NY{hj5R)~qGrysn`O{{DD zp-55XZctqUE;B4BrJnHAh9{v_!A?1SZg}{}>N_ptL}ZwUq!XUbdf77|G=ZMNas@t5 z%Bi20(*LD@?c)MbNE8gvx>2q{N44Gu3p2rlY-o0vUu1rn%=H zOewXWQ|qKIw@0HK>su$h9UmX20_@9O9#bo23(Fxd5=7kD%=hOyDjN^c$0t zOlMvuxZ6+AXMK=2(Tc_A#$jp@N#7R#kAyv?SdyDyp_+OnJdQdudM1?Qp7@@;f$dypcGE(dROD5ouy2-@k}m5QMkh&7bvb@;}Nk^8Md9&)=|J;*0F3 zj|_F2OQ9vL5ti%(doDJSuTzqP=7kCW@e$~-j}+)}b=0I)&UQ<2FA51}HwmvVcw=rR zn&t%XHs&U-EzBC_ZYpvW}Q)F3+HE1*KO7vuL-Iyy-gw7P!IOMbeBZz7c(9~+v| zY=~IylnRK7BdejJ!!O<#UQmm5ggQ}ZvdGgrevzpVGGw*$5HaN9M9g5bMPX$Yh$yu1 zV)4LAq5>3OOzj|6p&ihT)OlU$pY|oC;>S@bF}Qmgg2gbn zmn7?tR1J<9%wM#ZGL|jV`=Uy;Y3)o*A8e%B`{)-SO(jGHOIvWm?%pW%AH8CQc)KmT z40yX|i6V>`n%v!4fC)>Ab;=d^Kc;OB?EexK#M3Xl=;c?m`-@`V}aKP604 z`XT%Z%G5v3n=L<0!8H07h3#Q>$T*1_n}esHeE)-7#tUS^XI>i>q5;`wbV~9X#YnqQ2ckj z;6F=76aNdR`2%qN?HIAWk{}H5A!Lmu6* zh&9gY-7kT>$Qf1xP`EL{M?aW8Cd96v?%sjE5V05A2?O~3_P&bj$M$TUZN~9)Zh=>H zGOsDH7uum#w3=7+gem9#GN5(Nwez2fSud!4K=C~UrOn1VJH$+$8`TCBHC}aC3-4H< zTBhu^>Boykm^rd6;+};=dF9X((=#>ctK=7&HtzWt|4z%LEfD>g*2cP2ub6kJnxJSm z_#U@mMaLaeaAG@~Z4q^^V1Gn^3GKoz=N{aL)Dk@}6Xiepq%df(O${e>b$BEJ4(-}2 zVm`UvnZh{Ev zvg63ED5_EltG>DWe2+A0eM=#l<5wH37Q>w?{-#^iReR!QZ4!N2_bkZpDrg}TNF!X% zEF>OO@k26JusIRmbjeNQVWo0=Ln$yUn)k-_?}*V}v9>IBzf%@Xy(4Uda|7d6ea#rCW^=yW9| zQFW#@)*?OHBI^FsdrSIQ{J=uFQ4K42vk+lj7a3K3Wv^Mx%SQw8)snL$D{ab2^RFY> zhey|r=^QaHks)&eSG?rri{oTeZT@I3xwjJMP7x+dm!(PSZ6e~~X@<0v;vNrbh!FyL z;HV~c^r!lU5!uM>RE8>Pd0J=y$Zx=(!QjlA#8+gRuP2qwT^|5(!b)Mgf{y_e{m5k| z#oZ6%-{wtZxLgnhnwCaxl-yl$MmS#0cdu1ZV@==dPFnvm?{IQS4T*l1PE7AykYxJY zztW_Fu4<^JPwIP1WjLbx4u*R3vK5jqw6!_hbB_hXS}Y>7>~T^{_O?7h0O5n8>uQrj zDAS?*CM2@60n~K`G@(pF2m6M{jz5krik7YScIr2yGg|wdDne1-Mb;6-5r5DfyFrPPg@|KcfhT(;E~gs7vf~i-RFr=BU{v*Hx^Wc*%U&ZvqEOKnrN# zKH>7Td)q*FuyIzBdy`W0;%MBaa}51PAF|%XtqEUJq5%xN zE*9(CncyUAcP94w9w+vPxx&ia?gH|+8~sj`g=cN-%`L~b4GHm_xkP#<^GX$Dm2yqO zq=_uqibDaFFuW4%Xf>C)^6A2?Wn(8T_ki*rkWwYTlvQ|zRWzYFQ|2(w7WBxP=Uw7O zEtii+>|}!gdrmq;FBr})S!!74D0Zt7-GN|{A7>Ou_&MJuk-T{sZd36XE$IzuIWBq; zpwXF@9EOylvD2mu*+;+f{V_$GCTlI!XP9gF$51Et-%m;Z2UCaw{Udx%X0P^ z46OFl*3q?_JQ7mN{X_-r1I;&+WbbzpN6Prv0zTX!8H(<$NO}8w3w{F!ZZF>&{X8S* ze>}y1BVqjSr}%fmP_tG-QbYEkg{UBoz{d~Q#G)zuK~Ax_2c;?!#0vh{7g5>x%cMSN z(1>jlO|NJ^=4}NpC;PV(r>yC#9}ddel+$x*=1I)2+tzl=(6k+=TcP_c$Me?d&(BfD z=IhOct?w81$aRR%85^h~ME39IV4rLLhO7`f*{gR1fzj+K1SU67C&m-OD5yzucIq;` zvwF~4;(C%>DDm`0hZ~9aTB>$JfMo=9`BN91rd`eE;F1JgX3$SZX3655ZI ziIT&HPL@hjnV6#Ey0@0#^H28Ifiv$)PyZX*`dDp52sb;4(-i)1)}pL9$L^3R5l~S#hdH39aa| z%8WfZn=GNSW@o!Wn+T0z^}KpR*uOdEm}Hp#vPsW<%^i-g0i!?*+tHfrjn#~o0~Lb- zSTGv+y?zL9mVU$h_A^p7%m85?63jmn#5smqM=>IVtveQ(>+4snf?$I-q{HxG>KGVk z-CYi8*QI+x6-ASdeQR`h_jc21tSU8`d#RAqWOP4(A~UaZCJpgL=Ydw11}mz}asiiN zlCfu6gFfrsS2N8)>gO~idKRgvdP6h^#$=teCu$MgN@Lm-r~*vuVNvP1bqZVW99kM|v^#CE{DO`;93qW8Ted3I@U_d)Pef~`O@%CUtewF|F&+0k z^&}&oA!>8FL&gOS`4GmWV8(vw1o~lP1y$vKO}hu zn*egvCx6m3Z_;`fkoYJxU>H+o^BsSC(XT<|bK#84=)A*+xOYc4=8pFVX9tmV75s&E z&~mI#NaaKSNLBvZ^*F?nU+f#u*<w$3aG1y_YeTj^)m-HeM z{lRaiD9HFeo*`TvKW?>w3L+E>vo{F7tLQa{Ty-Y5`-2u*mINFIy>XJ z$a1v3czHTKh5ORJ5+%?>1Q8R9QcFolCosgi?UJV+N8ZwpAeSd@rv1k-F`{?;XMPBm!HHCSbvu6q?&=w2MXPNkVvu#c60p`~k*P$n&L`VFSgWdz@3?VDtI5o5ykWTIV;25<5mXL>qSti1CU7Bm&4 zf11z5fZetQ8LBq|NJzd?h>7Zn1xS?QT4vs_)}l>{qo2Fdl+jfh){`t8iz#w7jaj{h zzV-@@DDk29=r&V7=0+M%8eB~j*$m27Yr_T$rFW^}gsIwCcq^ncDp!4~9o{hS$Gj}C zw-=+@Mi+}s`=B!9MdRf5$|8%&!`y~0uiH8pm#(yja5fTagIXd%_n^n;jTwZU#%m=O zG+Egcu4g5dXLt~GpKU!t(Bh-u&V}8V0?McfDDClS1IDjL4h3ihf|P#kpQJAnD`3n@J^pIw6o zudjgbEeNc+hamRdelhUz+((2u`e3Iuh?g4f{8ArGKDvnsWv)ozh0-O!E*ripB}@ko z^|_5SV{pXvx=$!=)({XXatHkTRnC6gKNOp#ls^*VT9g{@ICK5GIs{~n1lhv1&o8z= z#ST4*RO27M!Sz4#@7O-CwXK6GorSZFxf7k86~M{F*1?+YpRet|?rWy1wd1@fyw8*@ z^|}f~%K!m|OutkF12LsMxr}tUy%oJm#)1p*(}F@mgad}g^>MK5he~d+%NR7DAKsvo zoT7!CT}s%EfT!!4Y4)b6+EK^H>@7^>?l{1}zj zf*k-ZhjKl+YXeN1Am|w0jRv<+*y_u4Uh6?X~gJIr%mNs~XxXhn^${ z*Ntf^rr^-)fAnthdo2T?$;YgV4(d!@>FFfR>(0k4bN=#@J89SK` zgmUlFx*Vm!^b%6@Ni3Y76Mw%thHSIMyl>itz&HpkBP1WA6l!PgGRcqMD1r^hT8C=xN!&%d%J$_HO%xKbB}1KJ;*zJ;MhrFSx-rA#E;Lf`Q*^0@c%OcvNr()dr;El*AV_7{zLa$= zv>`Prf#JCi62?{zJzCpxaq?$)02wqCSto8>@w-?3mQB^N)@Ioh{Rz}?LF8O>(s?O+ zjCqJwF{+*j5)&ouZk-o(8Tr^5*aW3p*`6tU3@c&D$-RfN3bhBD!tG~Ehv$5h|CCa5 zMP6YD1|>ZOz|JM_VfgSP9jO1!UQDEy4*Dj0DWa%b!TQ%7%QGu)7Mw*{`!=LCS60K^ zWifhjvqRr+nHYycf>HE0Uf1J#AJu2K5>XMp!m?{!%#A{5Cb9&%z2alUZ*wW}LIULh zRu)F3)kY|7oky1>=(Ka^gc?t5SCGHq>Y(*znUFGRb&+@7!T8{b30!7r2WOeWM-WTZ}nkV2@{|h zpjQc#j3!cti%?0#=iRAz#m|@-9k!2N>y2PfU#-eV$4l^s*xE;R5I?#APaeOujk zGX&3;xhxzx;>?^KA(P-PPAHsy)jDt~+49Ock+D>;~xlU`_H=>S?f0$j$6%dcQ5O5Uzk#21pAPoWJJF<_oGAZM@Q;T)TBh^ z&;@*c`wRQIH}E|K?w#fDfC&h2I_jShRB}+j1Bc66MPH12?WNglPoqLs;d4+$F{Z`C~snSE)MeR#UnX=S1Lh`W{fM!fM(p0l9n#LWsMyq7y7zhp8MV@7SHkpO( zET+L7$j_<59pLTX1YjE6kb#e6?SzW-A!LwMpL`VcXn?1sN#L11m^ZtetmDxDhAEee z3oTF_U>V1PKFdmPTG4o(IgMHP+IJm+e%;6HJ(+d+q%G6hkNhi_PNFhLa&C2N^7~f< zn-o(Z@nH?2!$lx(q7I%q5@Ci&1n?H|C3bV418>kSd^gZ5A`M_siICS7+QXP#MJnH~ zK-*O1iqBMnVn5jV>_|TtB@Wr4)Kb#-8jRv1FR=weGh(yQd4$<{o-q2hC`2Rkdbs*L zVsO1KYrj$qg)YCkKSq&367H($6lbr)Y*^hD$C{W>yg~GJYsUY$-6a$!*rfCk(DfV>?oUZv^%{zqo<&oJf_EU;o0%d>Eu7x8F@lYMsa05xCil zN8(#wMDBQy`R$SD`(Nc-DN2`h-De&g{zs}M?SI21{!V}DuKGyJ7#}>N_oLSUC=z~j zFaayVaZn5)E%F3?toRg6p;$wM5l*S^-j7bj8(%g|oC=7n2~M`!Wn7`mzX+ryL^n{# zh^-ZQUUa(7H*B|ajboB&P2u@GbUt)-ZjtG^y>5VfVXY~mubb%u7exDEIpDD|!1h&7 zx~s8I{cE}{9NU~j5S^G%3iQ5)n+p=Bog;YjN*m z@T^}u$88qXt-@f$EN{!XBFFI@2DE<7({Ul_b>h+T|d3}j1ku8kQZ8B^$68Yxz1 znNeEZ=nT1~VL0i7DR?wAb{wpf#Jb|bfuDh9`Uz)Yq`h3J%t*sAkw*x zXDF+yQ-(?36`WBVot{o}j9MhcBze>TA_Rl9Fgz$DQw-hKzPlR@qZp*6L`e3tXgq-? zlqNfHIM3PV!_}rQjuNakXgm0dd6>~&bk>=dbD#99`bPqst$$+(DkTookCVmxETpF3 zsg)YzxI(iF7pLCrG-+YqIu~1TP*+ThG#cI1G#QbvgD&@)tIe}=T}shnLAg~1Vn1pZ zgBv}eB-y!`lv1YPN{iJTr#9d0slh*2+D2aY6O^^OKh9upt|}IP1iWxmCe)R`>gzlS zko7kvl1^FdCap0Bw$o?KSrbhA zTzQ841I-@wNZ3jMPN-uk57{1%HDbk|O5`?IY+!if?2WK$s3x>{r<5@3D`LCT8eMIL zwI%~26D#E~vz7`NH~!u}JKY`g3r-2J4XK}; zET$qeh6{?Zmao@PA<>f3Qw~!rTRHLpXVt-YCRR;-CM{mF7YY&wo3z9`cnS1O$-Bs@ zNEtT$KS-Yy-HhYCng80Az$1f@|pDxZyU1osWsyIjLDxvC;0WkJ5VbulR+{g5;{O5RQY|+M1>+Aa6a>Kr7OBM zg0K|cVmo)MxL#X-4%e7Ljn)`W>9*+k1%*^dMSzRj4-~9ku_`SCcul&~#C$OE2y1ia zY<+I?zH_4*fI{!SE!&P2GW95((xu~~keDo@FKq;*N>}$)8{VD>587sD{LZU2iH?Yw zpWa_iy}Ss6Y7O8mC=1K3#4ss6ClCfz>|{PBdjYy6jtYDH93;c*)xv&@3*x%bCOOAg zX4TY|!kelRHB%Zu=5!LCk=oRG-K3_tn6P)d{ndk(c=13c!zUA*T3XId=3b$~bf{mF z^1E?DrVcp%STP`g4Y*-l*b_4n!e$7E*_kiXrfIGUiaXt3o)9icY$qtt8>|v$>Pgfp zU&YBj)R4^^>uEt&J>#8nfx~sr8$6o$TwoJp!4bEY5LXTL%Fe{;`93Mb%7NH^bX}so z%VLcs!IJHFxsIO787SV_0f#x-4j(V~Ii`2uZ4~L$j}RPp<}5+>+Mmd2vZzLvAMHR$ z4P^sV5l_N{hlARZb2WH&_-vY&d&uN-1iy~yQARUCXD5EUA1mxlaIE4eFvPgOa8Bi= z0+!Rvq;O-s!#rn&8CtO{At18{y+T-s+=U-9`$ay<1ZdxWs5`NwFto4;Dfn&5Xg=Lcuqr2_=J#96xF_e6zz1Gv7~+U(M-2 zxn!K^XQ1x0FB{+rJEpD3uQ!Kjqr5IJC+@x%X`^Ubb_=O4j{h=!EIjP)lrfa%u)h|e z&ek?0(${f;I!3mWD0l0S1xq%59Fv?d4HOPS2(;C~^XzlYt)?&FWZk*{1iO6HmDRNf zXqq7*2lenr(iOF;egLFrWS-H~*L3!Nw?6u9MP>@{%!gZduCM3eMA9-i2+`;(xsf5- zPhgwOZ{Q*q>Lrj)S)k1Ny`cO<5kC}WJxM+>W9YGIka|S0B0BuiUDgrl(yOf-hc1Wt z=Zw^)q9hv{r>>u_f}ie*fNihV73((-vaMj(54=D4LysS|EB5F5?M(E4g5W6sAL=gY zzp=Q#Yc9oc*-u&`kBAYx-Xki@5E#@7ecF!}eWETzBt!^wHqm&_g<7Ly{dI=6+h*-Q z-S?}h&?-=v&5ikW$EnWF&w+D(4L`B5cC@uO6*Ve7MkB5{x83|1Xtu&w+$bP+T<|QdJp#gQ z&8O+PNxyQ;K%zKQP$An1#r>^o52wy-+~GUA20~+FIc-TITMz{`$_8$e*>z+@xvgZM z0cSA>6vO5%?))$#=vl&j{XjdeUT7xMaIYBP|H0ZjMpxc#>%LW~*fuINwylb7+qP}n zwr#6Yv2AC@uBc+%taq)o&$+j?{jPmaJD+E3^TU7iHb%$OpPx-s-o+HX_q8PAdK2Ag zXf#TQI8n0bZT3o~5|+aS{ag-v^4DUMo=}aG8_^s&7p#a6ckmFes{C&Uoky+OKy`@B zI~q~8p*q%}IDI`aLYADcvi*I@7sf$YLvxb^51GKmHv-($h3v8m%N(q$CX zu=>;nxepwZa)rM-LInRc0;b~9#FUlm9!P- z_~GnSVbI>)$%oy?p>>t3Yl)J z)UlF_^M%NvmQi{Wyc?n#w)W*2D#|z=!(@H8{s)0U9_77BF{8ZPWCrV(Dk*R}OcTy1 z>pey9?v7^T`??fNQaU~B3{8U=~09-6r*Q>Qt*z8+1I+()Zbo(VYWvdYgQ< zwu!iH=4iN5IVRjj8#Kxob><6+ZY%Z}bByVSMgeWtYq;^#$8^wY7JMFEi>mNgpcXhgWBXRt#uX*_dBE&_lnOYYw{E>(F z?w9_MPG<`zQoKbhMpQniZ3dDbBG5R(T3GpkEO98i;olv z%Sob9Rq5KQ&RR7VQt&BO7ZS0Bw~&o%k|4P|NYW{T`v^CLWAv|k4hQLX7GshQZ(1Ti@`Ej6W!{5H1N`(aEi@ttYDHgO0AePd1>7s6+T5vBF~K;4 znsXV9N&zAG7M=l}68QGQibhY&TZ~e=JigDEw1hi^3U@eP7)SKK1m4LPL;WFn)WDcR z{<#$#3W=~cM8GZJ)xZ%as?|KU~kUo!wHb4Mp*o6i;t!@q7fxxchu-X}J$&f3-Y-v$C9{>%u= z6_M*y1k`!Rd&sudXC{y)7{U0Yko5)0&R0St8|hvT*_Y0ky$ zk3ggQ=T_7iY)4w%ls9@XJIPUPos?lTlPV8II>xAjy{U?C1MU%I>988e=2s*(M)i6= zYF+4$BxOvuP9?C&{+#nau1Pr#95ZTFJ@NKGX=Jkh2z_S;EiA%;L^*}-`{g9d`)jNG zO)BYD6rCYwQto6c}v$#s@E9TJw=1ZhREzy4o-RoG%Xuv*iosqwt({ufwe(!&M zZN-1cv@v<+*9FQ0%JjPJ;sG=kY|#J&#N;318A@wSD`mFx7b`N2*@NA2kBwmn#2Js@ zUgd{uO(R9}g6{N9r@U^nZ#PYR-`?L*eo3Ovi|H@^N@O-r%N9bm1it}?24BKrL@N&J zv~-+C!57@kQ>kRKQo(Dry#GexeLHgaZaR#Y#)^=%h*G1D7r=9(K2>kmqf&eXldx(a zW-STmHVHd|p_yBE<_ys9piE|m1h)p_-?T`ltX3G>cMfV}<%A9eZ6_uTWXWmYd{AxQ zwVy@8_iMa2bOCH{yAyOl$2R_kv**5H6( zEww1p?bu9Rn1X(%8!hMh{qxdfb~N>L{W7#sS@QMMu^fUeNaVWkLXsW{9zBIgdycxC z5zo1cYu_?vmG1FO_|BodDXgjWGM1$F{jj7> z+k#gK-34Fv0QQO~M+M`A3_`8;qQjk%uJHpn&%3GO=jP$X$2S2&VTbmym?%o0;ZDW* zo&L|a`q$E1u6=;puM&ES&#;qg27z-uZL?{a-7j9I8a}8x7A0bD5PZRFj=%e$Io{!g8 zFg=K5T>Kp%$YH(7PQ3pxcn&?PhroITS@Pp|9-4r-{I;LKyC;fP01eN0eEycOtJYg9XR=g` zha{l~gR_pC={5BJN(b#j*bTvYkdm%Npmw^|Tfc$A*fYe5$~m{&YqjM4T- zUQ8GbYJkhogVY=}jy@JteB8WXp^hOJ}O9s2EB&g#<7DYc}y43?o(o z2Dp3bXr^Gy>uX%k5A+kMCFL8c{ra|3u9epPH^642cvRsJ*V}WRntZY8Gbc2P2BCB| z(6P2?F2YOnilo*o##Y6W`loM>upb7x2>Q_{YS@+}ak5XhG`-`87L@c2Dt>mj4ina<-06|MfWiv-|(gC=8Yxl>y;L^rq>9ECA5{8g#po zvfPC;9H1d2jAtKcoLq^K4zZbo3GX@VMYt-AVzFZi&^}qXuh3EU_V)DxVHaf*;OWx| z@(yvRQlRmwO8~a>p)>U|3q2gGrcaz&eYCYzAe@;7xZ%Uliud+|H^Djn`UCM`it(!Sx2iYw-{QZy z-nXxR{_f_!zAGR8LTy}G7zTWXv=zsx5Pg~LB3ebSVn~~STkL&pwNSr%J)icx zkv0ehzq#@GKKc1U>>=9eqLR@Ac8pMDfbr}Aw<;)tzC93L>K!6^VveoYn`=WPudLYI zFavzv)gW2mygl=7qt@C{!6Wz2U&5dJ3NOgMUK}xHjnB&O&n)kc9e%d-L8??42G#my zvMyGJkbgee9Qnnnv-{G)8#=4UsrMCkBwLlH#Lk&UzSB} zNk~An$IjIzoMelX?uAT28uR&nb7C174zQVy+DO9dFJ zL8{0(A{<@L_}0=CG~G7mpwWQpsFxOi7Ki_pqS+zpE3}^V?NcSFL81+seN&q~rEp0# zr5l}YLB$|#>lf;Hqm8TJfB4ire~y{0fjO+to2g(QyVP?YqGA?sl5VX(^^tUnv= zYk51KB^~%DLJquqzx3Id61^dvA*rhvrx)K@JX@hbm=%UnHpHxDWN3!N1+6QRon<7D zgT^r)sg=?gYlSwX_yE-3eSel8sfDQ|LoroRS^U{4hRdH5QdjAIfBI?qJ4Pj;j*7Rr zx%sH-*m|mxE@$ntg6f~*K_d$dI!vr|1;2)t_7xz8y)9!?hxkuv2DDQzOBU%?;?|3n zHJ|vKF+G09hKQnTcZ-X|Xd~AZ;)Vc<9ZhE0bw_af!je&uSjzMgsoHRh*9-V>7>Sp< zoi(mJi_nRAD8HU-gd>Hk`Yb}=N9l`zLA-H!h{O^M^eF8C<|L422DMo;&=r(B>wr(t zBlKfV*zY|Ez!K2FLWlCAyZ(yIiHPv%W~nZWU{@5t3N%3SeyvX&53ing9&duB*e25y z^jNZj+8btg4GPH}x?)1&8>TaRmqhZkGluOcc&asgjQ;cjaD^?O&E{WYROn6O!0r1b zxX+)=%+-O?d6ecUrdtlG{nIr!t6oUU-x}Z(%SZ3jd9sg^x@aAUTYhklPJ&XyH}_li z?uDuUMo-H)00c+_B_gNT9M-c_j`_Ye=hriM<$9Un3;Fn&Jps1??}4RdR@8`BO<^Aj z*bGCbV;eiDM=A7`vHZwtVn%S(Qma}zCSast)P30DwAhByMM2>pnco{smIOMv^%70* zv|^9}&8u-t9VyCgyS9o>i(6j@JErL;5sbC@#*R_cSKP*x2iC3WQttkJ)6&+RoRoM^?|-?&>bKXSo8WidXAVTi(8SfFqV(QF7?aeLUeK&R+LxYMkH)aof+?$ zvlmIQqw8sWXtpni*{IXG(~PuMllzUK*w=(0M?8LdV$t5QhU0518+T@_i0+X^HMCpd zXNM$yH9G+eCA>H9x)=J$kxrCnnAVToPZ_(=SHWNHq`h#Y&W_IHddW;d!y)sNEbF{c z<68_lLP2wp>8%ZaJ!(4*-!0ya$(Sa9c{I%59Dr3HV~~>d=->A`&|;1|ZTFvr8i@tf z+%JS5c{3QwN`#$=hPyOcG+Qkn5L!)1y!nYEUF@g98Z5n8_h@eI0T$hf=M-prIU2$+% z#i*xyp6$U%MLwcaL^b3NYh>1B`2j9CoeW>G*L`7iSir66X+LUjYA1hEF{Qw=nGy{{ ztUS>0vT`8u5tmP3uwvhFj{8y0B_%ArMDB?ZW8T=lnehN!=@yuSJRrft!m>Q7+B0 z{Zu$H(6Hf9BcvEGHbjd*N87o}m-r$%k|6Ed3Do!|C>70BX+$h}=vzPMG}(?%pM`^& zhs>hN>}nMqP=i%CJR1EC*1=)9aRVFs+}-b+3!@v z?)&bjOSn0|fpJ*pxe~1tX}!&)$?lGyJwN`uirWsgfn-q)lO&`l8#iv|!?I5+8SeYe z<8BueHn7@?9$3T{RhSP>H6!wmLq(Z54jG{*AFnwb3$PjNe3azJY$NyDeeI^nkDpzc zaR)j7nz5h{$5Y4*azq$Z?1n!n6bgx9KoiY2OH&_8-sT5mwr@$3ecgeyVEY@F-wYJ) z;YFxA)DI3{{?mErr~gm?B>D+Kq8^WeE%dcBXf&=pAQGgOS&(GagV+W?va1Ji1o1U8 zHd~5!dy~|#F>8emW8QCOaOP*Y71`5;dCVEralf){KTEM)$szL}N!v}@-!4hZ39(I` zas*JyOZY*b#SVg`VUFn7gH7^^xNPQiBs*#ggH`pAYg!qcI2pBIK}vQUtVpvb?>?TG zD~ZNLtnwEMano!^wQlr;ytP0My83L+{ux|f#Rk*i@#?O5%Q z=g*EA0^ysOMCs3nr^@^H#2%Bkj^x)=@|&s!PVlu(C^vzW*$fqTTB;|ICY@_*uWOeN zW|{K&)*|UGm0~!5#9Jj?JJ$^MyIsbrIkZ+cIFllh3W5BwA(;07LBXU}4b>@l2}~W2 zHGAhnG@cdxzeie3zcCvY1wVII9$>2D z9a_T32GA025)O-2=PRmB_`5FZyZ0xBJi&)vlZykA}wkIKh)_Dw>@{H%&R28_UPj)Eq{g#pMHvY$9pyBl&hs!fG7BBB_s}4l& zhlfWK%b`Q(XE?HZXZ`+{8YiyH&i6~AtS4CVe&^fPv4I7R*;0(|CQ+?bD?D*S@kvhQczb4PzqH(Gk~nx}%Bj`}6y^Uy`64+@nB>{sOe293d?{ zFLZqaj?l?&4QgYviazRmn5CCqIY|PS zY_ejev;bQw&o z&GEKgQu>Tf@Lv-B6N$yjPx1%>!8r;46RoSu#I^4>{^o3)Q`_8Zg_`($TyW$AY#9_rm z{gDmw$IVYL#UF^hkxE1nh_ohpau<;@-)O5dGM7Vwa+QJW|I~tH*mfCMj@9-Rf;Aq# zJ{80sCD9yl_}ljq`U^r6`gMOdK`KWy&M|j^i$vVsy8POqS~;b6{giL(#f#+2co8$XXeLW#&Aa` zRX0ZeXf;FpT_Dr{r+V?Tfh2BZY~y5ZV*YPiie|MZUzBB}51UUmL_Nb$7DxhnxuBIj zBqRX{D?6rPKp+Du4kU9@O>uKq-5S~&8pTOGYj?udiFD?csK*TW+R6_zMX`Aza}9^M zlDBSOQNFjS%b}G0W+XmP-YzySTa&GcuJqrYyU8CsA0U2kkFvM~GCM?%$GF@fu_Raa z+_Vd1Mvq1yxqYR|ULw3XaX@h_-gSXVy74td%AbI&+KNXFkjY065OXi07+cnxJx#`} z_)i47m+0U;6m_pF$|L?yx-5c`D?uzD;vpYu^c*QYE+0U@EXpHRj(8pvpXzla=-Smd zJL}kMB|Gb2Jx9zGd&lkywrFe}fvUaAU@aPRr^xI=b)d*B3*O6*4|uS#Kxmr_XRGCT z>)&}c$x+~-zNlc=3D!B(Sa0fJG~b5*D0-~TU1)iXP-VE(M4o|lo2}$jO^;^S^v=m5 zoVpA4dX0~qq|d)Z2Pocsq9_b&6e&%_sxa*$+VAW&9_Ey8M6wNdtyehaS?Bsg&fuOL zHuARS9cu#Gdk;VBr8&Wn;ou=cCet&WaxqIBO4ZhlUypS;XQ%hpxwM#+K7tl$Ng&nR zEzt(G#ho?1((`O}js12^!i_r|gRHX{k%hu!wLAIu87!Tg1wu64My5ki1#}y^#vzmP z^Wub+KBrF-4>$EviVfxA9`Wk|{t@aaK8bO&Xn_#>WXaX%~kH z>#ZV_>;3GvMpiS+WM@(o2S+~_eK<4B8dpJ`NYK4>-(-Pn(Ce3b^rBa%NQ3f`V48Uv zXi(7oGj5?`710G8xyr%nZ2iizu zR|)!jrZVTVFoY2U!%nW$eoQ9CxvzT*zmVuQ*?v+i*72EO z8fbLcMQpk%6cHDU*eqqT6kVljGB`TmGK+T;(#&(Tse%7{t=S`&PW6bSTv8Brt}&+-m^(&#EO>GIbIG&j zARp=m?+XpObz|SHw=mJ(iaJx5n6im$T)J`{MZp2Uj=AD!%@Qt1wn1J00?(;rveSlI z7&Hyuz>2JN#kBqAH4-GA`~!!KfzRJ}H-kG+caP`?9ctD5`4}`ajxou&%tEMDQRGo0-X z4P5CJ(7%7X93}_st)e3!;BuEmM=}$@u;h?^-|e?XZ(caKEUIzahYZLUu^D zHl_euz!DmJlqpdwb6K0|z%{38))~B;Ra>hF=b1W`UNw6+Sq24#GPL2(R;0|y)gswb zZY+6DJf9kWqrcx-Be9ch0>Un*GyB__vciAAOP!Z&z5U!`^+6dDpB5%^+5LLsa_wq_ z(zClCQ>>8`*>)gzihPPHmFMH96d1shW$;SE`SlO@gK$vgj%g;PW4P~N-M#QjTq3*<*udK5437)mB_ zMb7Se@u^a}=bcHA_e9?W`W&L37k7JuhtNlTqlHfx*JK;PdY9z5F6MInN;4Xg^5nCt z5@X0uiG?%Vw@_hEEm4g>yt`mb&5>2r2c6ASlA;uMc1gmXaD!ym~*r* z-X(yf$EkrZrNA$7qx^VXE+uXs##sZueGzm^F?%?b=vFPGDv!w^;r4Rej7ti%t{62o-7RUT5+#dZRDtCkx5g-&Nremv%X zfpmR*swP_C4cW35@4}ci;5%YFS#>79Zl5_kqPPX~LehQyYo%Q&ibXH#b4{TM?e8+3 z|D+H4N6Ic|rEl}kEWKDALM!XwvoT)96+;JXBmN#vnkoiqM{LA_3<(a&AoLwc%pgpK z?~-??&)#(_YzSVna&)U>FZ~@9qI+ zyEEru^{kuw`TXSNtCfl>`!z4dRxAShRWGs^B*DGiOAYcyw5Qg{Fd4VpV-bWqJ7K9I zZPRYiw^FSc`pZ7^EDF+vQoP3~7@Mf^U7sf}6|1>8`x``|%Ox5XMPTfI&<>&QH3gqLsGR0`wDMIm$zpj;e zl^!aUxMF^%#r+Wc^?vfJ2Nl{dUJOtpx8|_BrXT`B{W)1Fc(SI2{g(Mz>djm5Is3?aEAaP=%0o( zMZ8cf>h7j|D3jO>djiZ4*%G40#JBL`UkH8|;6csUC~EUOEJ-g6gL#d&6F>;ra}a^9 z(9PGQN5@h&s}V0;LWc^5^#x!;u`NxB8`5zAE(2P`ejzS`^^3SVIQsZx5f;{Uu*#8VjLeD^eEQU|$BrBY5x(s2>sY_7L2iZz ztV6PdIk|4*Przx+Z&YK7m%dRoE;K{sWdh~I&PJ?Ysr;g@O-KbdFA~~_10bWmWz{g2 zO?YRp2(v@YC&7&&b|MtrRLT&$GqWQv9|qy)p}q}C>Bj3)MI}>Xy!_?M{+s0pdMlk) zNgdH(H0JW>ea>Zy47f8l=Dni%6V6gKSwhM8bn6nF#k=Lpqc}|Xp~?Qq*HeE#0YPcn zOIook`E1~Xwtb&@Z+{pJsNsT*CgmjtDPtV@!jVA2wJ`r1QIzsJp%zyZImIy)QJjNq zV({pjh`+`5`ux_?-15&rZUn4we5%dl#RVBjHw@{`agIr}#9um!bWST9O8;=nRq7H# zK+?}oXG1HX!&IMYNRmqtKeP7Sf>rCFiCDA1awiOPK;PZSIQhwu-7a|)GM4UuwYbbS zxYuf0oT!M(4&~-N7gy)ltb4{Lb;hXrs;Xbl*B6xN9+>l!k>>~wxpu>B1&0ZQA1YyJ zZS!vZctAn_>3j!TyAg!BdQw@@)6|q+H3%>*K&hM1f&_o85A{%xh9nz;4F4L7Ra=r$ z>~1bbfCqW3JU^k-9G+}v5;`*BkP#g$-ef@}AB!oPUVbi3@ve-6S~GEa)A%VuP$d>0 zx-3W2&9`~SEU}x2nB{Vf%Mhkzqt*6je%I=bH=3|Lhn1k!rT4ebK2{sk(Ur6`%@{#MR;84c^fbi&A(vv`Hu$)GeT3J6um7*l*wGOt99 z5R!^@!3qb8eb><_g5Icz6O7m7U_MY9gg=;53ZG+!B|27tachxNEFQa1G0yU2ZWg0i zT0mBofmF_yV>mgsIuMEaMa#oGaSj+ZFdt4EjF#@a#FY_6)>Y8|wSOVCWJ=|TeZfJxT24p0TB#EER7+YJs3Kjh zvY6ymk=wb5EupwK1eZ~v?3{5^?y*Kq#Ag9nE+Ad4JgycsS-=u)XP&QdG$b8R$gg;Y zMpW2W0X^?NFmCs)vDJH{-Vi&84fz&6ZWu}0S}BvcS-q@Q#gf?>zve)iN_xs;zPf^9 z>B+`9W~1weB1Q#GROS;I4r#nn%2>f+b%ng5v_)n~#-cD__D{xIjRx~##Ts+7;N50T z1GXC6xj57ma?G^l)J)>Swx0IO3ugoyF z;$_LfNlxhtCCO61>s_AS4cWjQI86Ax8&M7HHQjJ_LwkBa8SjS9WfCG zS}omZGknuLr@6bDrR4z<W>j@cYJiyH5pvBM8BC?6&6u>Lk&Acx1X;LG!rEd_ z-)Xz#^|E(U+3+IWgbGba)hG&8G_JZlr(kx5UY3X!61EsoH4G2RcnWkCOJOPb%`&Vo z>ebJ(7LuC$NJ!qEGjd}_*4s)^rK%>1`a{_?z5Zcp%H^vh)k;y>C~a(2L6{{KRILD2 zs>ZV?+RCB1lMue$O&h^2}#U^7*fXsu=+z@9Ja8JPBDsGHiBHQ*_TLqIkqrwt|M`6NcAHsxo zck!0Jj3RkA8#y@~$c2_YOo-Od+w zxbJM9mtDV;D@)y4K9)(^_w%Rrc?U&duMEmiT`$h`bS&?1IeZHT85Wmn7c(!SN zCfRm)8+5CHT8QHrW=f~pilq4SHCH-YG+SWHpJ{|ojV%Twc%B?|NIoev(az~vrXR{_ zaWVJM*{1Vmhil67sV!;S!T(^wAHV7cUBzr@^vW>WPV<#xYwR90HSpc%Mmai|-A{1; z!r{_#qdu=@$L#tQpfxK0UVBVgpw@x?hLS5XiL+@Qo>SI9 zfTEfkNU>H2LPs~5ybDOq-C#k7F~^p)?iv=gmn`1=LS^Xva%}LYC0T3N3F-vu=A=Yi zNF|~|=Kg6EGI+lq>!Lc57`LS6MNT9QO1&wN9)K1Cl}XOjW!XUyj-`<9AN-*(P$>5j zn!@5S6w0{ia)T^wOD&5cyc9rJ2nQNRuHB3hJVk&68iW-40o@HS972H_^Lt|TU2WNYM3D`cD8(y^wD zG%MK3QUhP6`t5{}&FsF*q4D{;p1uK}z-S%|!-psC#nL(vuRg)ZrG21F(t6|?cRg3L z)2H-Ajt$Ei9mpm2IK|xe6IDOgT-A7O)W3_R8lJkf-HoI*z1W%-gcXB@H+K5aAbt?6 zzZ;)DxcNS1bi6}+6(eKn#=f8@vffb^8;6C0)#8dWF|J<`1;V4dE!9dzOt-n`gvEsra1~c5gC80M)fe7vZE~bv9dx)D`KJjSSW!g+X%O z?|L}u^!^Kz(_>^s+tV6du9(RvdiWy>E1EKD%;Beqdv(G_m?Ux|OMP!`W8h~q{6{R$ zgHiXzqKZ^aLQy!x=(Qkue}CC8q6xoP1Du}|=dYM=kM@cQlM}h?b-$cMM~iqU(mkxm zCoMVQqEHpG#t zc`YY}c>!nuFf=tAwB^_L2do0)>IYa>9B#;(Jkf?`6??g+IDCd?IoP|drG!XW30VWZmR~cg*0JkU}Uglnh%~c4~8rQF7 z$PEm14Gq^!3@K|2gRBSy$CZ@2&C4Pt=fE9ZLh}l6Hq85aOg)O-YL&;H2^Yx-Qi0~U z)RaSCa{PTgi#hY27mXKY7;@MWmqa0N<-MX9$Qt)hPuf1O$IC|3*tv52M$_$q)``{F zYn0c!kAH}{2whoXdp~_kQvY_A@%iK58aEi)IvD?7H8A<>4~2|P^qsB#mrCsaB~~0% zeNz2&yLu;G|A9$3R2>Ghs{m=SV4)nA2U^vHR4#{RSt-Z}6_}XL&XjL}(Yf}iKDy_t zJ4!<5;o*5}FZKQLk&&~-#-uJr8m~8fg5d5x-o4$q-Tkona5(LI`3}GH-3PV+FP3@l zYnH(zxh1~wq+ykK-Jui8Pyl=2HG0ss8=@%#66t0+y4FCVzFpgdhiU*K!=#5ee))Ie zqRcp`{=jnjt~OlaB6WOKcXI9q+zdGJ_=J)Y99)5Lb$gkpLuvJJQltL!(gP@t!Uz+c zRCZVu>S5%Jobahb<<+P|)LAJ@4_3-@EcN7q{)YI4Lt<~AKL6hY-0PsP<4NLuu* zIKm>*R1=vJ@bM@VTXqD>`)Gv+_NeM-mtus$sTZ0#Ch0>f&w1#7j;a-g8Pd1k|RK&9yFBi>8;%<`w6EG+RHQBL%wy~b+gvrz>LUg-Z z8b4*uK!;-Rsmh6lPJP(qO=0IL>)X_3*_}~g=&_H?#9L1E#}4RgtvlkBm`QK)&QMZ;`_Bo2or>MMqnrs1bFrCn)!u7bY?X9P5L129Ge*HEck$TkPh z(h%EExK_m4vzF{mgK9BVBKJRDzK;bK{W^oD66w7eQJd=cdSmsPKcg zLas|@SyyY!X5p%r{1te7Sl9k)=45gkvRZCoa@4d?eu(B_WCr5UM*1VPw;wfb7?)%& zt|UFAJhFX0fupcEs^v=#6wo7+;FfR$@rpWU@4Cwm!;UG4Bg2OwC>69TN)@y#V%cp2 z`HFK3@rrb7ccz2+l6wpN3V!QgMt*FHa$dlVF6aU56Fd$ak*MUcr#SeXexmLG78(dQ z*c7&ZVPb3%8|k1hZo;xyM-g*|%tNHWD9I=xp2HrEL;#TYNwLy=9ycMC(pF&#PE@89 za^(RNL_XnPsozIkZInuUU-?$pWK=o#Ud_2mcQ%(+vSxDbz|e0z|NRrKfVMqZtemmqloJh(-l@4D_!5$dpalx?RnAf<3x#}oX181qWv25A7lSEM;Wr^@1xkPA+mHEJ)XM~8re9a-nR$rOK zazHX6a{Ec`O_%-EIkLBel469>c^#VesRWI%ikE7OnXS5RYpDkdE#+8{RrYa9gy4_X zT&t*x5Q+-%`z6_k^Oi^d{wd@7lKpDBQ13hMO&Nkc9HhKyrw)$to^;-Mo)v+;YU4c_ zY+EWE*I75uRX2#}laykgH0`FlZJ{1~A+zdK58rt{*^f>@Pe9}y?Jtzo?k~1R(;!~) zF54il@h%@AAo2IVKpu0&<{~#2T-4b`clza-3lXZ1hp`7nP7RH=zg%#H@etdOi45xq zeXTTY)aM!MH~fS7t#;9{<)sS0an1Hm+UD0As1b|Y!205_S@nTqN`v$79GM?J30!`m zxGk+>0pi0R{nC+UyaZ2JIb4tq$JrV}<4>K4eq3q?6fv5sZIgk*L6>^X5We5NI*$YM zg3-uA`q7vFu)4%s!a~@G-J7Psq;y*y0u8L-6@NoMO}AWpiB6M3!8*_$$XHK-T_@9< zjMea5VV9o5XO$tC{L^W#b!K-*18l1a*n9SL#3hO`wXlm)wvS4-|3prIRgLk%h)HDO zfS=p2&&o>y3gO}M0YNGGOU8b@!b1*knbMAV72nJ+j^(2iacdR7!muh)y0)L64~CIA zBkO8h?q6~I?8k7DBh3!-2{4)ha?`4HOS(lwkxxvb9_|0reZ10U63G4OxqOK7cO602 z|H;GmuXpO-i)a6u;j3DDq70+?45xJ8czlbn$V_N560`9#pJKVBD-ZQ>8j}G zX9dyZ$RML#dx`s3_661!M4+KjXdxA-CaR&$(~(^xUB8yiT-6iv<_wT2W%vpY+Gt7c zCW?DWboFEml%jc&hEGQ<)bAaWlUV(w>8i}cw964roGI_;|TvGPe2kg-v zrc}0^98snK>DX;JOtF+Z+XgnZX6@ZCsUKcPE4$SGNDtFm{TN|_y?Nd@Pc1sG1ai^# z&vFUMu0@tilI`t-*^S;sOhLPa40TiLK}kOS~?zZ_%eA zw!`9+GwrA&F~C}1k2yjHf)saQ*I__;wP~guAFAT?#4xf7^s||?6uUwRP~Hi^94D~T97R54`VzB%1>?K+WkPScJ zZ$+V8DOL2Te;A!&4c`{Vag&rwR(YCu7rH$q$;U6CdWrX@Vm+Ho3a?*P(#Ct!(8}O7 zzV*nXQPhnmr_092uA`$y2&Nyc2@H>kAM;lFJJ?ZuhaG)R(QivKkCdBk9vQ=WS4ft- zEp%1#3hDdNp->E002^y9O=9dICrG|hF;CaBjIrAJ=}AQZpg%uZXnY1dtgC2; z?4{q^pO!iFbO`IRSr4givs?^v5l0iF1Rlyy5@GWslk_JFJE73_J9x$*dyJL5nc*yH zLr@vp{4j7cf;q)v9w(npjndE5#qvozWfP_vVs&0B?+}*x6I?~GVh4GS0)l04& zZyy}rxaWbZ-7C%3#9OB(e@qX_-NS(PDF>>$3AzFOLU75;3gz2v^!+Z|IO$ZqZa!+S zN&CahQzy_Gl~|~|2|HKMm#<4gw)GN}n$`j`i;nNY#_B^7(-yBZUt{#SSs64CN#n{= z=jFa!gk}FJic#kd}>ltzyq(6??xpC#r zT&c@Iv0m}h=CNZCZuf9S%a-#&Si#Li98;5W)@NSabO!I(q#b!bjF5UU*T+HR0Z(D- zPl2(U&frxlCcaPU=Voj05I!GIkCZofza1G^ip2KeeF&w1)^^`aHd3)gL14$q&-d~9 zQPedfRUV~Uc?F=-BaiM;%Ow@wic&-Ald|qyd)_X>M%#C~OETM8M$UOme6>;| z{}E`5_En2wgY<^LRUAX*S&CGOH2)c_R7E4n62u~rayk!vH+si>nvOcPe65U>6HoTW zbgPZg7IUO0N^174CZamh{s_V4aw#vOEo4{6VV}Hy4;E!kQ#BI`NKpq8OvR2;i2-_U6K;^`2Jg z#Ew%Pnuaq09y2Y&@QWPJ?9w%F=}t!oAFw3kw(VD4XZ=8vYSwr_@GW3qHOk{X@@gY|eh zfG8$Fxyua|7;B9mBUHFI6EYMPa)HR{gMiACM_@#wbkBfAuAE!F^X}6(T)lgCEdJwS}#5Wt18DlpebOQ_2E^OIX3Ohq016IT%x^j0@xq-6AWk7(i>{-s>l)%bg z@!z2W+M@L!pxn~*aDEbmFT?~{42oeckw8g>g6fnk8hDdt`pB70z2kMx|E|<``<8gV zUFXRY`Z6Q=VH(yS8rKKgZk^(=OO0P3Wp*_p#LdVqU73yx#{DCKi7+cj?N! z_VrO8stgQ9;1}&IVMrgDAdwO>{z%OBz=%lDQ6_mg5($e#w8TJea<~wUVVH)QfHLT5 zPRKQXm2MG@e$$T}qNT45%&f%`0oZ_TI#a*PJHY^QOF&1iUrwS$&M+Ls)Rk!!(E5Bp z;5bNFqY)Hk{GWE7QpJfXEuV_0;lG^~{x>XPtAE>h{_hp+zcYh>;xYe~A1JSX+WRB& z2nv8OK!SomvGEHfqNyVaB}s<+86eflabL9%C)O=ANLss4JdqJJNl1)Cd}0!3YU|Ij z0IBpa{=3DcrLCQ^xj84A=yLefGv+(9K& zSxj(lo%@vY1oK<>ZAad#1oeBZekMH6QC3!(PhbuXZ2#PEqUo1i#h9$N$<1Gg*2@&0 zktQ6!&+T15g3aBJ*vX;=dQs8)HMlBDCT8N-S?^)95ox@8>#1`vWaeR`D@{gOxwj8s z9VJRXEmczPthZTtyq6if3id9KwMds@8A^`G)qT-CSVSp}id|sGuP$EEU7d|-p;laB zA1|#^Aukuvc2Lua)r^LU{5V1mCWeMWI`UKNO_s6xU}XF`x3db-e_p$?ws(@sBoM|s z-h?#Uw3V!=M(Nv*6DuelrR2J5)zIA(05x@L47BXd3)C~vA9j@1-ZnqVKR_KSo?dIO zjcP9zgkm8kZ`KAAvBr$dSw$&-vdA9QsjGa4=qQ!g$W)CrqfCUuo-_TLOUsZEXzGtP z|MblGgJt6A7lqQFuo^8WCNnX^%9!7W9O}mkt`x(1LV1Jnee>)#1r#xDh?8a!2AnZi z6GO8BOYCdG$3Lk0_ZJVN^M#QcVLOX@HaAFhV4s8AD-vfWi!`&8{)oMg4Pak2q-oK3T9J_fl(&3gksQRFog z#S*uK*K9R{g_nQ&oAW@F&37Om&UqjpF3kadm+}1&l3bP~sVF8=Fn<&vBy>vbiUv>U zhcp!Gno!yxM`H-V_ecw+msx_E^FI*8yemM6%gF05B86NOmzIMTm;Q8_m!2t4&G?So zOEdQp+qD+cl_08<-Jl&{!$$}!7cG^rXpR>4XH7MTR~&+$5D=}{F!7i#SS*zxZ)~US zd{xEx7{kb}h4-q3#U0d{%*2U>`=o{Ts(|D*@`k_4I7U2sO5Fa7SiQk~j2LcFd<%lK zUA9HPoagZ`DheVI?-KT>4aC%^r^kQ4$tLzc%g(KgO+SIOHm3h{#r-c>?f*w}o1|@v z%#Rwftxk@*;-hJ4+59*=CORHr-8E}wK%rX1GGk{fm0}z;Xq-ARh5gbf#ayEE*NQe1 zi~>$kSjOa34hPdw`olz4w(WM07nq%&s5tS}cYk#w1u;NnMwZ1*#j5h84sI}e6gxiS z1Z#W0X30M63z}?Gl+4cB+%ZRq*Isx{?`Fz{!yfr7ZugPOckAium7n{x7_yiKvewX_ zp0ez>7}u+uf_F2Pb2l((8TPnNI9gd5aG~7eXw!_@9TZlJ1nh+k)-SNd+cbx1{+7+{ z^whF;g$vUYE}DCbwXD-xjh33F8>z}$3f}_QuGB+4@d|EFQ@mg z(4S<@n_FFKOF_AF1%4D8{$!$XZ#7;h%JUKwXXusQc3fnQiPF_j$PlO?Ne!uC#4F!c z`KdZT(&lk!_folmfQx0J6<_!bb|{HBgr(Or=a`@w)s!wUgh_1Y&xg3)2wO!y8ZAl* zeSh+(Toz{rq53U|{&hn&w5O>-H~Ip{X_}zCD0D}RrP`wXw=+)GWM`OG=Z#+N5R8v^ zN4apVq)G9@ej3j7-34EELE^+}BIyTtkR*ogaS85CWd@HUdf6PXhOwFBuLbs5nCH;UuTpzo$vppb<49#*Xu~vFH&XCX_CTnqD~o*tB`0c4m=3 zPjvmt3F(D%ni0jgxc?v0-uXMzXy5X!N-DPVh85ekZ95g)b}F`Q+jc6+8{4++iqYBo z^f`U+>2Y?S+xLg(A9%(Z>x((pXMV#=KqL`C@as4V6%`GAq;TLOE`D_k5%%U+UIZ`7 zi|gW0Js&S!u52G83oRnVBx7ZzZ03&}6t2@^F7H>gjxrn)TY2s0O&#tQ!!BN4)4!km zCq1)~n|{ao%X~ZhFN1$X{yRtfKjEH592{&NgpC~y9n9_iBg4Gte`c7YYl0AfI3S%R zWh}!uRpsY9qZZEtOv-uX-JNHh%z=r8Hpn<1N$i{WZ{I)2hZ@X_*DbktjT|5Ly|z}a zG85k4kB;cRQ4J#)qC0XP*5&TOqdUXyULrCRhs5$r3TX-j6WFBrkzp1~b{uw(U>7Ux z9ke^~r6vV`jeOhq2;<5saN;1KmcN#s`}zteavo8UEOK!k!(GSf~0KE(Gl- zQ-RqYY}E3MZD8Eyk{4021)559oOHw+!Gp(v1P9qTF&_J9Api|r+bQH^o`O^dN)pOo zEUFdcpK~dgsT0JF889=ViH!2}J+gmJaDceVx)a+9Fd$lYQh+)ye-u(SbsvDwBGXx` zj66?*jg~uF3}bD#mJpb3^WvGQGh8Faz{2j;`4Jq0tKJ0e4EQz&za!>sZH??+x(&nK~BA_qH}RP{jy(o3KLG^Pnw#lKTCdq54aB_to)du)4=H%x=hi6#`LX zbZ*X~#%>yrd853bQL3dD6KMRiagae^d^Eiul_06;mhv2}uc_X_qoUO9g=rUmjRIWo z=!+TA2tsHf%FIS+#|kpUtG~_6>IjQ%X=uBv8aNT?=>aeI-ErtQHORw`OY7t|XP5IW zS#6-DW!Rs8XbwL-Dj-6>PQKBUlJTZeyZv$`~)yigb3KR;Mk zvW%DlTQgyxVZet4LVr3Chw^`e3jQ5fu)Uz~8c%KIvWKU~ZDH9(iC5L6+PI*qrC_PW z{S#+Fl1{6_y2sQ2rAfU;{s-T)(cuJ_&*R_CHB()#7vkT~)d^i@ zJyKXcM?o-jNx+_~gBu9$sMP%3V1ay310%#sC?bZ^Y*`toSN+ytX>vKR)esH97K zUFo8m*>w5uS)?BJ7|&g;38W)OM#V|853>}^A}_@jsMoX1>AIpN7RnbQC==6W#TZe{ zQltxJ%4Y-I`v+q*pf z;UVcvvV4xM5CtcFfR3`L?PI(EmpVPQO)(SswxD1>#V}{l0*UvAF)D3AmhP$uQj|w0 zY7u5HN|>{An!TX67WL*rD-#+V8MY^pXgw49l{xI7hljz8aDgt3|>zhcVGV`+aAi!YVN*m4C>~NHTpZ+PlFil*u0XeYF znk#Ap9H_n9?dYc#vrho4wX?iLXNOxJ9yadjQwr~B(QEL6~^ zs=`!Keh`(#0tlyF1dX}TrK*`xdfi&pIOI0yZ?RIx_`5)L1yeOL3!yaE4dQC`jPeOu zJv*WT85;!@2_vy{Eq<>CE}#4kUjlRqN|>(Bl-Ccg_Cbfladn9cQR;f_deFF=i5>P7 zaK?+;Va%1{2o&f>(VDCjT2JR&5m9MA4~MQ`>M}&5a~9sDYB-tmm=Nka)k$s$5RsJA zq{1)S9NIJ+H7rGk9E@DLS;e413>pIlik(_o`N?B+`y|q6{e@W!z})WS7Jwg#7uF!>9pbZoBX5b#2~f}bz$PU*6In| z(K+yrXu7Q%WldiPf0q^i=LzCazY1&7`}IAcKS zW*Q6igDUY)TEVDX;+)0fTXCb`#*2%i0{Sn3pgF^WYgzDxEuVbCiAZtmEC%=Ikbs5B z_)^{eon|*&lb;xJEz|O*bM%$iDs;r-rGP~V)aedr$~)?y0WUVM=go1Q=y2+YTpiNPLvL1v#d>$Bs67dkuoana8ee;zriJ5!n zyui4{%Y|_E2<6Q)MBu5MBRf&T^42T?y$_X*nKkU(aagvnxNnt(I6>TL{7wP>5SXyx zx0vLo!GzoZk_EnIM;;pqHk*xw*bo~K`u+Er>p63Pv^pOy={$NDHacnau~TAnR8PC= zz+T-GzZ0r@&df1XR(9c(>WoqW3upD*(eWK;^loZ2D50aZqmvqQGg-c|{|@=QeMc}V@C7}mRb^1Cpv�xZst6xhs|f`2OOWiJ!e1x% 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≺yi@I7k~RP1$pYffjb|ZVrDNUG|L&2qTd> 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 z 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⪰~ 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 z

    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 pcB~+*e6obV<>dPEHBOCnk|OVp0u%dq0G<2 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 %*5#6E3wbml?{%o;D94NY@=i z($$f6RVt!Y{MP^TDGMI_LAPTUb-);0g(0W-g=a{HuM16ZYg?sfuY8LEzZcHjXmsex zY^m^tSCsOVQ>SA$>r|q;xdi&nmzDvy1P%_1IW`mL2t#X`yX|||NsBLRd&YG?^tV6e z!WvjzIuh6SO2tFi<{v(huU~tN#NXA-M`GO}sTc?u|LVO5)x}%VPOGY#k3`~mY4L?e zqD_vv6P9641cFOPVi(WeaEyl!Dyk-G_ICdm+O75uI4x@Pi7M5-hE<1!15}zcr zK^Qvlk3)?ykUel7L}4eqccgoO)!S2Uss8zAr(x~U+hwrl)PZXGRT5a?sS`A7*+g!C z71bf_+-9;tMX!ZzmuLGW18-o2!+$at_sc8}0t=a}<^H{7+~W4kD+#QyxYN%eY*5nu z@)Q(;Pt<4-(6Vp{7uP&K#SifbAI!@Z=^BF;i)qePrBWy8s{SJw5}$}5Cby1y9U8P{ z0mkYfRyq#?Q>d^A)|N2dDm=cYd!v;Hk%1U(4UR_B{VJ78j~J(~TxOY%vY>0wxI36u zjo>I?bxQY>b2rd26r2o&(0E)w)(AJLIpxxm(kNvKQE=fbhAVvorPEPza=O9YK!iFj z4kKgH(ETYDtFlMX64AqYq@fz+Ihhz6()H3xCHbot&OTx1Imgj>JJPtOqG00zEc+BC z;uDaS)LEg16!2fHfTb4+9j6PG1;Jz{-L;TTpd!s7@|$(^Hat&-ID(S_KXdS zJ2^EWbX!yt-?$fQ&?RblBqCq6bjve9Fmp~JeyuAWA~-Q3LLSdE{f?hp8&n0u`Wb)J z*j;EM9wJ1GXE)jG`3V~}5#8RnCmbsm%27T1g`do2#B~h;8lgah`wHHr>*uyOBO@B|ZI7pb|mP&&g z+2(&m2x({u6m20=iD_>`O0(v>Xc2Mq) zv1X0y1s(32A%Yn3Jj?w}S%ak`a5kbuYjn69hKg!1Z6yxYLvRz9yDtb}H-)_54%5k8 zp|>a;ccm;oUJ&BbiJ>(&17Z#!=pu7bCJLg1Lavo*BVtl9q1lC(BXG zjBR2A(wSlt#bfZ^W32FGe}X^e#7S%iX&35E6WP4}sS1Jd@EO#&z`tdcV`<8iVJ_3X6La2|wW4-wRSU_2{zJ2G8vLqRsegbH>x6OS0osB|K`1}NI)L&xZ4c7^hgTxnw_}^Qas8a7q0rnJm>^WQetByfBG1xsGXJgnJ4JQwz=bhfkjOlSphQ&yE*lBx+o}QmJG6ynuY|tQHL)~OF4D@ka<{Kfk`ib>SK$(+ z_kjK^(5KdMN09aAjagW3i3%kuEO1NcVYU!+$BvIz*_7sWiM$X5~$$ zl1I~6>p;@|Xb>p48xNE!9v6KqJhvR*T7GPcIkBUV`MNq^xFHtoLxVmtnA{jXiKrtl z4k!qrZ^F1z2fbyuAWgH@JyYZnP$RV}NFI+;P~770{$IZzVGznk0MaA$?NPRXh2TaM z3J@eIcn6w^-6;La`av-KXNp1)Nv&a>unff|dKdKH3IC&-i+NPyq__rMlMq*7isP?G z;Fi#sOWkj?lZikadQuWbrYID4wSPl~KWetAV%?`s+&&_wTSDQGX5ARU56} zigI_hYv$Y=YXbTOCZ!*NUb)+DXoFqwK(d%tq2Y}gOe-6w=P$N%*?Z3}%Y~zNB zySqE@HED4lU3J6q?N1;#?6(`TJ&O?QZWQXK4Aw(#@R1jP`&tsRc7bAf6Y#=^?FMI8 zPK5g$S@c`t1Hko%n7s(>;y>+%#i3Rtdm5eR++%(n_Y>{mQ+NE;+;jPM)Lu+(p?+z* zcvMe}Xe_*7>Y}duYztDlwT#c?by#}5`UeOxGscfXC4ILSipSz@niE*P3REQ=)|Ep2 z>r{k$>!A0B4J(dug-GA4M%)5)Kiux)NA$|s0xBkpy-+;WD0X$avL_icZ#P_XI{Qv$ zvlq%WJX|YJQs@p<1t08kD*J4}9gN&B2=8?w(_nuA`@!QA*u{2TCM@5Up?>CG-?Fm} z3ATZq32>?6jsolaE&UckkVD>KUpugu<-9Oc=$f{)tlb>6(e1VBM4naj^7+=8e1Y~4 zdhSMg{TeT8b8ddEYOrg3yj;t(S9-em(xYI^m?KbQYFyV>wi^$APzSkEtd0SNH!usqgo2l+qZB;S74hI5gKzWR{LHjq5@bN_QoRn25?}|jR)!#Q zwND`h;Gd!YR0TG6bQnIZWCd^c*SK8HdlUFd zwr>Cl3_>zIW$`0GA{HSy4zMy7BNtZJJtw&Zsz6z6>+CQKl{~>UGE$37F)J+QG`o3m zC`QEDVySN5)o~W-ih%KsM(G0DyxdE5ryh9AEDQ=e zA%g%i79A2Cr4SnAZAAcm-{)9R9O&$5m7@Qf^hw$PYmp zWQ1Jk=1cPR*>__g>?}B6a3{*PeWd*abcc%EJ$@eNr0t7^w*?NWXiCMzarOho;{Y>Q z5r-pFts;Tvn4z$hSLO{e>UQK(K&r+g}f1e{4_%r6FZ zpY0$4!P@3+_Sd@04sP2+$><@+v&9bLvha`~_Sx*Gh9twFp9VhlzNam-8#@t?KCs|B zOL#Jgo?G3neDB@&3b6mfz|)#&<5oC~uRk(R%XW>oLgv_>(U-e`%-?Xt=|H?$WiJ_1 zCWRI3SuUFF>{3{B;CqmXesrz<*a~dG`JPM6k^JbZ7Pf6Swj6E*apZb?5t+X6olgXP ztp2S$dRP`cq?Sdo*&#evR8)5M4o*nryZH0>ZDlu>^_CNpo9^;6Z*?3w099;}Q`@jf zQ=Mh!*7F(tdw<9Y54L78^YDK1PRA(-^!?hiiu0Ip8Hq)NTGfw-Bm#~M*5|)-_x#r; z^5TsPqUXqg=}6RU*%8MHgve8PBJNv1-s$-Qr*7BaD|iyzz<(UZib`+82LJu0J;wW-roXXiBG3_X&I++_iBI>_|l`!Hrf!>}dT7~Zt zpmT%na|->|2ipCqym=&jd#0jxo?q#Vx4~o5FP%Xs&n?&Tog5yjUG?YktiZF@rJa{Pka#0DUxk7aFK(Ti!8rvBOX*-=|QP#PP;rrHQC00R!s;kk9F5*jo6| zKVSmsMC@JJAp$Kkz2n7!vc+m zCr2lMs=gE)bQ)k?{xyF)esU7b@L~)1xkF=zXy_tjxZ3Td(8lu&L%wFws!PBQ!T3iL zBOKbyF>F+Da7#7pB-rNFRTathHLglc3`|o3Habcr&yM!P>VjQZ7&!vQiLQtTTS`HS zy*9SPi`far)*8lonW=6H0a#8XQG4Z z4@8eQVoG)*(;~Q=L%8g=Ww-)wJMyT0vAqrE)y55kC#TGFVmtP91em*<=XjOom?)%DE zuuWS6{hlx5~9M19t=dJjg_sZLk|#FhDx7;FXPS zfp!~XO=CwFH`|9NHk&BCBC*+S)~Z(5GruaPWsy z(SZoQ_Ev{D2nv7m-JAjUfOZ1NbkRPx%^_4n#7cNW*Co@OuO)$;3c1sh=bA{CwJ%51 z+mDqwNxL|P10dnTHeK>I*zFDy8z6W(+m7wDn}o@s$9bDT1+mv>oxfxUwu^=0joj@x zw#nECt~I}S{q^%WaL9yZjyjEn_Bz5LUM?apdC@qwWMkDjF@??MoajGQ4e(poH_)lG-z!Jw>%^XNrZl6h{$?6j(^ z;H#TFMxl!2#`OIdQEe9VsvCxuI*sc*?Zxz!rRcnL-Jzm9GF_b;ZVpv*H~en|j96)m zF?A$Pwzr#uA|5B}(I#_lGO64YmK^S@oDDHVKnyfa^tX?L6o^@|LSy9kUn@s|MsH|= zE75>=e)iMgy#sMQ;iSuW%x90P=7WDUz-~C4sw$mvc~N)8Bv>Pla27lp+3?TP-?})% zq$ZiK;+MNh$ANp)7yHDYe2ly9#}(%L)U^X0#e za=KjHeCPJ|PpKJkGq|1QNWd$|M1k2rO;G)F4l>Z!DM-twS8jObpHa}g@|cgb z^W{*;&c4l*zVqIO1Rt!xN*s{$g*B~57ojPgw?dmA1fRHQYEO7fgAn(Gbq7nAc?he8- zpUPVmrRJVcb+Y~4@mEOrB_=eTPz!rH2&~^R>AYKHsq$T-pZMSIPuV~q7zF6%cxfL; z39ua#D@Cp5-7%SBsDkooDCd6j$vntF<~9n>O0_6>+G-P3uM}2{coWVj! zUBBlS9HbyzzNo!-jYIx0#Q7_kM|8q3ItFa08Y=907J2{QtL4SeXXJO#omBn1j=?kB zNMCteINz3L>X3k~Z7>O{7c}=h0zWwh9jem5N)w5oUcBIBoc3>S??0e4z!!G< z$)TNWC|msvPJnI(G~iaen_1%iDF<_~0Nw!A{ji);GpNr^Vc3u6Eoy+mE(;1Db4yKu zM+&iLerZ<*6y{n`Sej323Ow6@*}qpzt_TV&a4Y+!VsAH!NQP6xit=)rG1Rq^8h^ zg)N{!?epwzY3n#};&dF}Mt+imFsvjpR`1=_44Ob?kgvML40wz}!-jP} zHvxkq7BbjYQ(^`@HeqmOl2iZ$pV0@EC+u?yIhr2ZJRR3=~ZyX24?)E_d}ApSL=m-HS87;+(s=v<$fI z(HHrvc?sw}ig218cTex*5I#3t_rDTO&Bu-;3Y%EES4@qv8!j;+kzI4Z!M-vvUXdhc zPO_C#{^2{~#w`PnI^aQXmM@60mxrIR?lX3Z?x>5dh(vUnCtNnT(WJ4bfbW9n4c(<2 z?rT53AwOF~N4-1bbyO&^@; z>7lJC`hTNxXE_S|V~ESrSoEC~dpVfIZ3TP4`<6|9hNiI+3bg-K204uFjmw`Y?PVG( z98}(&It{~^Z$!M#i;Q{YAr5okncPzcXMa|Q%`o(v9`=Z)V+Mr|+Rmj3>fw-HFQ8Tb)5vxMeciwY>TnbTAn4pm0KD z?qSJ@;2@SQbXfEBDa+0*OvcTp;Na|2Q?TIqBg2D^QORQ&#)q3qaJh2}XXituuEyqf zvdWy2fC@M0)V0mtEP-9f2R)_d2DPr*4XTgZTd{&0&z#HF0I2N7CAGvIuG@`FgW@cM zI6fHnQTd{y<>P98=zx`XElwus=KI?%yE$l)aiL96$m2!1K9}C4Mi+sF>|Mj$***5u zUJ5}nRWy&jk5Oc4Cx^Z}q1SYO)A5_#aPnw*O1gU)!d7|wjPpO(>y`b`X{vDzGMBJ3 z8XRQCfLqsZzFK}O49JS&=Dt>wTy`TTs$BVQ(5{(%Y0GEGx@jTvyH{TeIDjW`sk?K( zRbBR?hkc5f7e9+B<^ZCPjPDlt*p@}TLSfDe!=3Xa=6re?djWMPy!;mX)9u##VgMNp z$o2%XS9!Z3Sw3=zOdHLYidyXAeMKtFWOW!U7XsR(cWsDoI^ z*`x)qX;_%uNDt4|a0rtp*X~=xp?~#-ME?LL&Bm%z$8J2+ zRULM7#>)CrxAhg*x*$*x1gPqksAn$$)0r6exOOja^mbd^X6RJKe97Bc-(g5Z7!p}B zr9|7b&JWT|p?m9P6K2-KzBh^UW3Wt#-PWQTu$AC3` z@h`_*Q7!A<&L$@&HPzz<$U{)xQF$~q?fV@=uIuSZPffO zTq_1AF+M>Z$M!2IL7{t!TK|r-v3uO0FD~!CQWc$Bf~X{YoNVbv5uhH5c-^~|sX^?i zf%pV>t(;{_a%0VHI&5Gu?98L#6VeIN^neH~FC<|GpgwQ{61#oabKbnqEr-?JdvX=D z?r-?~^@!GOIUxclL@Ss3@zyHzEj}!?A@;s=Dw)59y8Eoi#&x~m^PGo{S@3&9EEO~1 zX;3No-m;~At5W)VeO#RYbYufM;zp$O@PP;*!~nzbE;SRDxKUvcMze)XnRLJ3KXBs7 zRngdaTfE&DoZ2Upxhb77!VS{3f>?-PI|!#}*e*t{f8~wOWVL$j+iC#hpTDTN^6dO9 zMANK!?kTXM!q`W<;J7AWlhBNCpPacQmy2$Y0j717B03S(7_j`BB62(tseL^=cc~52 z$e!k->c26E5Qu3q3q6Au_&g}e35~OQA5{7+bBSs^SkB%W=d%&@>pE8{hNf8_dkZ3< zS-FLp_tfc%sRu^;z&FT^>YtpLAL8kPv7qBnEUz6f+=G4QVe&C{-gJiTR7hV&<+lOE zU|P8`nl3z*Sd>#Hj>x~_ZuFS?3h{|h3VLM>B`*O0$tnhGve89x6 zPvjL_Ob{gPg<#zx#NGO^l&SaggZ?G#j;oT^Yn2dcU1&1&%rZW}o3X`0L*1L-%2{ty zA4211+dXV+b{S;R2(2TxE#0ravrx;%*@d>%%5={rJG0vpi9815k2QWBcf#}71J9#* zIw%|zR<#F=yGuX*>sejyw9-v_j<^!E?P3qbJ z!0Jiy+NXWn2ku#j)gcBasMJ{=Tu(d(w}8H;e!fr-!ubV@Lro%}0nMznt+#*N?QZ_Q zyk;~6pBrtrB<*HtW3}D1xy4@J7F44?YZV?(p+z?kH5-6s1ZUMi(xue}!Y}GtbcAjdt zwuhKjz0_Kyu5!1{C_)K!KWD>N|LLj_YCF=n#jtP$bG(Q;Q2;uv0b^Iv;#!d{x`yjt zrPOVgSnWU|WA9R~{OK0x!4eEAbxmri#dSaw%-~xOUH76_!?32%rS@b$8(@qJ0rz0k z*jR9<7X3Jjsp?Kd_bk~45REJ$hOIPgY6$~ot>0y16WE67Sb^z!c6NZRfNFJuFjx@emu-9l*xiv#meXmw61uFwm4t8L20^}LQ4bTYa`gAl`pi3Kujpp8I0OLT>R zj~bRal@l8_7cyWcr;9^E^h%i+DHo-K?@Aw<8VS2q4tr2Hg7$W-DQ*+NjdRoM9sGE50kT^VF zIlJ8_EW^x2r`@fF$(sO6K~ajF5{aUYOjKI2M;o7vJ)H`K>X^N4h=wmbD-OjEZmB#{ zH=Tq#v~;s7Ndc&#P;MGx8+OSSC^5pDuC3t1_GxP1QOno$hBz#dx=?B3mw9ZIm<;J+ z=yuyCAYs`R4IMeP5nwI?hPtk2?}>vkx>Le9tAf;SHGvZeoF+saVjqgc(JF)?SgRNr z-H-Y|AD;+8XyqE5vm=^k;s3npy=VLySQ|fB8%o;eskjz{bZvX860|%eJ{emh=}LO; zhX3sTS_mROQNvhUP)^@o4bt9PQSC+O;$Rld&bWIZ`ZdXwwe3>*|D2tt+~O-xD(8P5;kHQ5@14MbObuN zZtKR?C(+45=%gC~yk6Q?K$Al(fcGtA>kk%H?FUTS!4eg1#52TmO>=`=Q`i0E*{wAu zNKwS<>8@f%Wg7vlJCMiZS2uoxxqX3+8Fd+4>evA$G;q~lE?-t3K@L{ef(r8YM)p9Z z!c~bA0zC0P>1JPqoqWri3(~uZjerI>MLBbsrm8=9a{^6b+}#P;g*2b3fQN`|8&^42ZsF`?^kETVoB;*|{imA0Z7u7}KUPzH3a!yU(#58c+0H$u#}&(VUIxvW zP}a#wM$pTI+J}cJ$oqEJp8TEnKfsZJC*~o&JCe7zv~;+|(RE(^ z`F}tRUN8j|KVBmlJ_dvDq-@^cqp>Wh@NQ{~cewjWiZ58S(mkr=WA<#G3qpNyL@EAE zk(7l&CDKZvvjbN_1<6MdYX6Z z(A(mG&4Tb;2Lio+oD|U9g6`=0ciU-L)*`Uj&<=N+>>z5ImE?v_o|e+H6Er@~BKFjM zhGWp&cuc0o)vg8+aPc`}@S+q-cjup0LG&~gR3aUKg!d(y1hmS%P99NT&XN61tv z?A3$y`(NvQq4^nOQIC_O{-j)=2xHt|#VF)jnKmMZz4v6%qeHiEh3rF5*lPhEq(_f! zZ`_pA;-ij;#Wtz6E7slo^^uHHDEVany?odSXPrfo0LdlVCN^s$G9xB)9T=*zv zL<#t^ZiGwLrH*mo9?FPT1K(9b-?sy^8^LR}(q=s4tp>a`s8q_8rsND5y|m;XZXORJ z)?9c5J+6nHUL@ghe|5(2Fg^{#rxhPs4)Ci0jW~rBn=~}aBwOo5MmJv4}S=hAl>~)tl`0GUY^gm=XAHDaT zUWxgg>{t7$_34Ib6aj_tC&1Yc+YW5J8E)LJIWz0U3iNXKI(+8v!|b8Rw-%wG>wh{9 z&W-tId?$5L%-8X7(p03w9)H=4iBtF3j%tM}K&@7GNVhhmPi_vDYm*caa%bHsAiFjn zf?RNJZtC58->?@77O~}>aC>_uL%D^aA98I-404Eh%K2{VyXZt6=*c+fNdlo({rvxp zn&2}*zPIaMJb`$8B(~&z2*VG5XCy=Jp?v-@^FEeM_X4L}bVB>zvzd*BYU#WZZs3~v zBYSyZPCbJ^Og+>6j~xfrW;B+8@9dGPlEo<^(pxg_j`q*=;QmXDcqkTl>d3$QVIQ<<<>FsCJbQNzV|maY z0PI1e+bv6JTOD~_f72>*a(A=x*hS0O%P|R9Hz;CgHv15RV-*@Kl*sMlM(l8Z-qL(9 zArs*>(SzQKx$HvZhB-MSyJ`}q$!oYm-b9qs^4kSt8a~&^Bt<-*vADE(-f*^CDvnWf zC$RI1*ad4e2z+jF`}1Ea55aj?0pw8hAb@`rbqvt3dk{Tiy8m3H{|N*(nc_?289Li^j~MC$)Fl+K~tnFEaGl6lD|f-Vw19QN8Lj?@GjNK?9D@5EfmV^ ztClVKs0zL91RlYJLy(uv9N2{&TX*!Y3SAu62?XLnpgSSp+CgFh#;rW}Xe2j#_wfLT zu=E&LLZnznn~4~=Wc-8ww9>c7+X0n~Sxciy9zHh11tXh4*g05K8>~v?Ii`i;08Hy>fB?A zFznwE7o-wD)>{H_Zi%zWgi+T0${4=-&n7u1s8W`wiiqJjFsNUp(^j@7ytY_zzgua^ z;xyXoeVT)fbHAGiQ`i756TJzrHAa{5I7n; zFt~Pd8Eir4A&IRn0obb+55P^nR;!++Yr zA(YQQi)$BNX?%iAmB5oGvY~0UI@v({82)H3k<&nN0HUwD4u0(Ql9gfn1dXLB!J0vK zLU9Xi#jK`UR_wSCghq39ix0ICNbt(*UrU}9X$HB~1r|+vT{KJ>2NwhqOmfpJE_YWR zwg_~}k0Yc{6>-Cg=vAu`!VtI)Ce-kQM{8b3GR4CFolfb+ldLohAJ(*|HD1@{W*;)H zNuP1B8C!5RTc5CxooXG#I})W%6j6vHbGKeGxygisFy1pD8#?Dg=UHz(Kq*skx66n^ zGP)m{PWMx-5^gs_t+lKYuv&HMc5ApW|5;?+?-$dYaW`#Dk`mNNpJh`zZ^MWlg}||! zPWOx6D1y2HOV}h8tlajWQZRF;VM^)tYsgO9G4w}@+yk+tb^Y6M7>Q$$9^I*D+bar5 z$=;QR&uMl7B&@Vqe_owqBv4rfzGpfKIypVuF9OwU#q-o^)!MX6!`vNh^h=)g7oZ-s zV6EH;&__LND(Oek2;tJJL$8T3kHbaU15s0`!b-QGRCjJWzWwFU{&OcdL;o`2P=-1kOTXC;BABmNeBk`M0hrCK*f?FI8)YfO z6&W`<+&W`U`@=nZZ>-F6Xb&XT2qL3q>c4C@Ls(Q+;gjLL_CM-wf+sZ%acVzeGfL!; z098<^u@e@aSqQbSfhB+@n|S4w0NYen##m9DPX>#Re9Xn(5;y=kP#&s+8N!1nq2pXz zzjN%UX^DkAN)^cv9z1CrUh95&{vPsJ0H2G-ZTx@A2p&B1;nqRba;z-n;XHW}%{*Dk zaTeT|jq`1c&xx6kt-3kp{c1K~ntXDDmnAq0cI>VB@>h&{NsKy;dCQvEhsl5VHFLwU zZ@q!T3OrNCE}(@CSb_nO9LHAd>dv$WrZSX_TM>5=82*U~5$ZU(hg>O3<@dRq4gWLl zVO;9(wWB2_^AN;b>ACGIRD$40NTk+U90hLZwl$ly+YIQ!&|DgeTHa9vv>|+}uXOjn z+O7mV#_M~BqNqw}Ep3IUh>*tCQ2AN22q6eTL|bH;B*SDToyjDkYOUB>VyRk7P*r=Z z)fT1pT{KkHE=9FkbP0<8d%tfIb7t=SzHh>Ro@bh;?KAIt?z!ild+)jDp3B+Zp?obW z#ffe=`aQb2bpi&hXLU#OJ=Mciaw+U6Wke`*-f?SeT7w2xMuU5j?#}C1B2LG}j57T% zg*^ik(d7GRGM&F3zpI5l4aqqv(wZh-ho?J@Nl(J9NR%&HQ1ScP?4FU=6C-y37KqeO zUP^SG8wDGC=`!$8EQ{_2XQtsH5OZuMY%$fEh7%2l$(Lg2YLCqYkl;U@ebOcBSA$C; z1)t?g%-HJeV41xPK)vyEW(_P{trqpHXkOklBi@aUTi3PpRE8xq!VfQrIlJqZH?^2 z3ZhDZmm)VTaug$$+~{{1LjiAuI|L#uYo3~v-_C%UlU)4aw_B|r~~ zLwSZCMw|AE_S?k^@gfW2H*`SMu#wX-QkTIA(TV)Q->eppEv zZEBbQT;1oo6hd-~xA1?7OX;uCRo?zSM%WH)93qKqD-J(P+4%hva;@A<_7}GV zP3YeGj%)L+H%dayH;TP(lZPC^&|nqzXiDqEze>U)IOAQppjErG(BVZ)K6LT4?Vc+% zh|3kd%EfQb?F*w8vWMRXpiML)QtDv|i7cW)-Dkv!ne4XncC1$@SDVKr<`TsB8gB93 zxEx%~(Jp%AWi92Y7?yAtyiXJ;=&GPuvu3fkyYFI8NV{tMb1pL}RoXR;zuHI-o9G0a zXlds)aHXY!%S3_$+K`MUqnct)jCtKrZ84Qx;fPAMO11W5V$FimQni{c68wD+FH&$&JtT zo8aZYRzB2aK9=?AWG|Mg`co7ZPTIh@^7xn9fF~LWh z_Q%8xtd7oPsJ0G4^H}7J#&ANC@vJf*tZwU*KF45euK=tz0V}hV2WDh=f}Nd*Znj4b zF!J!NOR(yE;fxiPW=hS7O^Z(!^+eddPkv@k8?y3N^$DE&awWJBgYdT7!0m176ri=; z(b^^iGW$y<$fCruXeO^{iPCmYDScn$?iZ8|L@*N*bJXG>emO4BgLnRDTNIjy(7CZS^wjLJQWZ}^3 zN&Vq({NXF>62O{!6ao2dU7j>-&}QiDIv~9X+|Gjva4E4yk$@woo8IgM#JNCxogf}K zqKwFwaJEO4uB_XQn{7Xb4xI2)80n45nzzW1@U# zv4T*!7<6=BFgafc$#1Iv&F3B+LQ_p>suz*&}N3=Uos{P)Fypkcy^z~=P8yE$C6IllWLX!tild_7eP;T?S70xlf0j^Ga@Tn*f!%! zGa~uJw1a5bUbKwDb-KinrWj5TE?HZ8X;>ztn~x=kgN0pDfaA+{EV}2a325R*d|xL` z_4$PZCTFe3iSH~H_$)NDbg75vLW=iDjE7tulVG}?W^nJe3*ErBJ9Gs)=q^V-`Fe|- z(uSwl`E5ROEaYw^`hz_?)sD0|y-)=+(_3cfZjxUUwOdB=xiWuTdj2PHu*>PxVKu+6 z#>GectoNerxj^%SHPKU}0T0v=r7T*3RyrF~2lfN530es!T1k4y!R>;#3({b!aIFau zcnQ<)AOM9h>3=p$I|F`mMo&0zsE6(4dzf6C6WW%KU8CjWcPZ#HtV*?LL3UZb1UpL3w-*)z#9_T_Eu3s zQ@MdqZ|B=4X5U6Y(=0gS6&3W7a{aXS3OMB#MV;+>%C^o_1 zu~)}L0ILnKs94cW`B=h-jhVWDB7LY>x0-RF;5hWDRy>=`JHr0zQm?og01HC@Qm@da zxf)iGAvHPHh)2=Q`goC157^fH6BdAM1^lKqndLtl0$jo8chL9k{v7y^4V_w%+gobr z^86x_JI$xd?Lz2fGi;P1M+Ry{7OW~R<-8Hj4w$}&Mkw;)HX4xy2QDxC@b=a`Ag_b< z(+R76du_;kEg#!yn6(z2Rt1`FO!`nCtPNMZjA>LRZ}n8*UW459bT=(T4I5>$;0zKZ z-_MfXhf2xFq6N+g)4#_(z_b`&nyiu1QH`m)i3LzCy>uxESE%qj8rV8x2ei~4Jam6t z5T?c>HASqf{M+*m?#6^T4x2_l(h-k4X@V972y*6*d!D_H-~(%?JzOh76EM^-8c7ca zeEeWDbTJ=-2N0o;ch`)qSl+2pg$At-134Qkl;L`$W(LLE8BNAyUtEn*<%6{i9kbPY zX=UJ#E$<-nhDnh9YkVoPXN($h6q5JE#`43be)U<7273aLBA4o~1zEh!TJ=uurfoot zzY|0cP4DI(ZGmp>5R%fFJ7wf8OW{ydY6wYQdfuwr0t2f^YSnEAWEMgp1``?$`snNrm0euKn2J z3cMf{Vamz{uic0AIZo2&rn>_F7T+*?oHU={E2m+6L^)i!Hc`{L%$!s#Ry`Y_2 z$(|BmoQwLJGBtUv$0?ozNP_*32%IH(bd@sw1r|7@UZ~l52}ejN|1=wUQ7;@AQMY3o1E_j5p9#2+}vTYd0nghBzdX@Ut6<@2v7k36< z_HW8mzQP{yY6)=K4T0af04}hcmHiG?XAcuztLL~AI=4+7UDmlpaVIqC@WZteAb%Zn zb_deYjSs6cU{Wa7k42_aWV^d_z$g~Y=6`GyUXg_5{+85S{w%lQ^Y&Qb55hP2iR$@+@e37E$E4 z3#w%NbOL?m4%?#MC<~E&HBd&O@UZjn=l7nlmUDAE?Cv7P>1iOv!)k9S`d3Q^xd2!_VbtGyt^<%`HV8`4Q1+|0B4EUm(W zO2Hch&WWk9g??8L;s07cS@h-Tw@O0p(S64BNc;l32Jf zGqP4P@N!C+US|;8)9~GRV~7{5Xd<*o1Cy6(Xh80!ONkT35BIP9MY>pEgy7Uj-+4_F zbXu}WxN^Dc8546F>&=g=Im(^ysTrKFZ2j<_hCwie-H@BEB%W^|hNe$2Djd0XdNHp4 zS!lc_q^DI?_cm05m%`dC;w+5_1%eswH7_t5d>1xIOd$6p&Ni*6e{RImOVq7P zBFeth4%Xs{B?Y~w7)@mp7lHx%(^SPL;ncaxOD zjWl1Wr^U}{C{1JTV(E2S{4LAyU zdkJvUX153nY5F`ZNjLd4K2iM9RK-%soXyZ40RsqbppQ4Csak)pZk()OAD z5rD1j1bd;A7FfYjDDJ?wZCe2LSBz4+92nC@3#{Z5S+Wlb@C(Z_&Ka}k%s`L~f$Xh_ z9oE8g*v|8;JSjX;iM+2P=GAy* z(B8<3OF*$4l`+cH0etD>W&11tIjiFlFh!^6uw!H!Qm3S^=7}%q3t`PoAZ`Rf^Gj4m z<3~f-x%-oyg~&cX3*Xj|Ezq{2kLiv01<&*CEAd?3H6k z`$rFXMpD3KJ=w7f_KIu&=vIamz0ZOe{fQWV8lRmQcDrqX9BsGF30;jW5dV6P?*zx2 zpN$;+QIj3{R;d{AdGD(6Z!Y>_F^3bH}RFKe2Urc2cCe zUr^^fTbXS^Sem-FvmdHcF&9UN7hj*O1w~E*QE9u++KKio(&C2sVJF96T>QpSUqEca z@T9ZoT>*k^HI3n>GV|Y=KKSZTbaXz9ogNXVf5aD#1FfiJ{|&u&e~Csvz?TMgBD2*P zEXC4`JlDdvqZjsrT4FFzLhMwFjOA%Apxf;}iYfWM851z<*b?-`n^?M1^Yr@E1wv^7 zt3vf{nOp8FK{eKis_|SGsH9n5g=+k3-QQ-<9AtxvE;d6KxIiV(^(tH`s}FSe6ec$k zTr_|kw@5n|zjyZ3Z8B*o+7SYipxAwu^06bWaRz<7mhR}=#((c#m{T0d1KA+^aFtJjRO(tTz2L1T4|HAuiR+XKXPSszBRE17wN#;)_VERjjt5Y6Lgk% zvp$vQ$*bP$;n4syju(O$G^?=fR&9tq%t{X^)M(#%5_@0mFuwF^_wH@l@a1VUREI*- z;yuCt1}&}_z=i>|LpL7Xcep~M_-sJe!F4>cK+pkWIhtty+IOyyuwH&r>mGM4;|!Vj5Vid(AFbu+k8Wbtmr8Vr`4Co^1tsL!3yzQZATNR@T(?3X>y6u$?xg0%dCcU zQBb4T>?`~BK>C!MU4~_95|JzH{{N3$@(iRX z)IVFcmA{OR`WXs~Cqg}V_)LZBZZ#OflZ-f>Rn}6sy5r`rgD_Vx)*^{OMmI0JP))jR z&bQ5mPl_r&=@mum;rEfxj*RCl=%e-Mqb`JfepyZIvL9wA08(R-I;&|iN;^@mYfp^$ zD`*E0>&5Ua9jL!*{Kpa}jLW=*S?#_*xZBj54^R#}oOSoQG#dyJ0;v%G+^v z7+mcs==g2RF4sKQ0OvLg=UdcBPuI~zCYvOkh*)KHOt|r=hA4Vz=1Sq^5&NOf|1h`H z71K8jHSyxI8)_kjCnzmey57l1jt5EQ8jksC*PCe~vCZm5H7rHmnArq>iro;Xz@saw z#qKo4-n4Y6SsRFLFsSIVxZM9V0d`Esh!RH@mq+K_`m73SbD*vTO{n{@jV65bdeOBl z#n*7cPIlbI7FC5#2lSJ>Yb8PsoBX7Z$d(KTJ5TI}O;3b}qYD}lrHO=DFIwbX)ZN9) zH$fzF?Cz@Bflyxrg6K_&Luk|A6+-@yw6~_Z1pVX?1$2uwl~w3=vZYN&s$36;cE(`G zNz0gc8#KTbjk8|5SmA1<%$3Jxb~JYtUW?{|9yhx{finD<;}qVKv)2q-WA~XmROT_^ z`Q|kAX24)4JzU#=FOWSMKMF!NwEL->+ZpE{qwcBB%%bz`Y!X+B+52Gp-b!g2K4&JT zqn|Nc>4tvi2Tn4D8{=`hWWb3>@grF(Cn{B|r3BQ13;Xj$$1I7BBc0&8(F0YBg4iui zEiQTVo;@Hfo5Tr2(sG;nyC)^GCwKZo!Sv oAyIC!6D(puR$a6?7P!TIRu%&QMKjBNRBrg8(r!Owd*R>y4{n;4r2qf` literal 0 HcmV?d00001 From 51cf24fec695e4c1bb1e05d0e3f995367067e081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 31 Aug 2021 10:33:59 +0200 Subject: [PATCH 33/35] Add Makefile to build tests --- prism/Makefile | 20 ++++++++++++++- prism/unit-tests/common/Makefile | 44 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 prism/unit-tests/common/Makefile diff --git a/prism/Makefile b/prism/Makefile index 12544d2ef2..707bf2d947 100644 --- a/prism/Makefile +++ b/prism/Makefile @@ -14,6 +14,7 @@ # If this is a problem, the best solution is to create symlinks. export PRISM_SRC_DIR = src +export PRISM_TESTS_DIR = unit-tests export PRISM_CLASSES_DIR = classes export PRISM_OBJ_DIR = obj export PRISM_LIB_DIR = lib @@ -323,6 +324,7 @@ export CFLAGS CXXFLAGS LDFLAGS JFLAGS LIBPREFIX LIBSUFFIX ########################################## MAKE_DIRS = dd jdd odd dv prism mtbdd sparse hybrid parser settings userinterface pepa/compiler simulator jltl2ba jltl2dstar explicit pta param strat automata common cex +TEST_DIRS = common EXT_PACKAGES = lpsolve55 lp_solve_5.5_java @@ -368,7 +370,7 @@ extpackages: checks # Compile main PRISM code # (we also do some preparatory checks, and build launch scripts afterwards) -prism: checks make_dirs bin_scripts +prism: checks make_dirs bin_scripts make_tests # Compile each (top-level) source directory separately make_dirs: @@ -397,6 +399,22 @@ make_dirs: (dos2unix $(PRISM_INCLUDE_DIR)/jni/*.h) \ fi; +make_tests: + @for dir in $(TEST_DIRS); do \ + echo Making $(PRISM_TESTS_DIR)/$$dir ...; \ + (cd $(PRISM_TESTS_DIR)/$$dir && \ + $(MAKE) \ + CUDD_DIR="$(CUDD_DIR)" \ + JAVA_INCLUDES="$(JAVA_INCLUDES)" \ + JAVA_JNI_H_DIR="$(JAVA_JNI_H_DIR)" \ + JAVA_JNI_MD_H_DIR="$(JAVA_JNI_MD_H_DIR)" \ + SHARED="$(SHARED)" \ + EXE="$(EXE)" \ + LIBMATH="$(LIBMATH)" \ + CLASSPATHSEP="$(CLASSPATHSEP)") \ + || exit 1; \ + done; \ + # Copy/modify the launch scripts and put in the bin directory bin_scripts: @for target in $(BIN_TARGETS); do \ diff --git a/prism/unit-tests/common/Makefile b/prism/unit-tests/common/Makefile new file mode 100644 index 0000000000..70eda419c9 --- /dev/null +++ b/prism/unit-tests/common/Makefile @@ -0,0 +1,44 @@ +################################################ +# NB: This Makefile is designed to be called # +# from the main PRISM Makefile. It won't # +# work on its own because it needs # +# various options to be passed in # +################################################ + +.SUFFIXES: .o .c .cc + +# Reminder: $@ = target, $* = target without extension, $< = dependency + +THIS_DIR = common +PRISM_DIR_REL = ../.. + +JNI_GEN_HEADER_DIR=$(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_INCLUDE_DIR)/jni + +JAVA_FILES_ALL = $(wildcard *.java iterable/*.java) +JAVA_FILES = $(subst package-info.java,,$(JAVA_FILES_ALL)) +CLASS_FILES = $(JAVA_FILES:%.java=$(PRISM_DIR_REL)/$(PRISM_CLASSES_DIR)/$(THIS_DIR)/%.class) + +PRISM_CLASSPATH = "$(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_CLASSES_DIR)$(CLASSPATHSEP)$(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_LIB_DIR)/*" + +default: all + +all: checks $(CLASS_FILES) + +# inhibit building in parallel (-j option) +.NOTPARALLEL: + +# Try and prevent accidental makes (i.e. called manually, not from top-level Makefile) +checks: + @if [ "$(PRISM_SRC_DIR)" = "" ]; then \ + (echo "Error: This Makefile is designed to be called from the main PRISM Makefile"; exit 1) \ + fi; + +$(PRISM_DIR_REL)/$(PRISM_CLASSES_DIR)/$(THIS_DIR)/%.class: %.java + (cd ..; $(JAVAC) $(JFLAGS) -sourcepath $(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_SRC_DIR)$(CLASSPATHSEP)$(THIS_DIR)/$(PRISM_DIR_REL)/unit-tests -classpath $(PRISM_CLASSPATH) -h $(JNI_GEN_HEADER_DIR) -d $(THIS_DIR)/$(PRISM_DIR_REL)/$(PRISM_CLASSES_DIR) $(THIS_DIR)/$<) + +clean: checks + @rm -f $(CLASS_FILES) + +celan: clean + +################################################# From 1bde980ba7b30e36e008a3d91cd4b728b7d8dc3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 31 Aug 2021 11:24:00 +0200 Subject: [PATCH 34/35] Run unit tests from Makefile --- prism/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prism/Makefile b/prism/Makefile index 707bf2d947..72d4748056 100644 --- a/prism/Makefile +++ b/prism/Makefile @@ -177,6 +177,7 @@ else endif LD = $(CXX) JAVAC = javac +JAVA = java export CC CXX LD JAVAC JAVACC @@ -490,6 +491,8 @@ count_loc: ########### # Testing # ########### +unittests: + $(JAVA) -jar lib/junit-platform-console-standalone-1.7.2.jar -cp classes --scan-classpath # Run a single test case from the test suite (useful quick check that the build was ok) test: From 279e213d1b0a3e92fddfd0785e65a34a41da4825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=A4rcker?= Date: Tue, 9 Aug 2016 10:09:36 +0200 Subject: [PATCH 35/35] Improve initial states generation The explicit engine explores multiple initial states by explicitly building generating a list of all possible states. Actually building the list is very slow and runs out of memory easily. This solution iterates over the cartesion product of the variable domains. It introduces a deciated iterable for the product which generates tuples on the fly. Please note that it requires #flatMap from FunctionalIterator instead of Stream. The latter is broken in the sense that it preallocates memory for the whole result. Thus, we would run out of memory as well. --- .../src/common/iterable/CartesianProduct.java | 212 ++++++++++++++++++ .../parser/EvaluateContextMutableState.java | 46 ++++ prism/src/parser/EvaluateContextState.java | 4 +- prism/src/parser/State.java | 13 +- prism/src/parser/VarList.java | 58 ++--- .../simulator/ModulesFileModelGenerator.java | 31 ++- .../ModulesFileModelGeneratorSymbolic.java | 32 +-- 7 files changed, 334 insertions(+), 62 deletions(-) create mode 100644 prism/src/common/iterable/CartesianProduct.java create mode 100644 prism/src/parser/EvaluateContextMutableState.java diff --git a/prism/src/common/iterable/CartesianProduct.java b/prism/src/common/iterable/CartesianProduct.java new file mode 100644 index 0000000000..7c573ab814 --- /dev/null +++ b/prism/src/common/iterable/CartesianProduct.java @@ -0,0 +1,212 @@ +//============================================================================== +// +// Copyright (c) 2018- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package common.iterable; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Iterator; +import java.util.function.Function; + +import common.IteratorTools; + +/** + * This class provides static methods to construct + * the Cartesian product of a set of iterables. + * The implementation computes the tuples on the fly for space efficiency. + * It relies on an efficient implementation of {@code flatMap}. + *

    + * Since Stream::flatMap preallocates memory for the complete stream, + * we have to use the alternative implementation from FunctionalIterable. + *

    + */ +public class CartesianProduct +{ + /** + * Variant of the Cartesian product with {@code Object} as common super-type of the tuple/iterable elements. + * Elements of the product are distinct and safe to store/use elsewhere. + * + * @param iterables iterables to build Cartesian product from + * @see #of(Iterable) + */ + public static FunctionalIterable of(Iterable ... iterables) + { + return of(new IterableArray.Of<>(iterables)); + } + + /** + * Typesafe generic variant of the Cartesian product. + * Elements of the product are distinct and safe to store/use elsewhere. + * + * @param type common super-type of the tuple/iterable elements + * @param iterables iterables to build Cartesian product from + * @see #of(Iterable) + */ + @SafeVarargs + public static FunctionalIterable of(Class type, Iterable ... iterables) + { + return of(type, new IterableArray.Of<>(iterables)); + } + + /** + * Variant of the Cartesian product with {@code Object} as common super-type of the tuple/iterable elements. + * Elements of the product are distinct and safe to store/use elsewhere. + * + * @param iterables iterables to build Cartesian product from + * @see #of(Iterable) + */ + public static FunctionalIterable of(Iterable> iterables) + { + return mutableOf(iterables).map(t -> Arrays.copyOf(t, t.length)); + } + + /** + * Typesafe generic variant of the Cartesian product. + * Elements of the product are distinct and safe to store/use elsewhere. + * + * @param type common super-type of the tuple/iterable elements + * @param iterables iterables to build Cartesian product from + * @see #of(Iterable) + */ + public static FunctionalIterable of(Class type, Iterable> iterables) + { + return mutableOf(type, iterables).map(t -> Arrays.copyOf(t, t.length)); + } + + /** + * Variant of the Cartesian product with {@code Object} as common super-type of the tuple/iterable elements. + * Elements of the product must be copied if stored/used elsewhere. + * + * @param type common super-type of the tuple/iterable elements + * @param iterables iterables to build Cartesian product from + * @see #of(Iterable) + */ + public static FunctionalIterable mutableOf(Iterable ... iterables) + { + return of(new IterableArray.Of<>(iterables)); + } + + /** + * Typesafe generic variant of the Cartesian product. + * Elements of the product must be copied if stored/used elsewhere. + * + * @param type common super-type of the tuple/iterable elements + * @param iterables iterables to build Cartesian product from + * @see #mutableOf(Iterator, Object[], int) + */ + @SafeVarargs + public static FunctionalIterable mutableOf(Class type, Iterable ... iterables) + { + return mutableOf(type, new IterableArray.Of<>(iterables)); + } + + /** + * Variant of the Cartesian product with {@code Object} as common super-type of the tuple/iterable elements. + * Elements of the product must be copied if stored/used elsewhere. + * + * @param iterables iterables to build Cartesian product from + * @see #mutableOf(Iterator, Object[], int); + */ + public static FunctionalIterable mutableOf(Iterable> iterables) + { + return mutableOf(Object.class, iterables); + } + + /** + * Typesafe generic variant of the Cartesian product. + * Elements of the product must be copied if stored/used elsewhere. + * + * @param type common super-type of the tuple/iterable elements + * @param iterables iterables to build Cartesian product from + * @see #mutableOf(Iterator, Object[], int); + */ + public static FunctionalIterable mutableOf(Class type, Iterable> iterables) + { + int arity = Math.toIntExact(Reducible.extend(iterables).count()); + @SuppressWarnings("unchecked") + E[] tuple = (E[]) Array.newInstance(type, arity); + return mutableOf(iterables.iterator(), tuple, 0); + } + + /** + * Build Cartesian product recursively over the provided iterables. + * For efficiency, the same tuple instance is reused for the elements of the result. + * Hence, an element has to be copied if it is stored/used elsewhere. + * + * @param iterables iterables to build Cartesian product from + * @param tuple the tuple instance to be used + * @param pos the current tuple position + * @return iterable of Cartesian product + */ + protected static FunctionalIterable mutableOf(Iterator> iterables, T[] tuple, int pos) + { + // no iterable -> empty product + if (!iterables.hasNext()) { + return EmptyIterable.of(); + } + assert pos < tuple.length : "Require slot in tuple for next element."; + FunctionalIterable elements = Reducible.extend(iterables.next()); + // one iterable -> map elements to tuples + if (!iterables.hasNext()) { + return elements.map(e -> {tuple[pos] = e; return tuple;}); + } + // more than one iterable: recurse + FunctionalIterable tuples = mutableOf(iterables, tuple, pos + 1); + // elements x tuples + return elements.flatMap(e -> {tuple[pos] = e; return tuples;}); + } + + /** + * Test method. + * + * @param args command-line arguments (ignored) + */ + public static void main(final String[] args) + { + // declare type of function explicitly to circumvent class format error due to faulty type inference + Function toString = Arrays::toString; + + FunctionalIterable product = of(); + IteratorTools.printIterator("empty product ", product.iterator()); + System.out.println(); + + product = of(Arrays.asList(1, 2, 3)); + IteratorTools.printIterator("single product ", product.map(toString).iterator()); + System.out.println(); + + product = of(Arrays.asList(1, 2, 3), Arrays.asList('a', 'b')); + IteratorTools.printIterator("binary product ", product.map(toString).iterator()); + System.out.println(); + + product = of(Arrays.asList(1, 2, 3), Arrays.asList('a', 'b'), Arrays.asList(0.5)); + IteratorTools.printIterator("ternary product", product.map(toString).iterator()); + System.out.println(); + + product = mutableOf(Arrays.asList(1, 2, 3), Arrays.asList('a', 'b'), Arrays.asList(0.5)); + IteratorTools.printIterator("ternary product", product.map(toString).iterator()); + System.out.println(); + } +} diff --git a/prism/src/parser/EvaluateContextMutableState.java b/prism/src/parser/EvaluateContextMutableState.java new file mode 100644 index 0000000000..6c51289d57 --- /dev/null +++ b/prism/src/parser/EvaluateContextMutableState.java @@ -0,0 +1,46 @@ +//============================================================================== +// +// Copyright (c) 2018- +// Authors: +// * Steffen Maercker (TU Dresden) +// +//------------------------------------------------------------------------------ +// +// This file is part of PRISM. +// +// PRISM is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// PRISM is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with PRISM; if not, write to the Free Software Foundation, +// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//============================================================================== + +package parser; + +public class EvaluateContextMutableState extends EvaluateContextState +{ + public EvaluateContextMutableState(State state) + { + super(state); + } + + public EvaluateContextMutableState(Values constantValues, State state) + { + super(constantValues, state); + } + + public EvaluateContextMutableState setVariables(Object[] assignment) + { + varValues = assignment; + return this; + } +} diff --git a/prism/src/parser/EvaluateContextState.java b/prism/src/parser/EvaluateContextState.java index 9f25e7c053..cb6c3885cc 100644 --- a/prism/src/parser/EvaluateContextState.java +++ b/prism/src/parser/EvaluateContextState.java @@ -33,8 +33,8 @@ */ public class EvaluateContextState implements EvaluateContext { - private Values constantValues; - private Object[] varValues; + protected Values constantValues; + protected Object[] varValues; public EvaluateContextState(State state) { diff --git a/prism/src/parser/State.java b/prism/src/parser/State.java index 944d1dfba8..b2c04afffa 100644 --- a/prism/src/parser/State.java +++ b/prism/src/parser/State.java @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.List; +import java.util.Objects; import prism.ModelInfo; import prism.PrismLangException; @@ -46,7 +47,17 @@ public class State implements Comparable */ public State(int n) { - varValues = new Object[n]; + this(new Object[n]); + } + + /** + * Construct state from value array. + * @param n Number of variables. + */ + public State(Object[] varValues) + { + Objects.requireNonNull(varValues); + this.varValues = varValues; } /** diff --git a/prism/src/parser/VarList.java b/prism/src/parser/VarList.java index 5a9cdb57c6..5d97f119fa 100644 --- a/prism/src/parser/VarList.java +++ b/prism/src/parser/VarList.java @@ -27,7 +27,12 @@ package parser; import java.util.*; +import java.util.function.Function; +import common.iterable.CartesianProduct; +import common.iterable.FunctionalIterable; +import common.iterable.Range; +import common.iterable.Reducible; import prism.*; import parser.VarList.Var; import parser.ast.*; @@ -406,45 +411,30 @@ public List getAllValues(List vars) throws PrismLangException } /** - * Get a list of all possible states over the variables in this list. Use with care! + * Get an iterable of all possible states over the variables in this list. + * States will be generated on the fly during iteration. + * Use with care! */ - public List getAllStates() throws PrismLangException + public FunctionalIterable getAllAssignments() throws PrismLangException { - List allStates; - State state, stateNew; - - int numVars = getNumVars(); - allStates = new ArrayList(); - allStates.add(new State(numVars)); - for (int i = 0; i < numVars; i++) { - if (getType(i) instanceof TypeBool) { - int n = allStates.size(); - for (int j = 0; j < n; j++) { - state = allStates.get(j); - stateNew = new State(state); - stateNew.setValue(i, true); - state.setValue(i, false); - allStates.add(stateNew); - } - } else if (getType(i) instanceof TypeInt) { - int lo = getLow(i); - int hi = getHigh(i); - int n = allStates.size(); - for (int j = 0; j < n; j++) { - state = allStates.get(j); - for (int k = lo + 1; k < hi + 1; k++) { - stateNew = new State(state); - stateNew.setValue(i, k); - allStates.add(stateNew); - } - state.setValue(i, lo); - } - } else { - throw new PrismLangException("Cannot determine all values for a variable of type " + getType(i)); + for (Var var : vars) { + Type type = var.type; + if ((type instanceof TypeBool) || (type instanceof TypeInt)) { + continue; } + throw new PrismLangException("Cannot determine all values for a variable of type " + var.type); } - return allStates; + // convert variable list to list of domains + List booleans = Arrays.asList(false, true); + Function> toDomain = var -> (var.type instanceof TypeBool) + ? booleans + : Range.closed(var.low, var.high); + FunctionalIterable variables = Reducible.extend(vars); + Iterable> domains = variables.map(toDomain); + + // iterate states from Cartesian product + return CartesianProduct.mutableOf(domains); } /** diff --git a/prism/src/simulator/ModulesFileModelGenerator.java b/prism/src/simulator/ModulesFileModelGenerator.java index ff5dc88bb9..31e023d7b2 100644 --- a/prism/src/simulator/ModulesFileModelGenerator.java +++ b/prism/src/simulator/ModulesFileModelGenerator.java @@ -1,8 +1,11 @@ package simulator; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import parser.EvaluateContextMutableState; import parser.State; import parser.Values; import parser.VarList; @@ -250,27 +253,31 @@ public State getInitialState() throws PrismException return getInitialStates().get(0); } } - + @Override public List getInitialStates() throws PrismException { - List initStates = new ArrayList(); - // Easy (normal) case: just one initial state if (modulesFile.getInitialStates() == null) { + // Easy (normal) case: just one initial state State state = modulesFile.getDefaultInitialState(); - initStates.add(state); + return Collections.singletonList(state); } // Otherwise, there may be multiple initial states - // For now, we handle this is in a very inefficient way - else { - Expression init = modulesFile.getInitialStates(); - List allPossStates = varList.getAllStates(); - for (State possState : allPossStates) { - if (init.evaluateBoolean(modulesFile.getConstantValues(), possState)) { - initStates.add(possState); - } + // For now, we handle this in a very inefficient way + Expression init = modulesFile.getInitialStates(); + Values constants = modulesFile.getConstantValues(); + ArrayList initStates = new ArrayList(); + // We reuse the evaluation context to avoid thrashing the gc + EvaluateContextMutableState context = new EvaluateContextMutableState(constants, new State(0)); + for (Object[] assignment : varList.getAllAssignments()) { + // loop instead of filter function to handle PrismException + context.setVariables(assignment); + if (init.evaluateBoolean(context)) { + // create new state only for init states + initStates.add(new State(Arrays.copyOf(assignment, assignment.length))); } } + initStates.trimToSize(); return initStates; } diff --git a/prism/src/simulator/ModulesFileModelGeneratorSymbolic.java b/prism/src/simulator/ModulesFileModelGeneratorSymbolic.java index 9f0efb8fc5..50806bb135 100644 --- a/prism/src/simulator/ModulesFileModelGeneratorSymbolic.java +++ b/prism/src/simulator/ModulesFileModelGeneratorSymbolic.java @@ -1,12 +1,15 @@ package simulator; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import param.Function; import param.FunctionFactory; import param.ModelBuilder; import param.SymbolicEngine; +import parser.EvaluateContextMutableState; import parser.State; import parser.Values; import parser.VarList; @@ -276,24 +279,27 @@ public State getInitialState() throws PrismException @Override public List getInitialStates() throws PrismException { - List initStates = new ArrayList(); - // Easy (normal) case: just one initial state if (modulesFile.getInitialStates() == null) { - // get initial state, using exact evaluation - State state = modulesFile.getDefaultInitialState(true); - initStates.add(state); + // Easy (normal) case: just one initial state + State state = modulesFile.getDefaultInitialState(); + return Collections.singletonList(state); } // Otherwise, there may be multiple initial states - // For now, we handle this is in a very inefficient way - else { - Expression init = modulesFile.getInitialStates(); - List allPossStates = varList.getAllStates(); - for (State possState : allPossStates) { - if (init.evaluateExact(modulesFile.getConstantValues(), possState).toBoolean()) { - initStates.add(possState); - } + // For now, we handle this in a very inefficient way + Expression init = modulesFile.getInitialStates(); + Values constants = modulesFile.getConstantValues(); + ArrayList initStates = new ArrayList(); + // We reuse the evaluation context to avoid thrashing the gc + EvaluateContextMutableState context = new EvaluateContextMutableState(constants, new State(0)); + for (Object[] assignment : varList.getAllAssignments()) { + // loop instead of filter function to handle PrismException + context.setVariables(assignment); + if (init.evaluateBoolean(context)) { + // create new state only for init states + initStates.add(new State(Arrays.copyOf(assignment, assignment.length))); } } + initStates.trimToSize(); return initStates; }

    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�=3Dx@N1Km`>U44W~?Ey9+^`b@K#iQtzga0f?DC%x9sN!1>|f9NVMT~B4DVL=J%#n*WogLxc^ut>XV z*$@5{QZo`=>R9Pio(&_1@mFe^EJ#g|y=xGnPO#n&q-R5TVG1JQs&Vk&JE!p-N9Sc9 z(c;ZNmd=#_=Xmmeehb2`&Mx-0|1S(sRm%R>C?Bhh&RouCo^?xQjf(`)>{d>yHJ=0( zkgNcNMXFj2bgEw4V15hX$1dWd>Wh5xY7^BHkw4%6epsFvFN;MX<)Gqybvmrqkg& zsAs+WarunqjmKQ&A>Fn249|oE*JZ&2Yv&W|evF6t#&-jr0rtmTyPQg4iqx{aZH?a@ zg3UOVG?~}bti(HGoRYg_8dH4BO~^z1GNjoMsrtO}M~LaPpvAf<`828gHrlJ5(<5}_ zvq^(CbyutIRSH=-SPmUVtt%XQ!u^mqTSbAkEa1O?yO^fBZQ8I;FBEQNK}h~M1b4!wCgV2w+n$5UN2XKA=tof~; zUO`V$sN|F<{Hl6H*2f6$SCg@a=!sKR1FVIo*elNVsraEqIClO4Xt6S%-BF?FDe5Jl z6V8!R^+);?1#{~iUV0f!d1pWU>1UR!sRsL@@PpP;TC41<*j2tIXt^~ z-ZBa6Fj^u~RLeIQ#Vy@_t-8@YU{A1do2Az7ZH+)^DSUD|d zqLsl~EL8T{hIPDLU+V`D?YVp><191TH(~GF*VftF(a&~Q<)&)gV3$y@ELiC2M;xlq zJh~f}pk#7;w%@0Z_+ex!r*y&Zifx@aXa}eo*sg4)4jdEO8*v~P;V6jB%92+*hP{Pb zV7(FRzN*Qo0%q^3rV&5yDF-02x`U4?JgT3Jycu^n|Dvd|JV~nQ&m{56 zpsgGJ_D50cX{8eVA;IhaN7l*L|3OjzwH-)OvHHW*g16p>c3nAlztlfa)h1=IX$yx` z05(j55n3F0Gnpx|+eGcrU~Y2{LPi)_<_+jmc9pdrf?l%X+v;|}H^JH4sq+VC8igM$ zhUuuMkVOfbDRtq9rJ!djR!}27JX{0KiTZ-UpXhb0skPlYEqm}&#D)b(0hx4zUj*5{ zRk^t2ZkGc#ICo6RLo7VO1OkZd(cz<+ABoIZA`A^)Ovi|$R8bUP^fMhe+p0_k&NdW zub6K+L^B;V0Sxv(5U5%*Qttb-25?Xy{oocT^sqRU-CB4GkM&E`cJdURF`14Dp!JL! zHAH+Y#4=R3Ny)DaNz8q$clQs4?RSmCD*jMu8$rOkR#>{9b?memM*|eW6D*w!rc#cq zFP-S)+o+*aZ*T1LI?->mp$$f{`{;A6%PK?y zWNQuDI>~bgHwy?z^5pOZrp01@b;(l(j2hpH$B)O2qu3L)K^;Jg3>2_M>Z3x+84+di zNDzam9cM<77|nSQ?`u-(^PpeF+oRr;@ul&I)(KREY!elhN+ZLIn*0d1lwQhJn4FT1 z-8*d&aFbw`W7kM{4VX)wh>lzMDfkS2@1#x(HEYmqE{+a#KwP)+71f>@oM~uOTk;{t z?!wYic3XAL8>b(A{A~7j29+LkrL2QIAJFq}kw9JI&&53IGd|^CK(-mU!h7TAfr$M_ z&d1+)Z~Uj35Vf#&HgQz^tEc)G(L?!E@iS)VBUyI_FjNG#N34#-U=#P9IGm6Y&CkUi zz%=IkmXzEOERoPA(a{kW6Tl1{9m(g9uFlnv`e-vd+hVs0zSyL>nM_sjFw?*j#5|@AYjxDLd`Gv=jHhMQk3`yKs5nL~ zB+$uoJ0EZ2hM5m$wy1wZm)=x+%uWryxj=*Np(ygBOpBX~y`R%rw3Bz%WT<(c-A2;n zG#Op>46r;I9=X_qo#4{D3cbe=S-K2=6C}d#j>&eDLMR%D{#)U=xSo#11`BSzfqg?Q zs@NVy{VOM5HFlxOoTu!~TGxlFnmwKzY9V8;KB5q`EpdT977Z-SZ=vB_m$v#ZmzFr0 z+`^mAEoLkCv)t)zBQ#8fA-dx;=WPq3?5)SfJVc~QPTpSZvs0ZX_+*pP38CC@npiIr zxz*IKqVq~usO8WLHPqW_frsiC7z&67U_uWglM@Wy8cs~Y%F`Z|;} zMeP@k8Ae_)+?Ra>LbWU!FBb7%bc{>0%u|r@(A+WCPZ^exxRQ=>^BURRV3S7)@@d$; zz7PE%v}f@b8Qvh|mc2Cv=ABD0+8b`rzcaywbPWW6wL=jjv&?l8jf)NK0WCP?OuGb| z$1R9|K-RtqT!SidM)g6(?>(NJ zlvr?oOow7I%1K1LXqg1I*crszTbQ@V#1Z#;mSiGH&T-xTX@11>;vU@ac_0%0@eT1e zri1@E5Hcnt34Hi(bzWk?LDr(<)Na*Kcgcnvhtw|iQyl-n7Lmc&d=VSp7&||y}kp3 z9zC^Sr0qt#M=Nr}JefZD8uZBFM}}nzE;(w}zn#rO zAKw|t_c0)V%PF2s`^ zbIBiKnP;+49g$RpwK;xO@JV)T|@NVT#BkoN{MI8I~cewMZF_&M}CleeaNB zghw<;yn>4(YkKNuJ5clVC^M1L_S>D|#8g$VU@F>ulm!R~P7=;(g1A;}g3KU`uZ^$3rk?G>h&kEKY9yMs4=XS&xTpx6TbUj{SJ~J^D9VG%=P8R5|gh(MJkiTTQ&&*ZCon=wdiIwrSOrVREN! ztM++N116Qh!cSEQ2e)0A-`QXW2KHd6{S|CKs7G!7#wkV;vJ&iliyUvHRS6$@_BYDMR&$JcRa^5yaLL-Bp@-@!c>|jl)roDnUyDm?7ml- z`Qe6&$*`i-`=!$YgteXu%xJZ($1scCs}H^PQyHyJEa^hqZLI32kz~H5cHbRS`r!4| zA6)UlX(bo$gCc?+gGC&qZK>;9sd-+`4JrE23i$N$gJRuhH;k50z!3{a(-<@FoyQUs zv8r%^(j*}uQmMcrz9WCB7toBfj<<$}l9X1oj3$l{vqU@LqU z&hEjG)I-7|RxM!F#5X))cEs7tJE!#f?!J#0_I|@>(jP_>aV+1Dd(N-zP?kncFO}pp zG)r&sp)M0Gd*h6*z>`8bey_ea@&=HeQte_nV8|2XIUcc6-ro#P*r zng8>;`?u2@hUBPZULy<`eQwEllY^18cfeKPb?J04by&TRmspj)&A@wpe)XtsQT5HO)N zJLLM87_6NQc_Bkf6V|>8l@i1tSG9(*25n;9An-^>MfL5KgO8H{)&$-FTcdcTeYehYC@*A} zBB-U#JA5(GEy)jja0g>roTlc#0i;Ptn%9(>)XebhwQP!TzMsiG_%4~5F{dB&`#(<% z)TrTuIh`c{w^g%nD0ezehNON_R7dbEZn7lxv-@Fdpkb@zT|;Y0Rp2*F$8*!V*E{kGNR0C zGERqFtGJtHuX2Y=q>0?7q#GjBY&-RqRv+AI&kF+yh9|E^mQgXSg6t~%!1$;FA}5Yh zr0N#!d2!EdvSx})B=3HjRRs?UMxy}E2fORQ{3+ppDoTX7IShv-eY^Oy{T}6y8mkb` zlm`E-G0K0eF`T~{yZ$r}{GVZfwEz55e?fqD2F4a9|C--aPgVc0115)(#uUx3keJ_4E6U^2_4QJQr%0l_MCZZY`0FY*d(Trln}N3FuS!mD-mm z@X$c(W}G(du=vZYMJ?jhT|Q#+I)qm5sApyQfnGVN%4F7h3oPtF zrNFx<@1@@R84Kp`YiI8!rUoVV7ztP^Ng>;KN!(pI?wP4Lm%|`2m-fJ-VK;h?<_R5B zui0V<&}k=9G$-e!ITi17G2V1Y@u9C_4#=8EJV$N@B#rAfW@>l;m4DdUFr@@DU$5t)NMNw+}exZbv6LYPR!tIHz?1OCfwfx!GBPx;kw{^2v_^o$!a)~ zQ-(Sy&ZnoYh|CebZY5Y)N41>4EnV;~_lOes`q5G{Iel=Dh0#U`DE z#uQ0ay=8V*9_?;HNfYSn@avY*Yq^;@xh;!rL4S*OnOSy&r~)aa(Jn++a|F@m1U8)` zfDh$zwGasx$D4riBooI1$CZ5-k_n=1li{N{(@Idcp`*zu-W7x2_U}no7|GJ zR2y$|RM=#k>98noYH7Z+KIyc{@d@6(hv=8!M!q~7F1DK^CnI`=_lhre36w`p!Ga3H zIF9HDw5TpAywomHFW+M0?Nhg`st8FGtexkpx6S%ajd#z2e9h9wS*Oq&>=(oD;$n^% zamC7sJ`yXGl@gk84`f`e*?Y5cJk`WDay+5QM;bz;)9nEBd^@;WVJ&MomGTkMlp%Sw z1x$EBK8BN{(y*?TqtXlt0yH|J0DS&)(6D0HK(c(-K=LxzK#BnZFJ57%WaYi6KD!dn z086-x4Y;CBfyu!{_IgSz&j^XhU{%FFqPp=0WDlr!e2a=h&YjbeW!vfmq)g=p&2TQV zyK#>GYMSm_1E@{4|YK><>YsHo1t8fMOSxO&yQhM`%k$-cxgr#vb-Fsk8P+TnODF zWaCCVp31VJgs}l%7o{NT$a>7(cQF+P5b8A`@EfShV_K6?N}p_hh-c@tQ!qzBsRNRl zJrp~~76oHjVEcsK9Q?-c7ncI*ZUxIsBY6jaOLjVTrSi4k_jV%3$*E*fn%5TY${9wq zVk3@UrFH zCLM6Q$4HQiAB89yz9@{|Qxoaz4s%S-B(@1`u|qM+45J3fGGwx#IB1a>r;fX(&l3?1 zx@%SfM=AWqRML>1X=RXrC5Gjj_#&p##x_fs8Bu0GsNAScg#6r&4j**-*TN`CItV)S zbNG^h{iiniZ&c-u|9V%5I6B&W;t}@$>Pr4M``Jb{EjOIcEW&|0);bWj!&;Vyv9CRMT&i<%_7tf+`A^4B>{hb!ypCU* zZ@>#XVG!uw0vjPWIhnCX7dTQN@LB37IbY9i&pUs19v<2Ke&3b(;^m;z?~ICtS}>Gf z*z;YVJlu6ml!4-4T$b-E@$(>g0|Sb#?@Cz@dsaU--E@Um!iC7QOH_v998E zKPBLbjPa??-CLwzO~qSAprvH7OjMla`FH@(rP%b5Ex_1qYF8SWFF?SNCyq3HXYLKl`!!j5lE%_K%HCB?1?y$dU zn!mo38G7Y53E9CKlbx`?g7r zAAnyP)AnhAdBsxlWLk)H9f}=HjDie1V zrf~IZWLt6d-fav+rK4gy<0(1Z&gu!itK3kbm*y!OaJdTseE|bm4ES-C3Lw}~fg|V% zMYGljmB#iBCa8a?hk~o#roi?MUu1oQtxmY6(XuuwwnoibgE}?rml-UyO;GdoXVLDT zT*g=^u1U`@>-`!L<+)5N!U?=nKFId<#<05zCqeDn)7vA$7*X)v!Ls;r( zNE2xC4caXGOvEJXDAQj&$8y(ZAAN%jr`4Oi^7_oj#4*&m!2d=+CORq*l_ald&z)^u zY0S9k*UmN=BRkFJJeXRN7F}y;!1PPk2?DBc{RmIXdGf^c7cqM$ybSHIvi)In<3!#0 z`0;$8!*U!D$KZk8aQA_+la$w|?UjT$3R0)?Nc;Rxy4)i6AXEjITO9V&F^Sc;iO&o} zuwLrQ=Wy11?~JPQ`0Mi+%amG4RpCgD+4qsG;Wwq2xsYJzdqi6S9LOsmdrNo*qk zrP{Tc3+X0NqFl4Vc%TG_6qNiMRRu%xU(df`Boy7&7nbwQq_qUI?44H`Qw!p__uSTT z;_XJtH9gGQ%3qRK*~hiONIO& zd+jy3s>P4r*R}z9DRzr1NSaQI`1_eSu_$xDzsRW>^Xu+Nb8nIyvrl1p;;dvG;s02> zNB2a{9P0{!gGR4S>JbII)K?;fD#4?1A7tS%vXP&8NIaHGV z;BWwZw~p1#OdQ6$?wBf3`nB6vum$Bk)$0dv6h#K7C zH>~%FshKn`aPbSWXb23X;f^qf;7oO4wF5lTlO=M%>iYHrmn*FV+Bcl`>ES~KuEar6 z;Em74GmkHXMJf^0BO?Vw+S@z6JpOsRQy)n)%pH%P+;ao(FZ&@)jE1Ol=dgCG{k0nH ztXNkZo$kg}@+$A_By12$aW+Cqogw(eT5c~8A*Dc-VJ<~O@=n1@U98J`Z@%FQ>FG2l z=YtM8M(mqzge?+X6L@jMMu$b!VJD!sf|=rvKbLT5^5NxvpEg^>NdNSP{~JTzf4|{H z4J@obQwK~;Kf?$9n&F}pT4g_j=zS)r9Aja66s83z>+<0R1B1nL(ZB{DCQKot*-BxsL>O^Z#QusT|zM*FiwgDuB&BwIW{FF zv;{j6DlnpGgfUK(M=B=)l{}QBaU+WTb_@m_l9v|G->a5>5#JwtR*)$i+2DgxS7Gch zv8dnOS)!hMh{Jt*00rYA$z7)@nl00CK-5vIj3iTiw5*N|sf;geD1=?!&~^V<_bsJ5 z9*RU$6S}CN^jEh}ewLjPL8s~5yy$mL^EP!QWEayj$)`FrH@Z>)9y{f9`{e&&T4SX+1+I9u4+{@H;2 zYqtJ343t7wDN>UNoli_W6H&Lt8xV{53v|}pur}_~tfCf{s@~XDt)KmO9BDds)L+PD zL(^0;#G}E1_QC7K^TgTP$L%|YKN*iiw*X@psU+1}_d2Qu3{(pgZTeXJ^(C2oj=>y; z=8dR|xt{0A`~oXI8#${ll`NTO?3B`dktU|NDJw>3DBW&6T4dJ zH8jsvek>-FYSApGlbknK2J|y2OWWGB<2EluGT8ookwKKs z9)x!uZ6agkEB(&3#*Si`%Iy?H?}{KC^)a+@YzWwh7m6VXq!Hf+#++He5gjNY`5k}H z{5?(vc^Lo4kktxF!;f&88pC56Vv0SHxPp7)b3z)xXdjsSq_~Rw$2jM#g)@BPfW7O*P@ihmf@X}cbJo($xT;{94Zm|BJ>cS*YX^#?H6Vm z<_1<-=o*{N4V@O+qCBLs?FyiO>HPsk)g2e7hkrs*nE$xn`ESOHzp@56{yPqMkVh1_{!$BAK}Hr=L^$jLai?UQFQPF^#rnAV?bUUG@C6GQ zd;k$;r=Zm4>ta!S@bp8W)HglaB>M|_E4uRvWOf0}D(9+58kgFH56iExAi(TRTPk?O z9do*xbg0caiMu}wB}BgvEwk+0rbNfGc~=F0efrQI{&W@cGnjSoZ@Q{rJOoINs%oY~VHiD6Gkdl%!@qimgU>8C#!Hh0sgHcia!bnnz zcbaDmqxT~0h;rR*2AvLqntmnHWpkoA9cm)n0?n5&21aa zeh{8L6P50CXfVBN@`5b|2;~Z9)1Z_=>aGED7(1#ZRir_bjkBwDcIa&CC)w^tV8+$! z$_|q@;L^xl^t<J;TEG_0ajtsX{?vn zp$9aByi?ElXDReVAdN`C=h=2GzG)PudyX_!r!7prtYA#915!ft*scPb8%|kjxbUT7 z^2#q(8}UURz0}Ftf@_wsNzPc}Oj&?tYfp_u&u$Fh`g?DlNp+$@vN-lS@E;GJynD9# z2T6g))qA(53(dOeOeerbF7w%~)OolgbmjUuUCz$eb&ijUjRB9Gw#HLjS>FatGa(V1!Sa@nI0_7 z$BIOg4~VdqbPMYi5WR*0|pqjaRG^6eGxeg&e0 zzN*GJ?XPnLdt!7(6QprprF>Jj1pF$S7cTQ#WA;$O<)umH1Oi1!Q341kuSWwYaw?CGtrQ4ojQX*_gAp&AARilJB55oans(w z=!WN@G-IY+MaxGZF^ z=}$&-GtMoP%jY8E>>p#VnE$6&-e1j5qx!Ru@*>*D1_QI5dj};kra->BLMTwCdE!8k zs)!AvKOG_t%K(ol{*`emQGE-G%~?E~h2?5rF(anT3@w>Wyyz+@!yKK?Oz~?M>3YV+ zE5X!5`y($P0IP}MrI+WT{gHO_`SZrh9;Es0aZT($|I{2FQ}R>-D0)f-2Ya+sk9lRW z{sqPO(h~m4`gE2e_k9|~(7EmlLcU%<6`a#mY$|7E9<&)t%Tn2*gRHstM5qj(w{HI} zw(hT71R-pIgKmEWSV{kP#OFW&ObexGin8`X4LF6eHq|f9j>4VK?|M^i!VX5MyYhET z(DYRJH9Co~S$FS|Na7e!phw)qdTdOIsVJHNQC)>-=avn~5($dXYZ6sd>Qn9vXpQmR z6D`wL_|g4dfr4fQz?b9^w;5=tuQ&+Up^^H1-(A6qYNJ%VO7sX|GN2FGG!^PO=T{8| zRwJV!&BC#bh)C)NziaKRr#Vx!(-}gu4eaO$tQMfjq+gdHK@BJYyAijXipuJ_bvjQI zA42xdlIWt1jRF(Z#N0YJ*v)BO3vbH=j3-XoHMZr8GNJt#n%7W(!a`Cn{l-paNEf4y zR&iq%Y*2t8Y9vuU3ymc~gARx6Q}1mCDL9VdvVp2RDVUUj$c|D9*<8v)QH`A;m_9pP!q}EJYeL?f5hlNOf-(Y4{id?~z)V`g+`M?iI7l@wBYNdrtUVkX zSeH3+FWOTW+`fn?(dy1672dBGR5LWEnK)}`H6kgQpfC|$fiIP^V4O+nR7seLmC}=A z`JE1NOfEc6Xs={wpav_vKgu|=2Mr$d7P3@!N>k8qiH~~Q{wM25XTq!KQijtkWm?Hf z3ecjs71$swB(f)2hDB@3G8UuIuzo_?S#(Iqm)$OMW?SaOaIN72?&#n#1@aWr3id%w zr94|LUZsIy+2NxWX~+Zk?&2j;RkFDrdlv;O3aDFYSgD+WOB_OjIv6izz zPGih9>O8clz_T99bbGkMoU#^86(AB(%i++f6H`Iq)e3Y5AH1zs`ytn2>hgyDQ{h?*?`Q8R zZI@DFio=!@ItJd)!SaeIwAW0}nmj`f!=HgYjGgOv5E^sJZvuk^*A&G9o~tzQTEn&@ zYTsokYkBf^Cb>QWf8NZEH*g(s1os+Jd=&3oa(x8&ojj$8M>i^InMXsRhN0Il*5qSd zSEVjnEMD8LbqlffCY0>@xc`i1H;M>c(J&#LR7#GSPTD$i^kAj`D7|JAM!-U%p*3Kh zW;UOW6t*fOF?I_~;(VFL9XH6Rcc%%!R$6CR6w?5hQI zlQfFAYnd6VH4KH85dyiE8$Qtk{qD+;`ru)UC9bK)ds^__i6#vMLCpk zodhR0_uGL3YSpd&Lcw*j$DtISbNq$RjDgNFVpOWWb(fvjFdO3{c=;swIEV8 zC2#y51>6BIdr&tAXWYxa_cKn{A=)YP>ezMYWIRvzIo>h$TP5hjwNJ zIs}A&o>}jHS&Ir>tXC|-Br8euld4@KDv12jEf2limQq8e$DdHt5_&smA`jFhIy~hZxN%*FgnaN}gfH$9`Iiq50R_{g{uip@QsQ*E z_CCsaSzCORRv)m&cS@v!(Gr_7gM|u5gD=IM19xj?)l@S1`11_(p@`O1SUGW{md2vC zSE?zVY5GAeO$5(OtZJik-gNS#Wr|WoN|c!0*s8&&U!(AT+w7sZ`&(xjQ@O`lKN^9_ z8ld4DcJhqV@%1XZr&_!~&h99HI|HDuIF@|_4S2)2uM!LMLP`}#QT8F}n(b+4dPj5B zxQ?5`!A>Y89H%c_$t@vDmwI{(D6ps`FhYzPytysBFa~Wu(7*zs8tPL56$L!fWM)@< zQI}aNlTfQhzuL+%x0!MHCQtLGY_Q;*Gp0qDSZtc`NM9y_eeY~>qL;o>PkB(M;O$~u z-9_yC9UftyjW0&--oZS&3vtyQX@0r$vVII>Snnio<>(Hy81r0PofolpuPAD8UtH;# z712$`XN{*N@T0~Pcyjk8Oy#~Pvh2iRti}DU@0MeORLH4Tu>u0xhX?8us`Bj5o{6lDmlU|ACPGIVQ9GSD?YaUDuPVbi}ljp@Ain`sZe9^hbgu-7N^G=i-&m6X<8p z<%>1U65fw~GXcrCZ+&KB!n!qOG=#~u4^Iq!HiWN?%znSuH-I>LGN4sIx%(JwBkmSP zDBS4S=(-y2eW8t)uk(nFkPVVzEURxN<+d83_1 zc>nteLWvP2aWC!RjZo3^Mr1&(d#UH^AT};M4gx2BZcn$u;Zl$g-DC=q(73RJPaefZ zzd3bhYI==7tldViE55-jN%<16VO-|rJ!0}feIj)-iwEl&DNBJbM&v_FScOs=f^giYN3k?;B6pr-$C zO)&inHC49xRFok4K4^N~b*uz}(scQ2=Gi%dDFh=&0!dGmg{i!CB-YcmZp3*JeSq!g zT}MF8^&t#Qeu_%Yni%1V3g2tEotSTVn4Rj|{XRb4!1R&kNe5z6w7U6`ML?V=u_$-r zqQQd3lB2_;Mew9x2N>NP0}ex*CK=Rj--=x@TZtRqhFokmEgjTwMc@%a4mDlS)J(*K zA&7@mFws2`d&qu_W_@L;(e)v{y(#Vu+UjJI*lQ!)1@HawWYw2Z!4c>EZy+NICOP-l1% z{+Y2E_kxXX^W$tOYRc0n6k@~IrRGOXZ>~oK>}-&cG3dBW7khVmr%-swgBI#`O1O3B zBn59GwFZVvN@!e#rxl_ZD)iur^7!@C?IJ`9M@@MQZCO1avo3Fcdpf{@WVK29~vv@kBy4#0(B;qh7k%~xzl z#y1fmNBKnR_pNAamb&LtP5(*MK;-+ebxXZ+1*YpA7fMg{R2S~*Eh3WD`@5XSJ4(YZ z>yf;$gSsoguC8NqXTKTETdd!cZOl!@y04eIEA*1)DIk!5`YA4u0EVCcG`t_SoVknw zSyV80jSczXYcGBn!gN{LYpkzw45_AwjEgJwXTt`kS`s>CRw`7np>VMT$bHHRS< zM8QBVo`ZSi`mYjcEk|VYqiC((IHBQG3$d|O8+Arr?Amx*DdL$F07+rI3wgISVk*Xs zf}3o{3m9r8SnAE;bI*i9GFLSTP zy&5gsIMnXm=%slLCdj$Zs6|8Cacf=jt2TxVfpu5!Da`tDciOxyq=3(uZARQvHnXLg z*SC)nC{`1%LOLtv7y`+d69p&nW{JKX#M@Hbq|o;X*R@af2*XrW>6CD7YP32cK{5z# zSij9}E@w%78xoUQjCO)dnw`a%4iw8IaFVn*VYY%K?lIWcbPbyTVyBQpB#V--Gb3m@ z=NbTWetHjG2Kdu8mZiy3%s*JnrdG$gBN0li9)LKEvO&t_ z$kZIT*2xWYA<_6o*6XGJa9u%B+)6EqDMC9M+m0>{OrkN_&os9fm9S6eD04+Nmjri4 zrJQeI)T5$1M|g&79YTwTC4(3*84t;~!2TI^!stYcR1(=STkk7I=!N+szWwEdJf)p>;U#$^dv*gj+)ONR!Piq$E2DKt z%W_6jEY!zLOqk;#HnAvQW&_0*SqG!6Nz4QeE7m*xZ}W|U!G=raEY3zL0IO?hIJJDK z-g>NW+D}=%%D(yAKcu(JB3ENU78N+E5YhkuN>M5iQ>XW8_5L;AiQWQi-+*`MPtLU3 zQ)A#D%Nux%)e~JjFpMcQDx8>ubP$-LFRU2qn{4mpH3S@e|0v5FlAQSy%16Z(J@!X9 z3ASzTIrazOr_%jIg)j6+-geGY3V4PF+hqQor8_bPOUD;_)KqR6sD&%Tj^GmuU5Y}w zWubsD0j5yIbjltSU>Ya2x$`!xqOLf`2v#IS0hvVO+zn2L!kWnKsJv?ZI!6Vovz-zK8zi5X?;e92zA{PdTiWqqa56f&b1 zQf2W{$CXjQ+k7w3Sdk{id3vJCqC}xhGTLNCE$0c0T0PmZ>CE|H(_m%gfB-L6<1BU3 z?QBn-$py4_MuMyBCGTkT-oWoG&B;8I?v!s*XY23S-MTjYHX{;MWlqJeN6rQr7hpmv zE|MUZr&3mRZl!d%(iQ)OTaz1C&SSa@A3qKnFr!}{*Bj!(gCAdZOA)ttWOu-2Rf z6bFXIk-(=Xdn?|pw9U%sWe*NAHx1!aJv!!oCDa3Nk45er5n?woHS8OjmBY|ou%y^j zRhsD^`k?RoP3EVH>WBcDNG7^7d^Bb2>w7rPOpQ*K%!vI>QdM=VuW6d`HTc)Y?>558 zxuXTyt?(z|0>v@kTOua0srWcnzz{kPO@pCU(tL$IRMb7EQ)eBv@431{5 zIw1??Jtcb>9+6u&DO)*FrF3lJv&@k2ETeU}-btCIl-UF7fQnh+8{0WUZaP`afAE&E z27|Gn^rI^mpf#G`9xEL>PUQ*?22jnwoE!nnjcvW;501VCga??KiX~?-2aE(TXf#;j z&Qr}vGpUf-b7NhGV?~;65yrvmFBv&Rq8cjTgn15gj-f5hJHp?BUhw0|Sc2gT>&Uev z&1LxA^b{nF9Uu}<2?#Id1D%rfGQ^cpL`458R7wKn4DMC@E-Lq3R1LBl0Z8rpCyUKU zpRTmo-xp?bC*KzRy9rU8r>0IEdSkK32_#D>Mmz;ZQO(m{h*-LuN${*G(*-({4+W<_ z&4PYAsy%B~W2`={zCW-{8fq+>#%U{QAm$FKI%{d~wC)~QMt!dW!IoJt&6|m>c@lS? zN={FI+H~VAhR*)if-m31w2>30(|Y1jlTCLXrBSkgeEnM#S^-_&s>fUOG<-4pRNC