Merge pull request #878 from nosqlbench/nosqlbench-875-categories

nosqlbench-875-categories
This commit is contained in:
Jonathan Shook 2022-12-22 18:03:02 -06:00 committed by GitHub
commit 52d5d10b81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 219 additions and 82 deletions

View File

@ -111,6 +111,8 @@ public class FunctionDocInfoProcessor extends AbstractProcessor {
if (categoryAnnotation!=null) {
Category[] value = categoryAnnotation.value();
enumerator.onCategories(value);
} else {
messenger.printMessage(Diagnostic.Kind.ERROR,"@Categories is a required annotation", classElem);
}
// apply method types

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class Add implements LongToIntFunction {
private final long addend;

View File

@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Description;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -22,6 +24,7 @@ import java.util.function.LongToIntFunction;
@Description("divides the operand by an long and returns the whole part")
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements LongToIntFunction {
private final int divisor;

View File

@ -28,7 +28,6 @@ import java.util.function.LongToIntFunction;
*/
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongToIntFunction {
private final int fixedValue;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements LongToIntFunction {
public Mul(int multiplicand) {

View File

@ -1,40 +0,0 @@
/*
* Copyright (c) 2022 nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Deprecated
@Categories({Category.general})
public class Scale implements LongToIntFunction {
private final double scaleFactor;
public Scale(double scaleFactor) {
this.scaleFactor = scaleFactor;
}
@Override
public int applyAsInt(long value) {
return (int) (scaleFactor * (double) value);
}
}

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Add implements LongUnaryOperator {
private final long addend;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class AddCycleRange implements LongUnaryOperator {
private final CycleRange cycleRange;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class AddHashRange implements LongUnaryOperator {
private final HashRange hashRange;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -26,6 +28,7 @@ import java.util.function.LongUnaryOperator;
* at most the maximum value.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Clamp implements LongUnaryOperator {
private final long min;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class CycleRange implements LongUnaryOperator {
private final long minValue;

View File

@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Divide the operand by a fixed value and return the result.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements LongUnaryOperator {
private final long divisor;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongUnaryOperator {
private final long fixedValue;

View File

@ -17,6 +17,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -33,6 +35,7 @@ import java.util.function.LongUnaryOperator;
* (5,6), or as wide as the relevant data type allows.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashInterval implements LongUnaryOperator {
private final long minValue;

View File

@ -17,6 +17,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ -30,6 +32,7 @@ import java.util.function.LongUnaryOperator;
* (5,5), or as wide as the relevant data type allows.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashRange implements LongUnaryOperator {
private final long minValue;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ -25,6 +27,7 @@ import java.util.function.LongUnaryOperator;
* a scale factor, with a default scale factor of 1.0d
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashRangeScaled implements LongUnaryOperator {
private final double scalefactor;

View File

@ -17,12 +17,15 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Interpolate implements LongUnaryOperator {
private final io.nosqlbench.virtdata.library.basics.shared.from_long.to_double.Interpolate basefunc;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -25,6 +27,7 @@ import java.util.function.LongUnaryOperator;
* Return the maximum of either the input value or the specified max.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Max implements LongUnaryOperator {
private final long max;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Return the minimum of either the input value or the specified minimum.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Min implements LongUnaryOperator {
private final long min;

View File

@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ -23,6 +25,7 @@ import java.util.function.LongUnaryOperator;
* Return the result of modulo division by the specified divisor.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Mod implements LongUnaryOperator {
private final Long modulo;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Return the result of multiplying the specified value with the input.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements LongUnaryOperator {
public Mul(long multiplicand) {

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import io.nosqlbench.virtdata.murmur.Murmur3F;
@ -32,6 +34,7 @@ import java.util.function.LongUnaryOperator;
* as well as negative values.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class SignedHash implements LongUnaryOperator {
// TODO: Bench this against the non-state based TL implementations

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongFunction<String> {
private final String value;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_uuid;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -26,8 +28,9 @@ import java.util.UUID;
import java.util.function.Function;
@ThreadSafeMapper
@Categories(Category.conversion)
public class ToBase64String implements Function<UUID,String> {
private ThreadLocal<Base64.Encoder> tl_encoder = ThreadLocal.withInitial(Base64::getEncoder);
private final ThreadLocal<Base64.Encoder> tl_encoder = ThreadLocal.withInitial(Base64::getEncoder);
@Example({"ToBase64String()","Encode the bits of a UUID into a Base64 String"})
public ToBase64String() {

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ -24,6 +26,7 @@ import java.util.function.IntUnaryOperator;
* Adds a cycle range to the input, producing an increasing sawtooth-like output.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class AddCycleRange implements IntUnaryOperator {
private final CycleRange cycleRange;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ -24,6 +26,7 @@ import java.util.function.IntUnaryOperator;
* Adds a pseudo-random value within the specified range to the input.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class AddHashRange implements IntUnaryOperator {
private final io.nosqlbench.virtdata.library.basics.shared.unary_int.HashRange hashRange;

View File

@ -16,12 +16,15 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Clamp implements IntUnaryOperator {
private final int min;

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -25,6 +27,7 @@ import java.util.function.IntUnaryOperator;
* Yields a value within a specified range, which rolls over continuously.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class CycleRange implements IntUnaryOperator {
private final int minValue;

View File

@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Description;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@ -22,6 +24,7 @@ import java.util.function.IntUnaryOperator;
@Description("divides the operand by an integer and returns the whole part")
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements IntUnaryOperator {
private final int divisor;

View File

@ -17,12 +17,15 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashInterval implements IntUnaryOperator {
private final int minValue;

View File

@ -17,11 +17,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashRange implements IntUnaryOperator {
private final int minValue;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashRangeScaled implements IntUnaryOperator {
private final Hash hash = new Hash();

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Max implements IntUnaryOperator {
private final int max;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Min implements IntUnaryOperator {
private final int min;

View File

@ -15,11 +15,14 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Mod implements IntUnaryOperator {
private final int modulo;

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements IntUnaryOperator {
public Mul(int addend) {

View File

@ -1,40 +0,0 @@
/*
* Copyright (c) 2022 nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
/**
* Scale the input by the factor provided.
* @deprecated use Mul(...) instead
*/
@ThreadSafeMapper
public class Scale implements IntUnaryOperator {
private final double scaleFactor;
public Scale(double scaleFactor) {
this.scaleFactor = scaleFactor;
}
@Override
public int applyAsInt(int operand) {
return (int) (scaleFactor * (double) operand);
}
}

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import io.nosqlbench.virtdata.murmur.Murmur3F;
@ -23,6 +25,7 @@ import java.nio.ByteBuffer;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class SignedHash implements IntUnaryOperator {
private final ThreadLocal<Murmur3F> murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new);

View File

@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_string;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.Function;
@ -26,6 +28,7 @@ import java.util.function.Function;
* String.valueOf() to the result.
*/
@ThreadSafeMapper
@Categories({Category.conversion})
public class ToString implements Function<Object,String> {
@Override

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.CauchyDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Cauchy extends LongToDoubleContinuousCurve {
public Cauchy(double median, double scale, String... mods) {
super(new CauchyDistribution(median, scale), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ChiSquaredDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class ChiSquared extends LongToDoubleContinuousCurve {
public ChiSquared(double degreesOfFreedom, String... mods) {
super(new ChiSquaredDistribution(degreesOfFreedom), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ConstantContinuousDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class ConstantContinuous extends LongToDoubleContinuousCurve {
public ConstantContinuous(double value, String... mods) {
super(new ConstantContinuousDistribution(value), mods);

View File

@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.math4.distribution.EnumeratedRealDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Enumerated extends LongToDoubleContinuousCurve {
@Example({"Enumerated('1 2 3 4 5 6')","a fair 6-sided die"})

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ExponentialDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Exponential extends LongToDoubleContinuousCurve {
public Exponential(double mean, String... mods) {
super(new ExponentialDistribution(mean), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.FDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class F extends LongToDoubleContinuousCurve {
public F(double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom, String... mods) {
super(new FDistribution(numeratorDegreesOfFreedom, denominatorDegreesOfFreedom), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.GammaDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Gamma extends LongToDoubleContinuousCurve {
public Gamma(double shape, double scale, String... mods) {
super(new GammaDistribution(shape, scale), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.GumbelDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Gumbel extends LongToDoubleContinuousCurve {
public Gumbel(double mu, double beta, String... mods) {
super(new GumbelDistribution(mu, beta), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.LaplaceDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Laplace extends LongToDoubleContinuousCurve {
public Laplace(double mu, double beta, String... mods) {
super(new LaplaceDistribution(mu, beta), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.LevyDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Levy extends LongToDoubleContinuousCurve { public Levy(double mu, double c, String... mods) { super(new LevyDistribution(mu,c), mods);
}
}

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.LogNormalDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class LogNormal extends LongToDoubleContinuousCurve {
public LogNormal(double scale, double shape, String... mods) {
super(new LogNormalDistribution(scale, shape), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.LogisticDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Logistic extends LongToDoubleContinuousCurve {
public Logistic(double mu, double scale, String... mods) {
super(new LogisticDistribution(mu, scale), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.NakagamiDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Nakagami extends LongToDoubleContinuousCurve {
public Nakagami(double mu, double omega, String... mods) {
super(new NakagamiDistribution(mu, omega), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.NormalDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Normal extends LongToDoubleContinuousCurve {
public Normal(double mean, double sd, String... mods) {
super(new NormalDistribution(mean, sd), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ParetoDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Pareto extends LongToDoubleContinuousCurve {
public Pareto(double scale, double shape, String... mods) {
super(new ParetoDistribution(scale, shape), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.TDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class T extends LongToDoubleContinuousCurve {
public T(double degreesOfFreedom, String... mods) {
super(new TDistribution(degreesOfFreedom), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.TriangularDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Triangular extends LongToDoubleContinuousCurve {
public Triangular(double a, double c, double b, String... mods) {
super(new TriangularDistribution(a,c,b), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.UniformContinuousDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Uniform extends LongToDoubleContinuousCurve {
public Uniform(double lower, double upper, String... mods) {
super(new UniformContinuousDistribution(lower, upper), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.continuous.long_double;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.WeibullDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Weibull extends LongToDoubleContinuousCurve {
public Weibull(double alpha, double beta, String... mods) {
super(new WeibullDistribution(alpha, beta), mods);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.GeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Geometric extends IntToLongDiscreteCurve {
public Geometric(double p, String... modslist) {
super(new GeometricDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.HypergeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Hypergeometric extends IntToLongDiscreteCurve {
public Hypergeometric(int populationSize, int numberOfSuccesses, int sampleSize, String... modslist) {
super(new HypergeometricDistribution(populationSize, numberOfSuccesses, sampleSize), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PascalDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Pascal extends IntToLongDiscreteCurve {
public Pascal(int r, double p, String... modslist) {
super(new PascalDistribution(r, p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PoissonDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Poisson extends IntToLongDiscreteCurve {
public Poisson(double p, String... modslist) {
super(new PoissonDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.UniformDiscreteDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Uniform extends IntToLongDiscreteCurve {
public Uniform(int lower, int upper, String... modslist) {
super(new UniformDiscreteDistribution(lower, upper), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.int_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ZipfDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Zipf extends IntToLongDiscreteCurve {
public Zipf(int numberOfElements, double exponent, String... modslist) {
super(new ZipfDistribution(numberOfElements, exponent), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.GeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Geometric extends LongToIntDiscreteCurve {
public Geometric(double p, String... modslist) {
super(new GeometricDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.HypergeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Hypergeometric extends LongToIntDiscreteCurve {
public Hypergeometric(int populationSize, int numberOfSuccesses, int sampleSize, String... modslist) {
super(new HypergeometricDistribution(populationSize, numberOfSuccesses, sampleSize), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PascalDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Pascal extends LongToIntDiscreteCurve {
public Pascal(int r, double p, String... modslist) {
super(new PascalDistribution(r, p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PoissonDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Poisson extends LongToIntDiscreteCurve {
public Poisson(double p, String... modslist) {
super(new PoissonDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.UniformDiscreteDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Uniform extends LongToIntDiscreteCurve {
public Uniform(int lower, int upper, String... modslist) {
super(new UniformDiscreteDistribution(lower, upper), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ZipfDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Zipf extends LongToIntDiscreteCurve {
public Zipf(int numberOfElements, double exponent, String... modslist) {
super(new ZipfDistribution(numberOfElements, exponent), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.GeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Geometric extends LongToLongDiscreteCurve {
public Geometric(double p, String... modslist) {
super(new GeometricDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.HypergeometricDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Hypergeometric extends LongToLongDiscreteCurve {
public Hypergeometric(int populationSize, int numberOfSuccesses, int sampleSize, String... modslist) {
super(new HypergeometricDistribution(populationSize, numberOfSuccesses, sampleSize), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PascalDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Pascal extends LongToLongDiscreteCurve {
public Pascal(int r, double p, String... modslist) {
super(new PascalDistribution(r, p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.PoissonDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Poisson extends LongToLongDiscreteCurve {
public Poisson(double p, String... modslist) {
super(new PoissonDistribution(p), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.UniformDiscreteDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Uniform extends LongToLongDiscreteCurve {
public Uniform(int lower, int upper, String... modslist) {
super(new UniformDiscreteDistribution(lower, upper), modslist);

View File

@ -16,10 +16,13 @@
package io.nosqlbench.virtdata.library.curves4.discrete.long_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import org.apache.commons.statistics.distribution.ZipfDistribution;
@ThreadSafeMapper
@Categories({Category.distributions})
public class Zipf extends LongToLongDiscreteCurve {
public Zipf(int numberOfElements, double exponent, String... modslist) {
super(new ZipfDistribution(numberOfElements, exponent), modslist);