This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit ffd322b5761b4d5676ea5d64235fcf7974b785bc Author: Alex Herbert <[email protected]> AuthorDate: Tue Jul 9 14:44:37 2024 +0100 Javadoc protected/public constructors and methods Added to avoid warnings when building on Java 21 (which fail the build). This requires adding implicit public constructors. --- .../java/org/apache/commons/numbers/angle/Angle.java | 18 ++++++++++++++++++ .../java/org/apache/commons/numbers/angle/Reduce.java | 2 ++ .../commons/numbers/combinatorics/Combinations.java | 2 ++ .../apache/commons/numbers/field/AbstractField.java | 3 +++ .../apache/commons/numbers/field/BigFractionField.java | 6 +++++- .../java/org/apache/commons/numbers/field/DDField.java | 6 +++++- .../org/apache/commons/numbers/field/FP64Field.java | 6 +++++- .../java/org/apache/commons/numbers/field/Field.java | 18 ++++++++++++++++++ .../apache/commons/numbers/field/FractionField.java | 6 +++++- .../commons/numbers/fraction/ContinuedFraction.java | 3 +++ .../commons/numbers/gamma/LanczosApproximation.java | 4 +++- src/conf/pmd/pmd-ruleset.xml | 4 ++++ 12 files changed, 73 insertions(+), 5 deletions(-) diff --git a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java index d38c3c8d..2f50e816 100644 --- a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java +++ b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java @@ -74,16 +74,22 @@ public abstract class Angle implements DoubleSupplier { } /** + * Convert to a {@link Turn}. + * * @return the angle in <a href="https://en.wikipedia.org/wiki/Turn_%28geometry%29">turns</a>. */ public abstract Turn toTurn(); /** + * Convert to a {@link Rad}. + * * @return the angle in <a href="https://en.wikipedia.org/wiki/Radian">radians</a>. */ public abstract Rad toRad(); /** + * Convert to a {@link Deg}. + * * @return the angle in <a href="https://en.wikipedia.org/wiki/Degree_%28angle%29">degrees</a>. */ public abstract Deg toDeg(); @@ -98,6 +104,8 @@ public abstract class Angle implements DoubleSupplier { public static final DoubleUnaryOperator WITHIN_0_AND_1 = normalizer(0d); /** + * Create an instance. + * * @param angle (in turns). */ private Turn(final double angle) { @@ -105,6 +113,8 @@ public abstract class Angle implements DoubleSupplier { } /** + * Create an instance. + * * @param angle (in turns). * @return a new instance. */ @@ -158,6 +168,8 @@ public abstract class Angle implements DoubleSupplier { public static final DoubleUnaryOperator WITHIN_MINUS_PI_AND_PI = normalizer(-Math.PI); /** + * Create an instance. + * * @param angle (in radians). */ private Rad(final double angle) { @@ -165,6 +177,8 @@ public abstract class Angle implements DoubleSupplier { } /** + * Create an instance. + * * @param angle (in radians). * @return a new instance. */ @@ -212,6 +226,8 @@ public abstract class Angle implements DoubleSupplier { public static final DoubleUnaryOperator WITHIN_0_AND_360 = normalizer(0d); /** + * Create an instance. + * * @param angle (in degrees). */ private Deg(final double angle) { @@ -219,6 +235,8 @@ public abstract class Angle implements DoubleSupplier { } /** + * Create an instance. + * * @param angle (in degrees). * @return a new instance. */ diff --git a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Reduce.java b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Reduce.java index 7123c2d6..751378c5 100644 --- a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Reduce.java +++ b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Reduce.java @@ -31,6 +31,8 @@ public class Reduce implements DoubleUnaryOperator { private final double period; /** + * Create an instance. + * * @param offset Value that will be mapped to {@code 0}. * @param period Period. */ diff --git a/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Combinations.java b/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Combinations.java index 959d2df4..8e5edbfa 100644 --- a/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Combinations.java +++ b/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Combinations.java @@ -50,6 +50,8 @@ public final class Combinations implements Iterable<int[]> { } /** + * Create an instance. + * * @param n Size of the set from which subsets are selected. * @param k Size of the subsets to be enumerated. * @throws IllegalArgumentException if {@code n < 0}. diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/AbstractField.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/AbstractField.java index b5a4ad07..c82e590e 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/AbstractField.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/AbstractField.java @@ -25,6 +25,9 @@ import org.apache.commons.numbers.core.NativeOperators; */ public abstract class AbstractField<T extends NativeOperators<T>> implements Field<T> { + /** Create an instance. */ + public AbstractField() {} + /** {@inheritDoc} */ @Override public T add(T a, T b) { diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/BigFractionField.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/BigFractionField.java index e46dc439..107df10c 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/BigFractionField.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/BigFractionField.java @@ -28,7 +28,11 @@ public final class BigFractionField extends AbstractField<BigFraction> { /** Singleton. */ private BigFractionField() {} - /** @return the field instance. */ + /** + * Get the field instance. + * + * @return the field instance. + */ public static BigFractionField get() { return INSTANCE; } diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/DDField.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/DDField.java index c36521c3..4a6a7550 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/DDField.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/DDField.java @@ -28,7 +28,11 @@ public final class DDField extends AbstractField<DD> { /** Singleton. */ private DDField() {} - /** @return the field instance. */ + /** + * Get the field instance. + * + * @return the field instance. + */ public static DDField get() { return INSTANCE; } diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java index c853dbd2..e32c37d1 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FP64Field.java @@ -30,7 +30,11 @@ public final class FP64Field extends AbstractField<FP64> { /** Singleton. */ private FP64Field() {} - /** @return the field instance. */ + /** + * Get the field instance. + * + * @return the field instance. + */ public static FP64Field get() { return INSTANCE; } diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/Field.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/Field.java index 6ddf0858..2d99acd5 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/Field.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/Field.java @@ -23,6 +23,8 @@ package org.apache.commons.numbers.field; */ public interface Field<T> { /** + * Add the elements. + * * @param a Field element. * @param b Field element. * @return {@code a + b}. @@ -30,6 +32,8 @@ public interface Field<T> { T add(T a, T b); /** + * Subtract the element {@code b} from {@code a}. + * * @param a Field element. * @param b Field element. * @return {@code a - b}. @@ -37,12 +41,16 @@ public interface Field<T> { T subtract(T a, T b); /** + * Negate the element. + * * @param a Field element. * @return {@code -a}. */ T negate(T a); /** + * Multiply the element {@code a} a number of times {@code n}. + * * @param a Field element. * @param n Number of times {@code a} must be added to itself. * @return {@code n a}. @@ -50,6 +58,8 @@ public interface Field<T> { T multiply(int n, T a); /** + * Multiply the elements. + * * @param a Field element. * @param b Field element. * @return {@code a * b}. @@ -57,6 +67,8 @@ public interface Field<T> { T multiply(T a, T b); /** + * Divide the element {@code a} by {@code b}. + * * @param a Field element. * @param b Field element. * @return <code>a * b<sup>-1</sup></code>. @@ -64,18 +76,24 @@ public interface Field<T> { T divide(T a, T b); /** + * Return the reciprocal (multiplicative inverse). + * * @param a Field element. * @return <code>a<sup>-1</sup></code>. */ T reciprocal(T a); /** + * Return the value of one. + * * @return the field element {@code 1} such that for all {@code a}, * {@code 1 * a == a}. */ T one(); /** + * Return the value of zero. + * * @return the field element {@code 0} such that for all {@code a}, * {@code 0 + a == a}. */ diff --git a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java index ba5549ca..4e0f2149 100644 --- a/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java +++ b/commons-numbers-field/src/main/java/org/apache/commons/numbers/field/FractionField.java @@ -28,7 +28,11 @@ public final class FractionField extends AbstractField<Fraction> { /** Singleton. */ private FractionField() {} - /** @return the field instance. */ + /** + * Get the field instance. + * + * @return the field instance. + */ public static FractionField get() { return INSTANCE; } diff --git a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/ContinuedFraction.java b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/ContinuedFraction.java index d56a381b..ed8323c1 100644 --- a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/ContinuedFraction.java +++ b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/ContinuedFraction.java @@ -45,6 +45,9 @@ import org.apache.commons.numbers.fraction.GeneralizedContinuedFraction.Coeffici * with updates to the previous coefficients. */ public abstract class ContinuedFraction { + /** Create an instance. */ + public ContinuedFraction() {} + /** * Defines the <a href="https://mathworld.wolfram.com/ContinuedFraction.html"> * {@code n}-th "a" coefficient</a> of the continued fraction. diff --git a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/LanczosApproximation.java b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/LanczosApproximation.java index 53a88ac8..1b809e78 100644 --- a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/LanczosApproximation.java +++ b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/LanczosApproximation.java @@ -73,7 +73,9 @@ public final class LanczosApproximation { } /** - * @return the Lanczos constant \( g = \frac{607}{128} \). + * Return the Lanczos constant \( g = \frac{607}{128} \). + * + * @return the Lanczos constant. */ public static double g() { return LANCZOS_G; diff --git a/src/conf/pmd/pmd-ruleset.xml b/src/conf/pmd/pmd-ruleset.xml index a72b73d2..c71309f4 100644 --- a/src/conf/pmd/pmd-ruleset.xml +++ b/src/conf/pmd/pmd-ruleset.xml @@ -40,6 +40,8 @@ <exclude name="OnlyOneReturn" /> <exclude name="UseUnderscoresInNumericLiterals" /> <exclude name="ShortClassName" /> + <!-- Constructors are added to avoid javadoc warnings on JDK 21 --> + <exclude name="UnnecessaryConstructor" /> </rule> <rule ref="category/java/design.xml"> <exclude name="TooManyMethods" /> @@ -48,6 +50,8 @@ </rule> <rule ref="category/java/documentation.xml"> <exclude name="CommentSize" /> + <!-- Constructors are added to avoid javadoc warnings on JDK 21 --> + <exclude name="UncommentedEmptyConstructor" /> </rule> <rule ref="category/java/errorprone.xml"> <!-- <exclude name="..." /> -->
