This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git


The following commit(s) were added to refs/heads/master by this push:
     new 03bbf4a3 Fix malformed Javadoc comments
03bbf4a3 is described below

commit 03bbf4a36487db39dcd5d2635f11120bae1efdae
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Dec 13 15:48:05 2025 -0500

    Fix malformed Javadoc comments
---
 .../commons/numbers/arrays/IndexSupport.java       |   8 +-
 .../numbers/arrays/KeyUpdatingInterval.java        |   6 +-
 .../apache/commons/numbers/arrays/QuickSelect.java |  16 +-
 .../apache/commons/numbers/arrays/Selection.java   |  22 +-
 .../commons/numbers/arrays/UpdatingInterval.java   |   6 +-
 .../commons/numbers/combinatorics/Stirling.java    |   6 +-
 .../apache/commons/numbers/complex/Complex.java    | 316 ++++++++++-----------
 .../commons/numbers/core/ArithmeticUtils.java      |  30 +-
 .../java/org/apache/commons/numbers/core/DD.java   | 122 ++++----
 .../org/apache/commons/numbers/core/DDMath.java    |  10 +-
 .../commons/numbers/core/ExtendedPrecision.java    |   4 +-
 .../org/apache/commons/numbers/core/Precision.java |  24 +-
 .../examples/jmh/arrays/DualPivotingStrategy.java  |   6 +-
 .../examples/jmh/arrays/IntervalAnalysis.java      |   4 +-
 .../numbers/examples/jmh/arrays/KthSelector.java   |  16 +-
 .../numbers/examples/jmh/arrays/Partition.java     |  82 +++---
 .../examples/jmh/arrays/PartitionFactory.java      |  40 +--
 .../numbers/examples/jmh/arrays/PivotCache.java    |  10 +-
 .../examples/jmh/arrays/PivotingStrategy.java      |   6 +-
 .../examples/jmh/arrays/SearchableInterval.java    |   6 +-
 .../examples/jmh/arrays/SearchableInterval2.java   |   8 +-
 .../examples/jmh/arrays/SelectionPerformance.java  |  14 +-
 .../examples/jmh/arrays/SplittingInterval.java     |   4 +-
 .../examples/jmh/arrays/UpdatingInterval.java      |   6 +-
 .../numbers/examples/jmh/core/DoublePrecision.java |  28 +-
 .../jmh/core/KolmogorovSmirnovDistribution.java    |   4 +-
 .../commons/numbers/examples/jmh/core/SDD.java     |  38 +--
 .../commons/numbers/fraction/BigFraction.java      |  10 +-
 .../apache/commons/numbers/fraction/Fraction.java  |  10 +-
 .../fraction/GeneralizedContinuedFraction.java     |  18 +-
 .../java/org/apache/commons/numbers/gamma/Erf.java |   8 +-
 .../org/apache/commons/numbers/gamma/Erfc.java     |   8 +-
 .../org/apache/commons/numbers/gamma/Erfcx.java    |   8 +-
 .../org/apache/commons/numbers/gamma/Gamma.java    |   4 +-
 .../apache/commons/numbers/gamma/GammaRatio.java   |   2 +-
 .../apache/commons/numbers/gamma/InverseErf.java   |  10 +-
 .../apache/commons/numbers/gamma/InverseErfc.java  |  10 +-
 37 files changed, 465 insertions(+), 465 deletions(-)

diff --git 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/IndexSupport.java
 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/IndexSupport.java
index f62818d7..18c2d61d 100644
--- 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/IndexSupport.java
+++ 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/IndexSupport.java
@@ -252,10 +252,10 @@ final class IndexSupport {
      * <p>The sub-range is defined to be out of bounds if any of the following
      * inequalities is true:
      * <ul>
-     * <li>{@code fromIndex < 0}
-     * <li>{@code fromIndex > toIndex}
-     * <li>{@code toIndex > length}
-     * <li>{@code length < 0}, which is implied from the former inequalities
+     * <li>{@code fromIndex < 0}</li>
+     * <li>{@code fromIndex > toIndex}</li>
+     * <li>{@code toIndex > length}</li>
+     * <li>{@code length < 0}, which is implied from the former 
inequalities</li>
      * </ul>
      *
      * @param fromIndex Lower-bound (inclusive) of the sub-range.
diff --git 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/KeyUpdatingInterval.java
 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/KeyUpdatingInterval.java
index 3ade5cb7..aa07c29a 100644
--- 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/KeyUpdatingInterval.java
+++ 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/KeyUpdatingInterval.java
@@ -143,10 +143,10 @@ final class KeyUpdatingInterval implements 
UpdatingInterval {
      * <p>This is similar to using {@link java.util.Arrays#binarySearch(int[], 
int, int, int)
      * Arrays.binarySearch}. The method differs in:
      * <ul>
-     * <li>use of an inclusive upper bound;
-     * <li>returning the closest index with a value below {@code key} if no 
match was not found;
+     * <li>use of an inclusive upper bound;</li>
+     * <li>returning the closest index with a value below {@code key} if no 
match was not found;</li>
      * <li>performing no range checks: it is assumed {@code left <= right} and 
they are valid
-     * indices into the array.
+     * indices into the array.</li>
      * </ul>
      *
      * <p>An equivalent use of binary search is:
diff --git 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/QuickSelect.java
 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/QuickSelect.java
index 894f9f69..aa7adbb0 100644
--- 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/QuickSelect.java
+++ 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/QuickSelect.java
@@ -1276,10 +1276,10 @@ final class QuickSelect {
      * }</pre>
      *
      * <ul>
-     * <li>k0: lower pivot1 point
-     * <li>k1: upper pivot1 point (inclusive)
-     * <li>k2: lower pivot2 point
-     * <li>k3: upper pivot2 point (inclusive)
+     * <li>k0: lower pivot1 point</li>
+     * <li>k1: upper pivot1 point (inclusive)</li>
+     * <li>k2: lower pivot2 point</li>
+     * <li>k3: upper pivot2 point (inclusive)</li>
      * </ul>
      *
      * <p>Bounds are set so {@code i < k0}, {@code i > k3} and {@code k1 < i < 
k2} are
@@ -2535,10 +2535,10 @@ final class QuickSelect {
      * }</pre>
      *
      * <ul>
-     * <li>k0: lower pivot1 point
-     * <li>k1: upper pivot1 point (inclusive)
-     * <li>k2: lower pivot2 point
-     * <li>k3: upper pivot2 point (inclusive)
+     * <li>k0: lower pivot1 point</li>
+     * <li>k1: upper pivot1 point (inclusive)</li>
+     * <li>k2: lower pivot2 point</li>
+     * <li>k3: upper pivot2 point (inclusive)</li>
      * </ul>
      *
      * <p>Bounds are set so {@code i < k0}, {@code i > k3} and {@code k1 < i < 
k2} are
diff --git 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Selection.java
 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Selection.java
index 21c7dfcf..ec77017b 100644
--- 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Selection.java
+++ 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Selection.java
@@ -91,29 +91,29 @@ package org.apache.commons.numbers.arrays;
  * <ol>
  * <li>Hoare (1961)
  * Algorithm 65: Find
- * <a href="https://doi.org/10.1145%2F366622.366647";>Comm. ACM. 4 (7): 
321–322</a>
+ * <a href="https://doi.org/10.1145%2F366622.366647";>Comm. ACM. 4 (7): 
321–322</a></li>
  * <li>Musser (1999)
  * Introspective Sorting and Selection Algorithms
  * <a 
href="https://doi.org/10.1002/(SICI)1097-024X(199708)27:8%3C983::AID-SPE117%3E3.0.CO;2-%23">
- * Software: Practice and Experience 27, 983-993.</a>
+ * Software: Practice and Experience 27, 983-993.</a></li>
  * <li>Floyd and Rivest (1975)
  * Algorithm 489: The Algorithm SELECT—for Finding the ith Smallest of n 
elements.
- * Comm. ACM. 18 (3): 173.
+ * Comm. ACM. 18 (3): 173.</li>
  * <li>Kiwiel (2005)
  * On Floyd and Rivest's SELECT algorithm.
- * Theoretical Computer Science 347, 214-238.
+ * Theoretical Computer Science 347, 214-238.</li>
  * <li>Blum, Floyd, Pratt, Rivest, and Tarjan (1973)
  * Time bounds for selection.
  * <a href="https://doi.org/10.1016%2FS0022-0000%2873%2980033-9";>
- * Journal of Computer and System Sciences. 7 (4): 448–461</a>.
+ * Journal of Computer and System Sciences. 7 (4): 448–461</a>.</li>
  * <li>Alexandrescu (2016)
  * Fast Deterministic Selection
- * <a href="https://arxiv.org/abs/1606.00484";>arXiv:1606.00484</a>.
- * <li><a href="https://en.wikipedia.org/wiki/Quickselect";>Quickselect 
(Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Introsort";>Introsort 
(Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Introselect";>Introselect 
(Wikipedia)</a>
- * <li><a 
href="https://en.wikipedia.org/wiki/Floyd%E2%80%93Rivest_algorithm";>Floyd-Rivest
 algorithm (Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Median_of_medians";>Median of 
medians (Wikipedia)</a>
+ * <a href="https://arxiv.org/abs/1606.00484";>arXiv:1606.00484</a>.</li>
+ * <li><a href="https://en.wikipedia.org/wiki/Quickselect";>Quickselect 
(Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Introsort";>Introsort 
(Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Introselect";>Introselect 
(Wikipedia)</a></li>
+ * <li><a 
href="https://en.wikipedia.org/wiki/Floyd%E2%80%93Rivest_algorithm";>Floyd-Rivest
 algorithm (Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Median_of_medians";>Median of 
medians (Wikipedia)</a></li>
  * </ol>
  *
  * @since 1.2
diff --git 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/UpdatingInterval.java
 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/UpdatingInterval.java
index 5b8e82ff..c996f805 100644
--- 
a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/UpdatingInterval.java
+++ 
b/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/UpdatingInterval.java
@@ -22,9 +22,9 @@ package org.apache.commons.numbers.arrays;
  * <p>The interval provides the following functionality:
  *
  * <ul>
- * <li>Return the supported bounds of the interval {@code [left <= right]}.
- * <li>Update the left or right bound of the interval using an index {@code k} 
inside the interval.
- * <li>Split the interval around two indices {@code k1} and {@code k2}.
+ * <li>Return the supported bounds of the interval {@code [left <= 
right]}.</li>
+ * <li>Update the left or right bound of the interval using an index {@code k} 
inside the interval.</li>
+ * <li>Split the interval around two indices {@code k1} and {@code k2}.</li>
  * </ul>
  *
  * <p>Note that the interval provides the supported bounds. If an search index 
{@code k} is
diff --git 
a/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Stirling.java
 
b/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Stirling.java
index 4415eafa..bad11ac5 100644
--- 
a/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Stirling.java
+++ 
b/commons-numbers-combinatorics/src/main/java/org/apache/commons/numbers/combinatorics/Stirling.java
@@ -271,9 +271,9 @@ public final class Stirling {
      * Return {@code a*b/4} without intermediate overflow.
      * It is assumed that:
      * <ul>
-     * <li>The coefficients a and b are positive
-     * <li>The product (a*b) is an exact multiple of 4
-     * <li>The result (a*b/4) is an exact integer that does not overflow a 
{@code long}
+     * <li>The coefficients a and b are positive</li>
+     * <li>The product (a*b) is an exact multiple of 4</li>
+     * <li>The result (a*b/4) is an exact integer that does not overflow a 
{@code long}</li>
      * </ul>
      *
      * <p>A conditional branch is performed on the odd/even property of {@code 
b}.
diff --git 
a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
 
b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
index e22622a9..8f1e05f3 100644
--- 
a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
+++ 
b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
@@ -295,14 +295,14 @@ public final class Complex implements Serializable  {
      * following the rules for double arithmetic, for example:</p>
      *
      * <ul>
-     * <li>{@code ofPolar(}\( -0.0 \){@code , }\( 0 \){@code ) = }\( 
\text{NaN} + i \text{NaN} \)
-     * <li>{@code ofPolar(}\( 0.0 \){@code , }\( 0 \){@code ) = }\( 0 + i 0 \)
-     * <li>{@code ofPolar(}\( 1 \){@code , }\( 0 \){@code ) = }\( 1 + i 0 \)
-     * <li>{@code ofPolar(}\( 1 \){@code , }\( \pi \){@code ) = }\( -1 + i 
\sin(\pi) \)
-     * <li>{@code ofPolar(}\( \infty \){@code , }\( \pi \){@code ) = }\( 
-\infty + i \infty \)
-     * <li>{@code ofPolar(}\( \infty \){@code , }\( 0 \){@code ) = }\( -\infty 
+ i \text{NaN} \)
-     * <li>{@code ofPolar(}\( \infty \){@code , }\( -\frac{\pi}{4} \){@code ) 
= }\( \infty - i \infty \)
-     * <li>{@code ofPolar(}\( \infty \){@code , }\( 5\frac{\pi}{4} \){@code ) 
= }\( -\infty - i \infty \)
+     * <li>{@code ofPolar(}\( -0.0 \){@code , }\( 0 \){@code ) = }\( 
\text{NaN} + i \text{NaN} \)</li>
+     * <li>{@code ofPolar(}\( 0.0 \){@code , }\( 0 \){@code ) = }\( 0 + i 0 
\)</li>
+     * <li>{@code ofPolar(}\( 1 \){@code , }\( 0 \){@code ) = }\( 1 + i 0 
\)</li>
+     * <li>{@code ofPolar(}\( 1 \){@code , }\( \pi \){@code ) = }\( -1 + i 
\sin(\pi) \)</li>
+     * <li>{@code ofPolar(}\( \infty \){@code , }\( \pi \){@code ) = }\( 
-\infty + i \infty \)</li>
+     * <li>{@code ofPolar(}\( \infty \){@code , }\( 0 \){@code ) = }\( -\infty 
+ i \text{NaN} \)</li>
+     * <li>{@code ofPolar(}\( \infty \){@code , }\( -\frac{\pi}{4} \){@code ) 
= }\( \infty - i \infty \)</li>
+     * <li>{@code ofPolar(}\( \infty \){@code , }\( 5\frac{\pi}{4} \){@code ) 
= }\( -\infty - i \infty \)</li>
      * </ul>
      *
      * <p>This method is the functional equivalent of the C++ method {@code 
std::polar}.
@@ -491,10 +491,10 @@ public final class Complex implements Serializable  {
      * <p>Special cases:
      *
      * <ul>
-     * <li>{@code abs(x + iy) == abs(y + ix) == abs(x - iy)}.
-     * <li>If {@code z} is ±∞ + iy for any y, returns +∞.
-     * <li>If {@code z} is x + iNaN for non-infinite x, returns NaN.
-     * <li>If {@code z} is x + i0, returns |x|.
+     * <li>{@code abs(x + iy) == abs(y + ix) == abs(x - iy)}.</li>
+     * <li>If {@code z} is ±∞ + iy for any y, returns +∞.</li>
+     * <li>If {@code z} is x + iNaN for non-infinite x, returns NaN.</li>
+     * <li>If {@code z} is x + i0, returns |x|.</li>
      * </ul>
      *
      * <p>The cases ensure that if either component is infinite then the 
result is positive
@@ -525,9 +525,9 @@ public final class Complex implements Serializable  {
      * without undue overflow or underflow."
      *
      * <ul>
-     * <li>hypot(x, y), hypot(y, x), and hypot(x, −y) are equivalent.
-     * <li>hypot(x, ±0) is equivalent to |x|.
-     * <li>hypot(±∞, y) returns +∞, even if y is a NaN.
+     * <li>hypot(x, y), hypot(y, x), and hypot(x, −y) are equivalent.</li>
+     * <li>hypot(x, ±0) is equivalent to |x|.</li>
+     * <li>hypot(±∞, y) returns +∞, even if y is a NaN.</li>
      * </ul>
      *
      * <p>This method is called by all methods that require the absolute value 
of the complex
@@ -606,9 +606,9 @@ public final class Complex implements Serializable  {
      *
      * <p>Note that:
      * <ul>
-     *   <li>There is more than one complex number that can return {@code 
true}.
+     *   <li>There is more than one complex number that can return {@code 
true}.</li>
      *   <li>Different representations of NaN can be distinguished by the
-     *       {@link #equals(Object) Complex.equals(Object)} method.
+     *       {@link #equals(Object) Complex.equals(Object)} method.</li>
      * </ul>
      *
      * @return {@code true} if this instance contains NaN and no infinite 
parts.
@@ -1222,20 +1222,20 @@ public final class Complex implements Serializable  {
      * Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().exp() == z.exp().conj()}.
-     * <li>If {@code z} is ±0 + i0, returns 1 + i0.
-     * <li>If {@code z} is x + i∞ for finite x, returns NaN + iNaN ("invalid" 
floating-point operation).
-     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.
-     * <li>If {@code z} is −∞ + iy for finite y, returns +0 cis(y) (see {@link 
#ofCis(double)}).
-     * <li>If {@code z} is +∞ + iy for finite nonzero y, returns +∞ cis(y).
-     * <li>If {@code z} is −∞ + i∞, returns ±0 ± i0 (where the signs of the 
real and imaginary parts of the result are unspecified).
-     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point operation).
-     * <li>If {@code z} is −∞ + iNaN, returns ±0 ± i0 (where the signs of the 
real and imaginary parts of the result are unspecified).
-     * <li>If {@code z} is +∞ + iNaN, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is NaN + i0, returns NaN + i0.
-     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().exp() == z.exp().conj()}.</li>
+     * <li>If {@code z} is ±0 + i0, returns 1 + i0.</li>
+     * <li>If {@code z} is x + i∞ for finite x, returns NaN + iNaN ("invalid" 
floating-point operation).</li>
+     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.</li>
+     * <li>If {@code z} is −∞ + iy for finite y, returns +0 cis(y) (see {@link 
#ofCis(double)}).</li>
+     * <li>If {@code z} is +∞ + iy for finite nonzero y, returns +∞ 
cis(y).</li>
+     * <li>If {@code z} is −∞ + i∞, returns ±0 ± i0 (where the signs of the 
real and imaginary parts of the result are unspecified).</li>
+     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point 
operation).</li>
+     * <li>If {@code z} is −∞ + iNaN, returns ±0 ± i0 (where the signs of the 
real and imaginary parts of the result are unspecified).</li>
+     * <li>If {@code z} is +∞ + iNaN, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + i0, returns NaN + i0.</li>
+     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>Implements the formula:
@@ -1308,19 +1308,19 @@ public final class Complex implements Serializable  {
      * Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().log() == z.log().conj()}.
-     * <li>If {@code z} is −0 + i0, returns −∞ + iπ ("divide-by-zero" 
floating-point operation).
-     * <li>If {@code z} is +0 + i0, returns −∞ + i0 ("divide-by-zero" 
floating-point operation).
-     * <li>If {@code z} is x + i∞ for finite x, returns +∞ + iπ/2.
-     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is −∞ + iy for finite positive-signed y, returns +∞ + 
iπ.
-     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +∞ + 
i0.
-     * <li>If {@code z} is −∞ + i∞, returns +∞ + i3π/4.
-     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.
-     * <li>If {@code z} is ±∞ + iNaN, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + i∞, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().log() == z.log().conj()}.</li>
+     * <li>If {@code z} is −0 + i0, returns −∞ + iπ ("divide-by-zero" 
floating-point operation).</li>
+     * <li>If {@code z} is +0 + i0, returns −∞ + i0 ("divide-by-zero" 
floating-point operation).</li>
+     * <li>If {@code z} is x + i∞ for finite x, returns +∞ + iπ/2.</li>
+     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is −∞ + iy for finite positive-signed y, returns +∞ + 
iπ.</li>
+     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +∞ + 
i0.</li>
+     * <li>If {@code z} is −∞ + i∞, returns +∞ + i3π/4.</li>
+     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.</li>
+     * <li>If {@code z} is ±∞ + iNaN, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + i∞, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>Implements the formula:
@@ -1548,29 +1548,29 @@ public final class Complex implements Serializable  {
      * branch cut along the negative real axis \( (-infty,0) \). Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().sqrt() == z.sqrt().conj()}.
-     * <li>If {@code z} is ±0 + i0, returns +0 + i0.
-     * <li>If {@code z} is x + i∞ for all x (including NaN), returns +∞ + i∞.
-     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is −∞ + iy for finite positive-signed y, returns +0 + 
i∞.
-     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +∞ + 
i0.
-     * <li>If {@code z} is −∞ + iNaN, returns NaN ± i∞ (where the sign of the 
imaginary part of the result is unspecified).
-     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().sqrt() == z.sqrt().conj()}.</li>
+     * <li>If {@code z} is ±0 + i0, returns +0 + i0.</li>
+     * <li>If {@code z} is x + i∞ for all x (including NaN), returns +∞ + 
i∞.</li>
+     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is −∞ + iy for finite positive-signed y, returns +0 + 
i∞.</li>
+     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +∞ + 
i0.</li>
+     * <li>If {@code z} is −∞ + iNaN, returns NaN ± i∞ (where the sign of the 
imaginary part of the result is unspecified).</li>
+     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>Implements the following algorithm to compute \( \sqrt{x + iy} \):
      * <ol>
-     * <li>Let \( t = \sqrt{2 (|x| + |x + iy|)} \)
-     * <li>if \( x \geq 0 \) return \( \frac{t}{2} + i \frac{y}{t} \)
-     * <li>else return \( \frac{|y|}{t} + i\ \text{sgn}(y) \frac{t}{2} \)
+     * <li>Let \( t = \sqrt{2 (|x| + |x + iy|)} \)</li>
+     * <li>if \( x \geq 0 \) return \( \frac{t}{2} + i \frac{y}{t} \)</li>
+     * <li>else return \( \frac{|y|}{t} + i\ \text{sgn}(y) \frac{t}{2} \)</li>
      * </ol>
      * where:
      * <ul>
-     * <li>\( |x| =\ \){@link Math#abs(double) abs}(x)
-     * <li>\( |x + y i| =\ \){@link Complex#abs}
-     * <li>\( \text{sgn}(y) =\ \){@link Math#copySign(double,double) 
copySign}(1.0, y)
+     * <li>\( |x| =\ \){@link Math#abs(double) abs}(x)</li>
+     * <li>\( |x + y i| =\ \){@link Complex#abs}</li>
+     * <li>\( \text{sgn}(y) =\ \){@link Math#copySign(double,double) 
copySign}(1.0, y)</li>
      * </ul>
      *
      * <p>The implementation is overflow and underflow safe based on the 
method described in:</p>
@@ -1960,19 +1960,19 @@ public final class Complex implements Serializable  {
      * unbounded along the imaginary axis. Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().acos() == z.acos().conj()}.
-     * <li>If {@code z} is ±0 + i0, returns π/2 − i0.
-     * <li>If {@code z} is ±0 + iNaN, returns π/2 + iNaN.
-     * <li>If {@code z} is x + i∞ for finite x, returns π/2 − i∞.
-     * <li>If {@code z} is x + iNaN, returns NaN + iNaN ("invalid" 
floating-point operation).
-     * <li>If {@code z} is −∞ + iy for positive-signed finite y, returns π − 
i∞.
-     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +0 − 
i∞.
-     * <li>If {@code z} is −∞ + i∞, returns 3π/4 − i∞.
-     * <li>If {@code z} is +∞ + i∞, returns π/4 − i∞.
-     * <li>If {@code z} is ±∞ + iNaN, returns NaN ± i∞ where the sign of the 
imaginary part of the result is unspecified.
-     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + i∞, returns NaN − i∞.
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().acos() == z.acos().conj()}.</li>
+     * <li>If {@code z} is ±0 + i0, returns π/2 − i0.</li>
+     * <li>If {@code z} is ±0 + iNaN, returns π/2 + iNaN.</li>
+     * <li>If {@code z} is x + i∞ for finite x, returns π/2 − i∞.</li>
+     * <li>If {@code z} is x + iNaN, returns NaN + iNaN ("invalid" 
floating-point operation).</li>
+     * <li>If {@code z} is −∞ + iy for positive-signed finite y, returns π − 
i∞.</li>
+     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +0 − 
i∞.</li>
+     * <li>If {@code z} is −∞ + i∞, returns 3π/4 − i∞.</li>
+     * <li>If {@code z} is +∞ + i∞, returns π/4 − i∞.</li>
+     * <li>If {@code z} is ±∞ + iNaN, returns NaN ± i∞ where the sign of the 
imaginary part of the result is unspecified.</li>
+     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + i∞, returns NaN − i∞.</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>The inverse cosine is a multivalued function and requires a branch 
cut in
@@ -2181,20 +2181,20 @@ public final class Complex implements Serializable  {
      * Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().sinh() == z.sinh().conj()}.
-     * <li>This is an odd function: \( \sinh(z) = -\sinh(-z) \).
-     * <li>If {@code z} is +0 + i0, returns +0 + i0.
-     * <li>If {@code z} is +0 + i∞, returns ±0 + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point operation).
-     * <li>If {@code z} is +0 + iNaN, returns ±0 + iNaN (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is x + i∞ for positive finite x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is x + iNaN for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.
-     * <li>If {@code z} is +∞ + iy for positive finite y, returns +∞ cis(y) 
(see {@link #ofCis(double)}.
-     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + iNaN, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is NaN + i0, returns NaN + i0.
-     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().sinh() == z.sinh().conj()}.</li>
+     * <li>This is an odd function: \( \sinh(z) = -\sinh(-z) \).</li>
+     * <li>If {@code z} is +0 + i0, returns +0 + i0.</li>
+     * <li>If {@code z} is +0 + i∞, returns ±0 + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point 
operation).</li>
+     * <li>If {@code z} is +0 + iNaN, returns ±0 + iNaN (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is x + i∞ for positive finite x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is x + iNaN for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.</li>
+     * <li>If {@code z} is +∞ + iy for positive finite y, returns +∞ cis(y) 
(see {@link #ofCis(double)}.</li>
+     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified; "invalid" floating-point 
operation).</li>
+     * <li>If {@code z} is +∞ + iNaN, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + i0, returns NaN + i0.</li>
+     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>This is implemented using real \( x \) and imaginary \( y \) parts:
@@ -2262,20 +2262,20 @@ public final class Complex implements Serializable  {
      * Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().cosh() == z.cosh().conj()}.
-     * <li>This is an even function: \( \cosh(z) = \cosh(-z) \).
-     * <li>If {@code z} is +0 + i0, returns 1 + i0.
-     * <li>If {@code z} is +0 + i∞, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified; "invalid" floating-point 
operation).
-     * <li>If {@code z} is +0 + iNaN, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified).
-     * <li>If {@code z} is x + i∞ for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is x + iNaN for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.
-     * <li>If {@code z} is +∞ + iy for finite nonzero y, returns +∞ cis(y) 
(see {@link #ofCis(double)}).
-     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + i0, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified).
-     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().cosh() == z.cosh().conj()}.</li>
+     * <li>This is an even function: \( \cosh(z) = \cosh(-z) \).</li>
+     * <li>If {@code z} is +0 + i0, returns 1 + i0.</li>
+     * <li>If {@code z} is +0 + i∞, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified; "invalid" floating-point 
operation).</li>
+     * <li>If {@code z} is +0 + iNaN, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified).</li>
+     * <li>If {@code z} is x + i∞ for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is x + iNaN for finite nonzero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + i0, returns +∞ + i0.</li>
+     * <li>If {@code z} is +∞ + iy for finite nonzero y, returns +∞ cis(y) 
(see {@link #ofCis(double)}).</li>
+     * <li>If {@code z} is +∞ + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + i0, returns NaN ± i0 (where the sign of the 
imaginary part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>This is implemented using real \( x \) and imaginary \( y \) parts:
@@ -2412,19 +2412,19 @@ public final class Complex implements Serializable  {
      * \( \pi/2 \) and there is no value for which a pole error occurs. 
Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().tanh() == z.tanh().conj()}.
-     * <li>This is an odd function: \( \tanh(z) = -\tanh(-z) \).
-     * <li>If {@code z} is +0 + i0, returns +0 + i0.
-     * <li>If {@code z} is 0 + i∞, returns 0 + iNaN.
-     * <li>If {@code z} is x + i∞ for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is 0 + iNaN, returns 0 + iNAN.
-     * <li>If {@code z} is x + iNaN for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns 1 + 
i0 sin(2y).
-     * <li>If {@code z} is +∞ + i∞, returns 1 ± i0 (where the sign of the 
imaginary part of the result is unspecified).
-     * <li>If {@code z} is +∞ + iNaN, returns 1 ± i0 (where the sign of the 
imaginary part of the result is unspecified).
-     * <li>If {@code z} is NaN + i0, returns NaN + i0.
-     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().tanh() == z.tanh().conj()}.</li>
+     * <li>This is an odd function: \( \tanh(z) = -\tanh(-z) \).</li>
+     * <li>If {@code z} is +0 + i0, returns +0 + i0.</li>
+     * <li>If {@code z} is 0 + i∞, returns 0 + iNaN.</li>
+     * <li>If {@code z} is x + i∞ for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is 0 + iNaN, returns 0 + iNAN.</li>
+     * <li>If {@code z} is x + iNaN for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns 1 + 
i0 sin(2y).</li>
+     * <li>If {@code z} is +∞ + i∞, returns 1 ± i0 (where the sign of the 
imaginary part of the result is unspecified).</li>
+     * <li>If {@code z} is +∞ + iNaN, returns 1 ± i0 (where the sign of the 
imaginary part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + i0, returns NaN + i0.</li>
+     * <li>If {@code z} is NaN + iy for all nonzero numbers y, returns NaN + 
iNaN ("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>Special cases include the technical corrigendum
@@ -2562,18 +2562,18 @@ public final class Complex implements Serializable  {
      * in the range \( [-\pi, \pi] \) along the imaginary axis. Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().asinh() == z.asinh().conj()}.
-     * <li>This is an odd function: \( \sinh^{-1}(z) = -\sinh^{-1}(-z) \).
-     * <li>If {@code z} is +0 + i0, returns 0 + i0.
-     * <li>If {@code z} is x + i∞ for positive-signed finite x, returns +∞ + 
iπ/2.
-     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +∞ + 
i0.
-     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.
-     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + i0, returns NaN + i0.
-     * <li>If {@code z} is NaN + iy for finite nonzero y, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().asinh() == z.asinh().conj()}.</li>
+     * <li>This is an odd function: \( \sinh^{-1}(z) = -\sinh^{-1}(-z) \).</li>
+     * <li>If {@code z} is +0 + i0, returns 0 + i0.</li>
+     * <li>If {@code z} is x + i∞ for positive-signed finite x, returns +∞ + 
iπ/2.</li>
+     * <li>If {@code z} is x + iNaN for finite x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +∞ + 
i0.</li>
+     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.</li>
+     * <li>If {@code z} is +∞ + iNaN, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + i0, returns NaN + i0.</li>
+     * <li>If {@code z} is NaN + iy for finite nonzero y, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + i∞, returns ±∞ + iNaN (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>The inverse hyperbolic sine is a multivalued function and requires a 
branch cut in
@@ -2607,19 +2607,19 @@ public final class Complex implements Serializable  {
      * real axis and in the range \( [-\pi, \pi] \) along the imaginary axis. 
Special cases:
      *
      * <ul>
-     * <li>{@code z.conj().acosh() == z.acosh().conj()}.
-     * <li>If {@code z} is ±0 + i0, returns +0 + iπ/2.
-     * <li>If {@code z} is x + i∞ for finite x, returns +∞ + iπ/2.
-     * <li>If {@code z} is 0 + iNaN, returns NaN + iπ/2 <sup>[1]</sup>.
-     * <li>If {@code z} is x + iNaN for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is −∞ + iy for positive-signed finite y, returns +∞ + 
iπ.
-     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +∞ + 
i0.
-     * <li>If {@code z} is −∞ + i∞, returns +∞ + i3π/4.
-     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.
-     * <li>If {@code z} is ±∞ + iNaN, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is NaN + i∞, returns +∞ + iNaN.
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().acosh() == z.acosh().conj()}.</li>
+     * <li>If {@code z} is ±0 + i0, returns +0 + iπ/2.</li>
+     * <li>If {@code z} is x + i∞ for finite x, returns +∞ + iπ/2.</li>
+     * <li>If {@code z} is 0 + iNaN, returns NaN + iπ/2 <sup>[1]</sup>.</li>
+     * <li>If {@code z} is x + iNaN for finite non-zero x, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is −∞ + iy for positive-signed finite y, returns +∞ + 
iπ.</li>
+     * <li>If {@code z} is +∞ + iy for positive-signed finite y, returns +∞ + 
i0.</li>
+     * <li>If {@code z} is −∞ + i∞, returns +∞ + i3π/4.</li>
+     * <li>If {@code z} is +∞ + i∞, returns +∞ + iπ/4.</li>
+     * <li>If {@code z} is ±∞ + iNaN, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + iy for finite y, returns NaN + iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is NaN + i∞, returns +∞ + iNaN.</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>Special cases include the technical corrigendum
@@ -2672,19 +2672,19 @@ public final class Complex implements Serializable  {
      * in the range \( [-\pi/2, \pi/2] \) along the imaginary axis. Special 
cases:
      *
      * <ul>
-     * <li>{@code z.conj().atanh() == z.atanh().conj()}.
-     * <li>This is an odd function: \( \tanh^{-1}(z) = -\tanh^{-1}(-z) \).
-     * <li>If {@code z} is +0 + i0, returns +0 + i0.
-     * <li>If {@code z} is +0 + iNaN, returns +0 + iNaN.
-     * <li>If {@code z} is +1 + i0, returns +∞ + i0 ("divide-by-zero" 
floating-point operation).
-     * <li>If {@code z} is x + i∞ for finite positive-signed x, returns +0 + 
iπ/2.
-     * <li>If {@code z} is x+iNaN for nonzero finite x, returns NaN+iNaN 
("invalid" floating-point operation).
-     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +0 + 
iπ/2.
-     * <li>If {@code z} is +∞ + i∞, returns +0 + iπ/2.
-     * <li>If {@code z} is +∞ + iNaN, returns +0 + iNaN.
-     * <li>If {@code z} is NaN+iy for finite y, returns NaN+iNaN ("invalid" 
floating-point operation).
-     * <li>If {@code z} is NaN + i∞, returns ±0 + iπ/2 (where the sign of the 
real part of the result is unspecified).
-     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.
+     * <li>{@code z.conj().atanh() == z.atanh().conj()}.</li>
+     * <li>This is an odd function: \( \tanh^{-1}(z) = -\tanh^{-1}(-z) \).</li>
+     * <li>If {@code z} is +0 + i0, returns +0 + i0.</li>
+     * <li>If {@code z} is +0 + iNaN, returns +0 + iNaN.</li>
+     * <li>If {@code z} is +1 + i0, returns +∞ + i0 ("divide-by-zero" 
floating-point operation).</li>
+     * <li>If {@code z} is x + i∞ for finite positive-signed x, returns +0 + 
iπ/2.</li>
+     * <li>If {@code z} is x+iNaN for nonzero finite x, returns NaN+iNaN 
("invalid" floating-point operation).</li>
+     * <li>If {@code z} is +∞ + iy for finite positive-signed y, returns +0 + 
iπ/2.</li>
+     * <li>If {@code z} is +∞ + i∞, returns +0 + iπ/2.</li>
+     * <li>If {@code z} is +∞ + iNaN, returns +0 + iNaN.</li>
+     * <li>If {@code z} is NaN+iy for finite y, returns NaN+iNaN ("invalid" 
floating-point operation).</li>
+     * <li>If {@code z} is NaN + i∞, returns ±0 + iπ/2 (where the sign of the 
real part of the result is unspecified).</li>
+     * <li>If {@code z} is NaN + iNaN, returns NaN + iNaN.</li>
      * </ul>
      *
      * <p>The inverse hyperbolic tangent is a multivalued function and 
requires a branch cut in
@@ -3384,9 +3384,9 @@ public final class Complex implements Serializable  {
      *
      * <ul>
      * <li>If either argument is NaN or infinite, then the result is
-     * {@link Double#MAX_EXPONENT} + 1.
+     * {@link Double#MAX_EXPONENT} + 1.</li>
      * <li>If both arguments are zero, then the result is
-     * {@link Double#MAX_EXPONENT} + 1.
+     * {@link Double#MAX_EXPONENT} + 1.</li>
      * </ul>
      *
      * @param a the first value
@@ -3428,9 +3428,9 @@ public final class Complex implements Serializable  {
      *
      * <ul>
      * <li>If either argument is NaN or infinite, then the result is
-     * {@link Double#MAX_EXPONENT} + 1.
+     * {@link Double#MAX_EXPONENT} + 1.</li>
      * <li>If both arguments are zero or subnormal, then the result is
-     * {@link Double#MIN_EXPONENT} -1.
+     * {@link Double#MIN_EXPONENT} -1.</li>
      * </ul>
      *
      * <p>This is used by {@link #divide(double, double, double, double)} as
@@ -3468,8 +3468,8 @@ public final class Complex implements Serializable  {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If either argument is infinite, then the result is positive 
infinity.
-     * <li>If either argument is NaN and neither argument is infinite, then 
the result is NaN.
+     * <li>If either argument is infinite, then the result is positive 
infinity.</li>
+     * <li>If either argument is NaN and neither argument is infinite, then 
the result is NaN.</li>
      * </ul>
      *
      * <p>The computed result is expected to be within 1 ulp of the exact 
result.
diff --git 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
index cf605761..153b3202 100644
--- 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
+++ 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ArithmeticUtils.java
@@ -125,7 +125,7 @@ public final class ArithmeticUtils {
      * is too large for a long value.</li>
      * <li>The result of {@code gcd(x, x)}, {@code gcd(0L, x)} and
      * {@code gcd(x, 0L)} is the absolute value of {@code x}, except
-     * for the special cases above.
+     * for the special cases above.</li>
      * <li>The invocation {@code gcd(0L, 0L)} is the only one which returns
      * {@code 0L}.</li>
      * </ul>
@@ -203,7 +203,7 @@ public final class ArithmeticUtils {
      * power of 2, throw an {@code ArithmeticException}, because the result
      * would be 2^31, which is too large for an int value.</li>
      * <li>The result of {@code lcm(0, x)} and {@code lcm(x, 0)} is
-     * {@code 0} for any {@code x}.
+     * {@code 0} for any {@code x}.</li>
      * </ul>
      *
      * @param a Number.
@@ -236,7 +236,7 @@ public final class ArithmeticUtils {
      * power of 2, throw an {@code ArithmeticException}, because the result
      * would be 2^63, which is too large for an int value.</li>
      * <li>The result of {@code lcm(0L, x)} and {@code lcm(x, 0L)} is
-     * {@code 0L} for any {@code x}.
+     * {@code 0L} for any {@code x}.</li>
      * </ul>
      *
      * @param a Number.
@@ -262,12 +262,12 @@ public final class ArithmeticUtils {
      *
      * <p>Special cases:</p>
      * <ul>
-     *   <li>{@code k^0} returns {@code 1} (including {@code k=0})
-     *   <li>{@code k^1} returns {@code k} (including {@code k=0})
-     *   <li>{@code 0^0} returns {@code 1}
-     *   <li>{@code 0^e} returns {@code 0}
-     *   <li>{@code 1^e} returns {@code 1}
-     *   <li>{@code (-1)^e} returns {@code -1 or 1} if {@code e} is odd or even
+     *   <li>{@code k^0} returns {@code 1} (including {@code k=0})</li>
+     *   <li>{@code k^1} returns {@code k} (including {@code k=0})</li>
+     *   <li>{@code 0^0} returns {@code 1}</li>
+     *   <li>{@code 0^e} returns {@code 0}</li>
+     *   <li>{@code 1^e} returns {@code 1}</li>
+     *   <li>{@code (-1)^e} returns {@code -1 or 1} if {@code e} is odd or 
even</li>
      * </ul>
      *
      * @param k Number to raise.
@@ -322,12 +322,12 @@ public final class ArithmeticUtils {
      *
      * <p>Special cases:</p>
      * <ul>
-     *   <li>{@code k^0} returns {@code 1} (including {@code k=0})
-     *   <li>{@code k^1} returns {@code k} (including {@code k=0})
-     *   <li>{@code 0^0} returns {@code 1}
-     *   <li>{@code 0^e} returns {@code 0}
-     *   <li>{@code 1^e} returns {@code 1}
-     *   <li>{@code (-1)^e} returns {@code -1 or 1} if {@code e} is odd or even
+     *   <li>{@code k^0} returns {@code 1} (including {@code k=0})</li>
+     *   <li>{@code k^1} returns {@code k} (including {@code k=0})</li>
+     *   <li>{@code 0^0} returns {@code 1}</li>
+     *   <li>{@code 0^e} returns {@code 0}</li>
+     *   <li>{@code 1^e} returns {@code 1}</li>
+     *   <li>{@code (-1)^e} returns {@code -1 or 1} if {@code e} is odd or 
even</li>
      * </ul>
      *
      * @param k Number to raise.
diff --git 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DD.java 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DD.java
index d8d5ede6..5b3dbc45 100644
--- a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DD.java
+++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DD.java
@@ -153,15 +153,15 @@ import java.util.function.DoubleUnaryOperator;
  * Dekker, T.J. (1971)
  * <a href="https://doi.org/10.1007/BF01397083";>
  * A floating-point technique for extending the available precision</a>
- * Numerische Mathematik, 18:224–242.
+ * Numerische Mathematik, 18:224–242.</li>
  * <li>
  * Shewchuk, J.R. (1997)
  * <a 
href="https://www-2.cs.cmu.edu/afs/cs/project/quake/public/papers/robust-arithmetic.ps";>
- * Arbitrary Precision Floating-Point Arithmetic</a>.
+ * Arbitrary Precision Floating-Point Arithmetic</a>.</li>
  * <li>
  * Hide, Y, Li, X.S. and Bailey, D.H. (2008)
  * <a href="https://www.davidhbailey.com/dhbpapers/qd.pdf";>
- * Library for Double-Double and Quad-Double Arithmetic</a>.
+ * Library for Double-Double and Quad-Double Arithmetic</a>.</li>
  * </ol>
  *
  * @since 1.2
@@ -398,9 +398,9 @@ public final class DD
      * This creates the following special cases:
      *
      * <ul>
-     *  <li>If {@code x + y} is infinite then the low part is NaN.
-     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.
-     *  <li>If {@code x + y} is sub-normal or zero then the low part is +/-0.0.
+     *  <li>If {@code x + y} is infinite then the low part is NaN.</li>
+     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.</li>
+     *  <li>If {@code x + y} is sub-normal or zero then the low part is 
+/-0.0.</li>
      * </ul>
      *
      * <p>An invalid result can be identified using {@link #isFinite()}.
@@ -446,10 +446,10 @@ public final class DD
      *
      * <ul>
      *  <li>If either {@code |x|} or {@code |y|} multiplied by {@code 1 + 2^27}
-     *      is infinite (intermediate overflow) then the low part is NaN.
-     *  <li>If {@code x * y} is infinite then the low part is NaN.
-     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.
-     *  <li>If {@code x * y} is sub-normal or zero then the low part is +/-0.0.
+     *      is infinite (intermediate overflow) then the low part is NaN.</li>
+     *  <li>If {@code x * y} is infinite then the low part is NaN.</li>
+     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.</li>
+     *  <li>If {@code x * y} is sub-normal or zero then the low part is 
+/-0.0.</li>
      * </ul>
      *
      * <p>An invalid result can be identified using {@link #isFinite()}.
@@ -496,11 +496,11 @@ public final class DD
      *
      * <ul>
      *  <li>If either {@code |x / y|} or {@code |y|} multiplied by {@code 1 + 
2^27}
-     *      is infinite (intermediate overflow) then the low part is NaN.
-     *  <li>If {@code x / y} is infinite then the low part is NaN.
-     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.
+     *      is infinite (intermediate overflow) then the low part is NaN.</li>
+     *  <li>If {@code x / y} is infinite then the low part is NaN.</li>
+     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.</li>
      *  <li>If {@code x / y} is sub-normal or zero, excluding the previous 
cases,
-     *      then the low part is +/-0.0.
+     *      then the low part is +/-0.0.</li>
      * </ul>
      *
      * <p>An invalid result can be identified using {@link #isFinite()}.
@@ -625,9 +625,9 @@ public final class DD
      *
      * <p>Special cases:
      * <ul>
-     *  <li>If the {@code DD} value is infinite the result is {@link 
Integer#MAX_VALUE}.
-     *  <li>If the {@code DD} value is -infinite the result is {@link 
Integer#MIN_VALUE}.
-     *  <li>If the {@code DD} value is NaN the result is 0.
+     *  <li>If the {@code DD} value is infinite the result is {@link 
Integer#MAX_VALUE}.</li>
+     *  <li>If the {@code DD} value is -infinite the result is {@link 
Integer#MIN_VALUE}.</li>
+     *  <li>If the {@code DD} value is NaN the result is 0.</li>
      * </ul>
      *
      * <p>Conversion of a finite {@code DD} can also be performed using the
@@ -658,9 +658,9 @@ public final class DD
      *
      * <p>Special cases:
      * <ul>
-     *  <li>If the {@code DD} value is infinite the result is {@link 
Long#MAX_VALUE}.
-     *  <li>If the {@code DD} value is -infinite the result is {@link 
Long#MIN_VALUE}.
-     *  <li>If the {@code DD} value is NaN the result is 0.
+     *  <li>If the {@code DD} value is infinite the result is {@link 
Long#MAX_VALUE}.</li>
+     *  <li>If the {@code DD} value is -infinite the result is {@link 
Long#MIN_VALUE}.</li>
+     *  <li>If the {@code DD} value is NaN the result is 0.</li>
      * </ul>
      *
      * <p>Conversion of a finite {@code DD} can also be performed using the
@@ -895,11 +895,11 @@ public final class DD
      * This creates the following special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the low part is +/-0.0.
-     *  <li>If {@code x * y} is infinite then the low part is NaN.
-     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the low part is 
+/-0.0.</li>
+     *  <li>If {@code x * y} is infinite then the low part is NaN.</li>
+     *  <li>If {@code x} or {@code y} is infinite or NaN then the low part is 
NaN.</li>
      *  <li>If either {@code |x|} or {@code |y|} multiplied by {@code 1 + 2^27}
-     *      is infinite (intermediate overflow) then the low part is NaN.
+     *      is infinite (intermediate overflow) then the low part is NaN.</li>
      * </ul>
      *
      * <p>Note: Ignoring special cases is a design choice for performance. The
@@ -1069,10 +1069,10 @@ public final class DD
      *
      * <p>Cases:
      * <ul>
-     *  <li>If the {@code x} value is negative the result is {@code (-x, -xx)}.
+     *  <li>If the {@code x} value is negative the result is {@code (-x, 
-xx)}.</li>
      *  <li>If the {@code x} value is +/- 0.0 the result is {@code (0.0, 
0.0)}; this
-     *      will remove sign information from the round-off component assumed 
to be zero.
-     *  <li>Otherwise the result is {@code this}.
+     *      will remove sign information from the round-off component assumed 
to be zero.</li>
+     *  <li>Otherwise the result is {@code this}.</li>
      * </ul>
      *
      * @return the absolute value
@@ -1098,12 +1098,12 @@ public final class DD
      *
      * <p>Cases:
      * <ul>
-     *  <li>If {@code x} is NaN, then the result is {@code (NaN, 0)}.
-     *  <li>If {@code x} is infinite, then the result is {@code (x, 0)}.
-     *  <li>If {@code x} is +/-0.0, then the result is {@code (x, 0)}.
-     *  <li>If {@code x != Math.floor(x)}, then the result is {@code 
(Math.floor(x), 0)}.
+     *  <li>If {@code x} is NaN, then the result is {@code (NaN, 0)}.</li>
+     *  <li>If {@code x} is infinite, then the result is {@code (x, 0)}.</li>
+     *  <li>If {@code x} is +/-0.0, then the result is {@code (x, 0)}.</li>
+     *  <li>If {@code x != Math.floor(x)}, then the result is {@code 
(Math.floor(x), 0)}.</li>
      *  <li>Otherwise the result is the {@code DD} value equal to the sum
-     *      {@code Math.floor(x) + Math.floor(xx)}.
+     *      {@code Math.floor(x) + Math.floor(xx)}.</li>
      * </ul>
      *
      * <p>The result may generate a high part smaller (closer to negative 
infinity) than
@@ -1128,12 +1128,12 @@ public final class DD
      *
      * <p>Cases:
      * <ul>
-     *  <li>If {@code x} is NaN, then the result is {@code (NaN, 0)}.
-     *  <li>If {@code x} is infinite, then the result is {@code (x, 0)}.
-     *  <li>If {@code x} is +/-0.0, then the result is {@code (x, 0)}.
-     *  <li>If {@code x != Math.ceil(x)}, then the result is {@code 
(Math.ceil(x), 0)}.
+     *  <li>If {@code x} is NaN, then the result is {@code (NaN, 0)}.</li>
+     *  <li>If {@code x} is infinite, then the result is {@code (x, 0)}.</li>
+     *  <li>If {@code x} is +/-0.0, then the result is {@code (x, 0)}.</li>
+     *  <li>If {@code x != Math.ceil(x)}, then the result is {@code 
(Math.ceil(x), 0)}.</li>
      *  <li>Otherwise the result is the {@code DD} value equal to the sum
-     *      {@code Math.ceil(x) + Math.ceil(xx)}.
+     *      {@code Math.ceil(x) + Math.ceil(xx)}.</li>
      * </ul>
      *
      * <p>The result may generate a high part larger (closer to positive 
infinity) than
@@ -1154,10 +1154,10 @@ public final class DD
      *
      * <p>Cases:
      * <ul>
-     *  <li>If {@code x} is non-finite or zero, then the result is {@code (x, 
0)}.
+     *  <li>If {@code x} is non-finite or zero, then the result is {@code (x, 
0)}.</li>
      *  <li>If {@code x} is rounded by the operator to a new value {@code y}, 
then the
-     *      result is {@code (y, 0)}.
-     *  <li>Otherwise the result is the {@code DD} value equal to the sum 
{@code op(x) + op(xx)}.
+     *      result is {@code (y, 0)}.</li>
+     *  <li>Otherwise the result is the {@code DD} value equal to the sum 
{@code op(x) + op(xx)}.</li>
      * </ul>
      *
      * @param x High part of x.
@@ -1602,9 +1602,9 @@ public final class DD
      *
      * <p>Special cases:
      * <ul>
-     *  <li>If {@code x} is NaN or less than zero, then the result is {@code 
(NaN, 0)}.
-     *  <li>If {@code x} is positive infinity, then the result is {@code 
(+infinity, 0)}.
-     *  <li>If {@code x} is positive zero or negative zero, then the result is 
{@code (x, 0)}.
+     *  <li>If {@code x} is NaN or less than zero, then the result is {@code 
(NaN, 0)}.</li>
+     *  <li>If {@code x} is positive infinity, then the result is {@code 
(+infinity, 0)}.</li>
+     *  <li>If {@code x} is positive zero or negative zero, then the result is 
{@code (x, 0)}.</li>
      * </ul>
      *
      * <p>The computed result is within 4 eps of the exact result where eps is 
2<sup>-106</sup>.
@@ -1774,12 +1774,12 @@ public final class DD
      *
      * <p>Special cases:
      * <ul>
-     *  <li>If {@code x} is zero, then the normalized fraction is zero and the 
exponent is zero.
-     *  <li>If {@code x} is NaN, then the normalized fraction is NaN and the 
exponent is unspecified.
-     *  <li>If {@code x} is infinite, then the normalized fraction is infinite 
and the exponent is unspecified.
+     *  <li>If {@code x} is zero, then the normalized fraction is zero and the 
exponent is zero.</li>
+     *  <li>If {@code x} is NaN, then the normalized fraction is NaN and the 
exponent is unspecified.</li>
+     *  <li>If {@code x} is infinite, then the normalized fraction is infinite 
and the exponent is unspecified.</li>
      *  <li>If high-part {@code x} is an exact power of 2 and the low-part 
{@code xx} has an opposite
      *      signed non-zero magnitude then fraction high-part {@code f} will 
be {@code +/-1} such that
-     *      the double-double number is in the range {@code [0.5, 1)}.
+     *      the double-double number is in the range {@code [0.5, 1)}.</li>
      * </ul>
      *
      * <p>This is named using the equivalent function in the standard C math.h 
library.
@@ -1833,8 +1833,8 @@ public final class DD
      *
      * <p>Special cases:
      * <ul>
-     *  <li>If the argument is NaN or infinite, then the result is {@link 
Double#MAX_EXPONENT} + 1.
-     *  <li>If the argument is zero, then the result is {@link 
Double#MAX_EXPONENT} + 1.
+     *  <li>If the argument is NaN or infinite, then the result is {@link 
Double#MAX_EXPONENT} + 1.</li>
+     *  <li>If the argument is zero, then the result is {@link 
Double#MAX_EXPONENT} + 1.</li>
      * </ul>
      *
      * @param a Value.
@@ -1872,11 +1872,11 @@ public final class DD
      * <p>Special cases:
      * <ul>
      *  <li>If {@code x} is not a finite normalized {@code double}, the low 
part {@code xx}
-     *      is ignored and the result is {@link Math#pow(double, double) 
Math.pow(x, n)}.
-     *  <li>If {@code n = 0} the result is {@code (1, 0)}.
-     *  <li>If {@code n = 1} the result is {@code (x, xx)}.
-     *  <li>If {@code n = -1} the result is the {@link #reciprocal() 
reciprocal}.
-     *  <li>If the computation overflows the result is undefined.
+     *      is ignored and the result is {@link Math#pow(double, double) 
Math.pow(x, n)}.</li>
+     *  <li>If {@code n = 0} the result is {@code (1, 0)}.</li>
+     *  <li>If {@code n = 1} the result is {@code (x, xx)}.</li>
+     *  <li>If {@code n = -1} the result is the {@link #reciprocal() 
reciprocal}.</li>
+     *  <li>If the computation overflows the result is undefined.</li>
      * </ul>
      *
      * <p>Computation uses multiplication by factors generated by repeat 
squaring of the value.
@@ -2009,15 +2009,15 @@ public final class DD
      * <p>Special cases:
      * <ul>
      *  <li>If {@code (x, xx)} is zero the high part of the fractional part is
-     *      computed using {@link Math#pow(double, double) Math.pow(x, n)} and 
the exponent is 0.
-     *  <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 1.
+     *      computed using {@link Math#pow(double, double) Math.pow(x, n)} and 
the exponent is 0.</li>
+     *  <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 
1.</li>
      *  <li>If {@code (x, xx)} is an exact power of 2 the fractional part is 
0.5 and the exponent
-     *      is the power of 2 minus 1.
+     *      is the power of 2 minus 1.</li>
      *  <li>If the result high-part is an exact power of 2 and the low-part 
has an opposite
      *      signed non-zero magnitude then the fraction high-part {@code f} 
will be {@code +/-1} such that
-     *      the double-double number is in the range {@code [0.5, 1)}.
+     *      the double-double number is in the range {@code [0.5, 1)}.</li>
      *  <li>If the argument is not finite then a fractional representation is 
not possible.
-     *      In this case the fraction and the scale factor is undefined.
+     *      In this case the fraction and the scale factor is undefined.</li>
      * </ul>
      *
      * <p>The computed result is approximately {@code 16 * (n - 1) * eps} of 
the exact result
@@ -2187,9 +2187,9 @@ public final class DD
      * <ul>
      *  <li>Instances that contain {@code NaN} values in the same part
      *      are considered to be equal for that part, even though {@code 
Double.NaN == Double.NaN}
-     *      has the value {@code false}.
+     *      has the value {@code false}.</li>
      *  <li>Instances that share a {@code NaN} value in one part
-     *      but have different values in the other part are <em>not</em> 
considered equal.
+     *      but have different values in the other part are <em>not</em> 
considered equal.</li>
      * </ul>
      *
      * <p>The behavior is the same as if the components of the two 
double-double numbers were passed
diff --git 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DDMath.java
 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DDMath.java
index f118e9aa..135681ab 100644
--- 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DDMath.java
+++ 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/DDMath.java
@@ -62,15 +62,15 @@ public final class DDMath {
      * <p>Special cases:
      * <ul>
      *  <li>If {@code (x, xx)} is zero the high part of the fractional part is
-     *      computed using {@link Math#pow(double, double) Math.pow(x, n)} and 
the exponent is 0.
-     *  <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 1.
+     *      computed using {@link Math#pow(double, double) Math.pow(x, n)} and 
the exponent is 0.</li>
+     *  <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 
1.</li>
      *  <li>If {@code (x, xx)} is an exact power of 2 the fractional part is 
0.5 and the exponent
-     *      is the power of 2 minus 1.
+     *      is the power of 2 minus 1.</li>
      *  <li>If the result high-part is an exact power of 2 and the low-part 
has an opposite
      *      signed non-zero magnitude then the fraction high-part {@code f} 
will be {@code +/-1} such that
-     *      the double-double number is in the range {@code [0.5, 1)}.
+     *      the double-double number is in the range {@code [0.5, 1)}.</li>
      *  <li>If the argument is not finite then a fractional representation is 
not possible.
-     *      In this case the fraction and the scale factor is undefined.
+     *      In this case the fraction and the scale factor is undefined.</li>
      * </ul>
      *
      * <p>The computed result is within 1 eps of the exact result where eps is 
2<sup>-106</sup>.
diff --git 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java
 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java
index 5417d70f..4c47cd9d 100644
--- 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java
+++ 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java
@@ -73,8 +73,8 @@ final class ExtendedPrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.</li>
      * </ul>
      *
      * <p>This method delegates to {@link DD#twoProductLow(double, double, 
double)} but uses
diff --git 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
index 283df914..af4712d8 100644
--- 
a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
+++ 
b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
@@ -72,17 +72,17 @@ public final class Precision {
      * Compares two numbers given some amount of allowed error.
      * The returned value is:
      * <ul>
-     *  <li>zero if considered equal using {@link 
#equals(double,double,double) equals(x, y, eps)}
-     *  <li>negative if not equal and {@code x < y}
-     *  <li>positive if not equal and {@code x > y}
+     *  <li>zero if considered equal using {@link 
#equals(double,double,double) equals(x, y, eps)}</li>
+     *  <li>negative if not equal and {@code x < y}</li>
+     *  <li>positive if not equal and {@code x > y}</li>
      * </ul>
      *
      * <p>NaN values are handled as if using {@link Double#compare(double, 
double)} where the
      * returned value is:
      * <ul>
-     *  <li>zero if {@code NaN, NaN}
-     *  <li>negative if {@code !NaN, NaN}
-     *  <li>positive if {@code NaN, !NaN}
+     *  <li>zero if {@code NaN, NaN}</li>
+     *  <li>negative if {@code !NaN, NaN}</li>
+     *  <li>positive if {@code NaN, !NaN}</li>
      * </ul>
      *
      * @param x First value.
@@ -108,17 +108,17 @@ public final class Precision {
      * Compares two numbers given some amount of allowed error.
      * The returned value is:
      * <ul>
-     *  <li>zero if considered equal using {@link #equals(double,double,int) 
equals(x, y, maxUlps)}
-     *  <li>negative if not equal and {@code x < y}
-     *  <li>positive if not equal and {@code x > y}
+     *  <li>zero if considered equal using {@link #equals(double,double,int) 
equals(x, y, maxUlps)}</li>
+     *  <li>negative if not equal and {@code x < y}</li>
+     *  <li>positive if not equal and {@code x > y}</li>
      * </ul>
      *
      * <p>NaN values are handled as if using {@link Double#compare(double, 
double)} where the
      * returned value is:
      * <ul>
-     *  <li>zero if {@code NaN, NaN}
-     *  <li>negative if {@code !NaN, NaN}
-     *  <li>positive if {@code NaN, !NaN}
+     *  <li>zero if {@code NaN, NaN}</li>
+     *  <li>negative if {@code !NaN, NaN}</li>
+     *  <li>positive if {@code NaN, !NaN}</li>
      * </ul>
      *
      * @param x First value.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DualPivotingStrategy.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DualPivotingStrategy.java
index 5b2a99ee..edf8fe84 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DualPivotingStrategy.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DualPivotingStrategy.java
@@ -806,9 +806,9 @@ enum DualPivotingStrategy {
     /**
      * Get the effect on the sampled points.
      * <ul>
-     * <li>0 - Unchanged
-     * <li>1 - Partially sorted
-     * <li>2 - Sorted
+     * <li>0 - Unchanged</li>
+     * <li>1 - Partially sorted</li>
+     * <li>2 - Sorted</li>
      * </ul>
      *
      * @return the effect
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/IntervalAnalysis.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/IntervalAnalysis.java
index 393fbbc1..c1053def 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/IntervalAnalysis.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/IntervalAnalysis.java
@@ -35,10 +35,10 @@ interface IntervalAnalysis {
      * <ol>
      * <li>Use approximations for performance, for example
      * compressing indices into blocks of the defined separation.
-     * <pre>{@code c = (i - left) >> separation}</pre>
+     * <pre>{@code c = (i - left) >> separation}</pre></li>
      * <li>Support only a range of the possible
      * {@code separation} values in {@code [0, 30]}. Unsupported {@code 
separation}
-     * values should return {@code false}.
+     * values should return {@code false}.</li>
      * </ol>
      *
      * @param separation Log2 of the maximum separation between indices.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/KthSelector.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/KthSelector.java
index d9652052..74d3e114 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/KthSelector.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/KthSelector.java
@@ -1521,10 +1521,10 @@ class KthSelector {
      * <p>This method returns 4 points: the lower and upper pivots and bounds 
for
      * the internal range of unsorted values.
      * <ul>
-     * <li>k0: lower pivot point: {@code a[k] < a[k0]} for {@code k < k0}.
-     * <li>k1: the start (inclusive) of the unsorted range: {@code k0 < k1}.
-     * <li>k2: the end (inclusive) of the unsorted range: {@code k2 <= k3}.
-     * <li>k3: upper pivot point: {@code a[k3] < a[k]} for {@code k3 < k}.
+     * <li>k0: lower pivot point: {@code a[k] < a[k0]} for {@code k < k0}.</li>
+     * <li>k1: the start (inclusive) of the unsorted range: {@code k0 < 
k1}.</li>
+     * <li>k2: the end (inclusive) of the unsorted range: {@code k2 <= 
k3}.</li>
+     * <li>k3: upper pivot point: {@code a[k3] < a[k]} for {@code k3 < k}.</li>
      * </ul>
      *
      * <p>Bounds are set so {@code [k0, k1)} and {@code (k2, k3]} are fully 
sorted.
@@ -1908,10 +1908,10 @@ class KthSelector {
      * <p>This method returns 4 points: the lower and upper pivots and bounds 
for
      * the internal range of unsorted values.
      * <ul>
-     * <li>k0: lower pivot point: {@code a[k] < a[k0]} for {@code k < k0}.
-     * <li>k1: the start (inclusive) of the unsorted range: {@code k0 < k1}.
-     * <li>k2: the end (inclusive) of the unsorted range: {@code k2 <= k3}.
-     * <li>k3: upper pivot point: {@code a[k3] < a[k]} for {@code k3 < k}.
+     * <li>k0: lower pivot point: {@code a[k] < a[k0]} for {@code k < k0}.</li>
+     * <li>k1: the start (inclusive) of the unsorted range: {@code k0 < 
k1}.</li>
+     * <li>k2: the end (inclusive) of the unsorted range: {@code k2 <= 
k3}.</li>
+     * <li>k3: upper pivot point: {@code a[k3] < a[k]} for {@code k3 < k}.</li>
      * </ul>
      *
      * <p>Bounds are set so {@code [k0, k1)} and {@code (k2, k3]} are fully 
sorted.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/Partition.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/Partition.java
index 2377254b..ce748984 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/Partition.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/Partition.java
@@ -86,38 +86,38 @@ import org.apache.commons.rng.simple.RandomSource;
  * <li>
  * Hoare (1961)
  * Algorithm 65: Find
- * <a href="https://doi.org/10.1145%2F366622.366647";>Comm. ACM. 4 (7): 
321–322</a>
+ * <a href="https://doi.org/10.1145%2F366622.366647";>Comm. ACM. 4 (7): 
321–322</a></li>
  * <li>
  * Musser (1999)
  * Introspective Sorting and Selection Algorithms
  * <a 
href="https://doi.org/10.1002/(SICI)1097-024X(199708)27:8%3C983::AID-SPE117%3E3.0.CO;2-%23">
- * Software: Practice and Experience 27, 983-993.</a>
+ * Software: Practice and Experience 27, 983-993.</a></li>
  * <li>
  * Wild, Nebel and Mahmoud (2013)
  * Analysis of Quickselect under Yaroslavskiy's Dual-Pivoting Algorithm
- * <a href="https://doi.org/10.48550/arXiv.1306.3819";>arXiv:1306.3819</a>
+ * <a href="https://doi.org/10.48550/arXiv.1306.3819";>arXiv:1306.3819</a></li>
  * <li>Floyd and Rivest (1975)
  * Algorithm 489: The Algorithm SELECT - for Finding the ith Smallest of n 
elements.
- * Comm. ACM. 18 (3): 173.
+ * Comm. ACM. 18 (3): 173.</li>
  * <li>Kiwiel (2005)
  * On Floyd and Rivest's SELECT algorithm.
  * <a href="https://doi.org/10.1016/j.tcs.2005.06.032";>
- * Theoretical Computer Science 347, 214-238</a>.
+ * Theoretical Computer Science 347, 214-238</a>.</li>
  * <li>Valois (2000)
  * Introspective sorting and selection revisited
  * <a 
href="https://doi.org/10.1002/(SICI)1097-024X(200005)30:6%3C617::AID-SPE311%3E3.0.CO;2-A">
- * Software: Practice and Experience 30, 617-638.</a>
+ * Software: Practice and Experience 30, 617-638.</a></li>
  * <li>Blum, Floyd, Pratt, Rivest, and Tarjan (1973)
  * Time bounds for selection.
  * <a href="https://doi.org/10.1016%2FS0022-0000%2873%2980033-9";>
- * Journal of Computer and System Sciences. 7 (4): 448–461</a>.
+ * Journal of Computer and System Sciences. 7 (4): 448–461</a>.</li>
  * <li>Alexandrescu (2016)
  * Fast Deterministic Selection
- * <a href="https://arxiv.org/abs/1606.00484";>arXiv:1606.00484</a>.
- * <li><a href="https://en.wikipedia.org/wiki/Quickselect";>Quickselect 
(Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Introsort";>Introsort 
(Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Introselect";>Introselect 
(Wikipedia)</a>
- * <li><a href="https://en.wikipedia.org/wiki/Median_of_medians";>Median of 
medians (Wikipedia)</a>
+ * <a href="https://arxiv.org/abs/1606.00484";>arXiv:1606.00484</a>.</li>
+ * <li><a href="https://en.wikipedia.org/wiki/Quickselect";>Quickselect 
(Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Introsort";>Introsort 
(Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Introselect";>Introselect 
(Wikipedia)</a></li>
+ * <li><a href="https://en.wikipedia.org/wiki/Median_of_medians";>Median of 
medians (Wikipedia)</a></li>
  * </ol>
  *
  * @since 1.2
@@ -154,11 +154,11 @@ final class Partition {
      *
      * <p>If using insertion sort as the stopper for quickselect:
      * <ul>
-     * <li>Single-pivot: Benchmarking random data in range [96, 192] suggests 
a value of ~16 for n=1.
+     * <li>Single-pivot: Benchmarking random data in range [96, 192] suggests 
a value of ~16 for n=1.</li>
      * <li>Dual-pivot: Benchmarking random data in range [162, 486] suggests a 
value of ~27 for n=1
      * and increasing with higher n in the same range.
      * Dual-pivot sorting requires a value of ~120. If keys are saturated 
between k1 and kn
-     * an increase to this threshold will gain full sort performance.
+     * an increase to this threshold will gain full sort performance.</li>
      * </ul> */
     static final int MIN_QUICKSELECT_SIZE = 0;
     /** Minimum size for heapselect.
@@ -842,8 +842,8 @@ final class Partition {
          * |         <P        | ==P |            >P        |
          * }</pre>
          * <ul>
-         * <li>k0: lower pivot point
-         * <li>k1: upper pivot point
+         * <li>k0: lower pivot point</li>
+         * <li>k1: upper pivot point</li>
          * </ul>
          *
          * @param a Data array.
@@ -1002,8 +1002,8 @@ final class Partition {
          * |         <P        | ==P |            >P        |
          * }</pre>
          * <ul>
-         * <li>k0: lower pivot point
-         * <li>k1: upper pivot point (inclusive)
+         * <li>k0: lower pivot point</li>
+         * <li>k1: upper pivot point (inclusive)</li>
          * </ul>
          *
          * @param a Data array.
@@ -1032,10 +1032,10 @@ final class Partition {
          * |   <P  | ==P1 |  <P1 && <P2    | ==P2 |   >P   |
          * }</pre>
          * <ul>
-         * <li>k0: lower pivot1 point
-         * <li>k1: upper pivot1 point (inclusive)
-         * <li>k2: lower pivot2 point
-         * <li>k3: upper pivot2 point (inclusive)
+         * <li>k0: lower pivot1 point</li>
+         * <li>k1: upper pivot1 point (inclusive)</li>
+         * <li>k2: lower pivot2 point</li>
+         * <li>k3: upper pivot2 point (inclusive)</li>
          * </ul>
          *
          * <p>Bounds are set so {@code i < k0}, {@code i > k3} and {@code k1 < 
i < k2} are
@@ -1100,8 +1100,8 @@ final class Partition {
          * |         <P        | ==P |            >P        |
          * }</pre>
          * <ul>
-         * <li>k0: lower pivot point
-         * <li>k1: upper pivot point (inclusive)
+         * <li>k0: lower pivot point</li>
+         * <li>k1: upper pivot point (inclusive)</li>
          * </ul>
          *
          * @param a Data array.
@@ -1197,12 +1197,12 @@ final class Partition {
      * <ul>
      * <li>Sample mode: Do not use all the data to create the pivot sample. 
This is less expensive
      * to compute but invalidates strict margins. The margin quality is better 
than a random pivot
-     * due to sampling a reasonable range of the data and using medians to 
create the sample.
+     * due to sampling a reasonable range of the data and using medians to 
create the sample.</li>
      * <li>Adaption mode: Map the target {@code k} from the current range to 
the size of the pivot
      * sample. This create asymmetric margins and adapts the larger margin to 
the position of
      * {@code k} thus increasing the chance of eliminating a large amount of 
data. However data
      * randomness can create a larger margin so large it includes {@code k} 
and partitioning
-     * must eliminate a possibly very small other side.
+     * must eliminate a possibly very small other side.</li>
      * </ul>
      *
      * <p>The quickselect adaptive paper suggests sampling mode is turned off 
when margins are not
@@ -2698,18 +2698,18 @@ final class Partition {
      * require a full sort. Start-up cost is higher. In practice the indices 
do not saturate
      * the range if the length is reasonable and it is typically possible to 
cut between indices
      * during partitioning to create regions that do not require visiting. 
Thus trying to identify
-     * regions for a full sort is a waste of resources.
+     * regions for a full sort is a waste of resources.</li>
      * <li>{@link KeyStrategy#INDEX_SET}: Uses a {@code BitSet}-type structure 
to store
      * pivots during a call to partition. These can be used to bracket the 
search for the next index.
      * Storage of sparse indices is inefficient as it will require up to 
length bits of the memory
-     * of the input array length. Sparse ranges cannot be efficiently searched.
+     * of the input array length. Sparse ranges cannot be efficiently 
searched.</li>
      * <li>{@link KeyStrategy#PIVOT_CACHE}: The {@link PivotCache} interface 
abstracts
      * methods from a {@code BitSet}. Indices can be stored and searched. The 
abstraction allows
      * the pivots to be stored efficiently. However there are no sparse 
implementations
      * of the interface other than 1 or 2 points. So performance is similar to 
the INDEX_SET
      * method. One difference is the method finds the outer indices first and 
then
      * only searches the internal region for the rest of the indices. This 
makes no difference
-     * to performance.
+     * to performance.</li>
      * </ul>
      *
      * <p>Note: In each method indices are processed independently. Thus each 
bracket around an
@@ -6056,10 +6056,10 @@ final class Partition {
      * <ul>
      * <li>Floyd and Rivest (1975)
      * Algorithm 489: The Algorithm SELECT—for Finding the ith Smallest of n 
elements.
-     * Comm. ACM. 18 (3): 173.
+     * Comm. ACM. 18 (3): 173.</li>
      * <li>Kiwiel (2005)
      * On Floyd and Rivest's SELECT algorithm.
-     * Theoretical Computer Science 347, 214-238.
+     * Theoretical Computer Science 347, 214-238.</li>
      * </ul>
      *
      * @param x Values.
@@ -8154,10 +8154,10 @@ final class Partition {
      * }</pre>
      *
      * <ul>
-     * <li>k0: lower pivot1 point
-     * <li>k1: upper pivot1 point (inclusive)
-     * <li>k2: lower pivot2 point
-     * <li>k3: upper pivot2 point (inclusive)
+     * <li>k0: lower pivot1 point</li>
+     * <li>k1: upper pivot1 point (inclusive)</li>
+     * <li>k2: lower pivot2 point</li>
+     * <li>k3: upper pivot2 point (inclusive)</li>
      * </ul>
      *
      * <p>Bounds are set so {@code i < k0},  {@code i > k3} and {@code k1 < i 
< k2} are
@@ -10135,10 +10135,10 @@ final class Partition {
      * <p>This is similar to using {@link java.util.Arrays#binarySearch(int[], 
int, int, int)
      * Arrays.binarySearch}. The method differs in:
      * <ul>
-     * <li>use of an inclusive upper bound;
-     * <li>returning the closest index with a value below {@code key} if no 
match was not found;
+     * <li>use of an inclusive upper bound;</li>
+     * <li>returning the closest index with a value below {@code key} if no 
match was not found;</li>
      * <li>performing no range checks: it is assumed {@code left <= right} and 
they are valid
-     * indices into the array.
+     * indices into the array.</li>
      * </ul>
      *
      * <p>An equivalent use of binary search is:
@@ -10220,10 +10220,10 @@ final class Partition {
      * <p>This is similar to using {@link java.util.Arrays#binarySearch(int[], 
int, int, int)
      * Arrays.binarySearch}. The method differs in:
      * <ul>
-     * <li>use of an inclusive upper bound;
-     * <li>returning the closest index with a value above {@code key} if no 
match was not found;
+     * <li>use of an inclusive upper bound;</li>
+     * <li>returning the closest index with a value above {@code key} if no 
match was not found;</li>
      * <li>performing no range checks: it is assumed {@code left <= right} and 
they are valid
-     * indices into the array.
+     * indices into the array.</li>
      * </ul>
      *
      * <p>An equivalent use of binary search is:
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PartitionFactory.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PartitionFactory.java
index 3ec33d64..ded8ee69 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PartitionFactory.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PartitionFactory.java
@@ -87,8 +87,8 @@ final class PartitionFactory {
      *
      * <p>Harvests:
      * <ul>
-     * <li>PivotingStrategy : enum name
-     * <li>QSnn : minimum quickselect size of n
+     * <li>PivotingStrategy : enum name</li>
+     * <li>QSnn : minimum quickselect size of n</li>
      * </ul>
      *
      * @param name Name.
@@ -139,24 +139,24 @@ final class PartitionFactory {
      *
      * <p>Harvests:
      * <ul>
-     * <li>PivotingStrategy : enum name
-     * <li>DualPivotingStrategy : enum name
-     * <li>QSn : minimum quickselect size of n
-     * <li>ECn : minimum edgeselect constant of n
-     * <li>LCn : minimum sortselect constant of n for linear selection 
algorithms
-     * <li>SUn : minimum sub-sampling size of n (for the Floyd-Rivest 
algorithm)
-     * <li>KeyStrategy : enum name
-     * <li>PairedKeyStrategy : enum name
-     * <li>RMn.n : recursion multiple of n.n (optional floating point) used to 
set recursion limit for introspection
-     * <li>RCn : recursion constant of n used to set recursion limit for 
introspection
-     * <li>CLn : compression level of n for compressed keys
-     * <li>CFn : control flags of n
-     * <li>SPStrategy : enum name
-     * <li>ExpandStrategy : enum name
-     * <li>LinearStrategy : enum name
-     * <li>EdgeSelectStrategy : enum name
-     * <li>StopperStrategy : enum name
-     * <li>AdaptMode : enum name
+     * <li>PivotingStrategy : enum name</li>
+     * <li>DualPivotingStrategy : enum name</li>
+     * <li>QSn : minimum quickselect size of n</li>
+     * <li>ECn : minimum edgeselect constant of n</li>
+     * <li>LCn : minimum sortselect constant of n for linear selection 
algorithms</li>
+     * <li>SUn : minimum sub-sampling size of n (for the Floyd-Rivest 
algorithm)</li>
+     * <li>KeyStrategy : enum name</li>
+     * <li>PairedKeyStrategy : enum name</li>
+     * <li>RMn.n : recursion multiple of n.n (optional floating point) used to 
set recursion limit for introspection</li>
+     * <li>RCn : recursion constant of n used to set recursion limit for 
introspection</li>
+     * <li>CLn : compression level of n for compressed keys</li>
+     * <li>CFn : control flags of n</li>
+     * <li>SPStrategy : enum name</li>
+     * <li>ExpandStrategy : enum name</li>
+     * <li>LinearStrategy : enum name</li>
+     * <li>EdgeSelectStrategy : enum name</li>
+     * <li>StopperStrategy : enum name</li>
+     * <li>AdaptMode : enum name</li>
      * </ul>
      *
      * @param name Name.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotCache.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotCache.java
index 89953c24..084894d5 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotCache.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotCache.java
@@ -45,9 +45,9 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  * <p>The cache provides the following functionality:
  *
  * <ul>
- * <li>Test if an index {@code [left <= k <= right]} is a known pivot.
- * <li>Return a {@code lower} bounding pivot for a partition of an index 
{@code [left <= k <= right]}.
- * <li>Return an {@code upper} bounding pivot for a partition of an index 
{@code [left <= k <= right]}.
+ * <li>Test if an index {@code [left <= k <= right]} is a known pivot.</li>
+ * <li>Return a {@code lower} bounding pivot for a partition of an index 
{@code [left <= k <= right]}.</li>
+ * <li>Return an {@code upper} bounding pivot for a partition of an index 
{@code [left <= k <= right]}.</li>
  * </ul>
  *
  * <p>Note that searching with the bound {@code [lower, upper]} will reorder 
data
@@ -58,11 +58,11 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  *
  * <ol>
  * <li>Process {@code k} indices in any order. Store all pivots during the 
partitioning.
- * Each subsequent search after the first can use adjacent pivots to bracket 
the search.
+ * Each subsequent search after the first can use adjacent pivots to bracket 
the search.</li>
  * <li>Process {@code k} indices in sorted order. The {@code lower} bound for 
{@code k+1}
  * will be {@code k <= lower}. This does not require a cache as {@code upper} 
can be set
  * using the end of the data {@code n}. For this case a cache can store pivots 
which can
- * be used to bracket the search for {@code k+1}.
+ * be used to bracket the search for {@code k+1}.</li>
  * </ol>
  *
  * <p>Implementations may assume indices are positive.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotingStrategy.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotingStrategy.java
index 59f2c0f5..e99c38b1 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotingStrategy.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/PivotingStrategy.java
@@ -334,9 +334,9 @@ enum PivotingStrategy {
     /**
      * Get the effect on the sampled points.
      * <ul>
-     * <li>0 - Unchanged
-     * <li>1 - Partially sorted
-     * <li>2 - Sorted
+     * <li>0 - Unchanged</li>
+     * <li>1 - Partially sorted</li>
+     * <li>2 - Sorted</li>
      * </ul>
      *
      * @return the effect
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval.java
index 541fac7c..1d703a33 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval.java
@@ -22,9 +22,9 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  * <p>The interval provides the following functionality:
  *
  * <ul>
- * <li>Return the supported bounds of the search {@code [left <= right]}.
- * <li>Return the previous index contained in the interval from a search point 
{@code k}.
- * <li>Return the next index contained in the interval from a search point 
{@code k}.
+ * <li>Return the supported bounds of the search {@code [left <= right]}.</li>
+ * <li>Return the previous index contained in the interval from a search point 
{@code k}.</li>
+ * <li>Return the next index contained in the interval from a search point 
{@code k}.</li>
  * </ul>
  *
  * <p>Note that the interval provides the supported bounds. If a search begins 
outside
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval2.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval2.java
index 13ae9c3e..3a78c9be 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval2.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SearchableInterval2.java
@@ -25,10 +25,10 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  * <p>The interval provides the following functionality:
  *
  * <ul>
- * <li>Return the supported bounds of the search pointers {@code [start <= 
end]}.
- * <li>Return a pointer {@code j} to the previous index contained in the 
interval from a search point {@code i}.
- * <li>Return a pointer {@code j} to the next index contained in the interval 
from a search point {@code i}.
- * <li>Split the interval around two indices given search points {@code i1} 
and {@code i2}.
+ * <li>Return the supported bounds of the search pointers {@code [start <= 
end]}.</li>
+ * <li>Return a pointer {@code j} to the previous index contained in the 
interval from a search point {@code i}.</li>
+ * <li>Return a pointer {@code j} to the next index contained in the interval 
from a search point {@code i}.</li>
+ * <li>Split the interval around two indices given search points {@code i1} 
and {@code i2}.</li>
  * </ul>
  *
  * <p>Note that the interval provides the supported bounds. If a search begins 
outside
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SelectionPerformance.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SelectionPerformance.java
index 4f9cfed6..ecdbf4d2 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SelectionPerformance.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SelectionPerformance.java
@@ -167,9 +167,9 @@ public class SelectionPerformance {
      * defaults for convenience. Re-use requires:
      *
      * <ol>
-     * <li>Creating an instance of the abstract class that provides the data 
length
-     * <li>Calling {@link #setup()} to create the data
-     * <li>Iterating over the data
+     * <li>Creating an instance of the abstract class that provides the data 
length</li>
+     * <li>Calling {@link #setup()} to create the data</li>
+     * <li>Iterating over the data</li>
      * </ol>
      *
      * <pre>
@@ -1201,13 +1201,13 @@ public class SelectionPerformance {
         private int repeats;
         /** Distribution mode. K indices can be distributed randomly or 
uniformly.
          * <ul>
-         * <li>"random": distribute k indices randomly
-         * <li>"uniform": distribute k indices uniformly but with a random 
start point
-         * <li>"index": Use a single index at k
+         * <li>"random": distribute k indices randomly</li>
+         * <li>"uniform": distribute k indices uniformly but with a random 
start point</li>
+         * <li>"index": Use a single index at k</li>
          * <li>"single": Use a single index at k uniformly spaced points. This 
mode
          * first generates the spacing for the indices. Then samples from that 
spacing
          * using the configured repeats. Common usage of k=10 will have 10 
samples with a
-         * single index, each in a different position.
+         * single index, each in a different position.</li>
          * </ul>
          * <p>If the mode ends with a "s" then the indices are sorted. For 
example "randoms"
          * will sort the random indices.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SplittingInterval.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SplittingInterval.java
index 1504f23c..07b630dd 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SplittingInterval.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/SplittingInterval.java
@@ -22,8 +22,8 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  * <p>The interval provides the following functionality:
  *
  * <ul>
- * <li>Return the supported bounds of the interval {@code [left <= right]}.
- * <li>Split the interval around two indices {@code k1} and {@code k2}.
+ * <li>Return the supported bounds of the interval {@code [left <= 
right]}.</li>
+ * <li>Split the interval around two indices {@code k1} and {@code k2}.</li>
  * </ul>
  *
  * <p>Note that the interval provides the supported bounds. If a split 
invalidates an interval
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/UpdatingInterval.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/UpdatingInterval.java
index 7f2e6406..2097ec47 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/UpdatingInterval.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/UpdatingInterval.java
@@ -22,9 +22,9 @@ package org.apache.commons.numbers.examples.jmh.arrays;
  * <p>The interval provides the following functionality:
  *
  * <ul>
- * <li>Return the supported bounds of the interval {@code [left <= right]}.
- * <li>Update the left or right bound of the interval using an index {@code k} 
inside the interval.
- * <li>Split the interval around two indices {@code k1} and {@code k2}.
+ * <li>Return the supported bounds of the interval {@code [left <= 
right]}.</li>
+ * <li>Update the left or right bound of the interval using an index {@code k} 
inside the interval.</li>
+ * <li>Split the interval around two indices {@code k1} and {@code k2}.</li>
  * </ul>
  *
  * <p>Note that the interval provides the supported bounds. If an index {@code 
k} is
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java
index 0902c302..67a4cba5 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java
@@ -151,8 +151,8 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the low part is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the low part is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the low part is 
0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the low part is NaN.</li>
      * </ul>
      *
      * <p>Note: This does not represent the low part of infinity with zero. 
This is because the
@@ -379,8 +379,8 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.</li>
      * </ul>
      *
      * @param x First factor.
@@ -459,8 +459,8 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.</li>
      * </ul>
      *
      * @param x First factor.
@@ -531,8 +531,8 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.</li>
      * </ul>
      *
      * @param x First factor.
@@ -589,11 +589,11 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
      *  <li>If {@code x * y} is infinite, and {@code x} and {@code y} are 
finite then the
-     *      result is the opposite infinity.
-     *  <li>If {@code x} or {@code y} are infinite then the result is NaN.
-     *  <li>If {@code x * y} is NaN then the result is NaN.
+     *      result is the opposite infinity.</li>
+     *  <li>If {@code x} or {@code y} are infinite then the result is NaN.</li>
+     *  <li>If {@code x * y} is NaN then the result is NaN.</li>
      * </ul>
      *
      * @param x First factor.
@@ -641,8 +641,8 @@ final class DoublePrecision {
      * <p>Special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the result is 0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the result is NaN.</li>
      * </ul>
      *
      * @param x First factor.
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/KolmogorovSmirnovDistribution.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/KolmogorovSmirnovDistribution.java
index c57fc507..d3bb2886 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/KolmogorovSmirnovDistribution.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/KolmogorovSmirnovDistribution.java
@@ -61,10 +61,10 @@ final class KolmogorovSmirnovDistribution {
      * <li>
      * van Mulbregt, P. (2018).
      * <a href="https://doi.org/10.48550/arxiv.1802.06966";>Computing the 
Cumulative Distribution Function and Quantiles of the One-sided 
Kolmogorov-Smirnov Statistic</a>
-     * arxiv:1802.06966.
+     * arxiv:1802.06966.</li>
      * <li>Magg &amp; Dicaire (1971).
      * <a href="https://doi.org/10.1093/biomet/58.3.653";>On Kolmogorov-Smirnov 
Type One-Sample Statistics</a>
-     * Biometrika 58.3 pp. 653–656.
+     * Biometrika 58.3 pp. 653–656.</li>
      * </ol>
      *
      * @since 1.1
diff --git 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/SDD.java
 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/SDD.java
index d3413fa3..e3435443 100644
--- 
a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/SDD.java
+++ 
b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/SDD.java
@@ -44,15 +44,15 @@ package org.apache.commons.numbers.examples.jmh.core;
  * Dekker, T.J. (1971)
  * <a href="https://doi.org/10.1007/BF01397083";>
  * A floating-point technique for extending the available precision</a>
- * Numerische Mathematik, 18:224–242.
+ * Numerische Mathematik, 18:224–242.</li>
  * <li>
  * Shewchuk, J.R. (1997)
  * <a 
href="https://www-2.cs.cmu.edu/afs/cs/project/quake/public/papers/robust-arithmetic.ps";>
- * Arbitrary Precision Floating-Point Arithmetic</a>.
+ * Arbitrary Precision Floating-Point Arithmetic</a>.</li>
  * <li>
  * Hide, Y, Li, X.S. and Bailey, D.H. (2008)
  * <a href="https://www.davidhbailey.com/dhbpapers/qd.pdf";>
- * Library for Double-Double and Quad-Double Arithmetic</a>.
+ * Library for Double-Double and Quad-Double Arithmetic</a>.</li>
  * </ol>
  *
  * @since 1.2
@@ -427,8 +427,8 @@ final class SDD {
      * <p>This creates the following special cases:
      *
      * <ul>
-     *  <li>If {@code x * y} is sub-normal or zero then the low part is 0.0.
-     *  <li>If {@code x * y} is infinite or NaN then the low part is NaN.
+     *  <li>If {@code x * y} is sub-normal or zero then the low part is 
0.0.</li>
+     *  <li>If {@code x * y} is infinite or NaN then the low part is NaN.</li>
      * </ul>
      *
      * @param x First factor.
@@ -1036,12 +1036,12 @@ final class SDD {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If {@code x} is zero, then the normalized fraction is zero and the 
exponent is zero.
-     * <li>If {@code x} is NaN, then the normalized fraction is NaN and the 
exponent is unspecified.
-     * <li>If {@code x} is infinite, then the normalized fraction is infinite 
and the exponent is unspecified.
+     * <li>If {@code x} is zero, then the normalized fraction is zero and the 
exponent is zero.</li>
+     * <li>If {@code x} is NaN, then the normalized fraction is NaN and the 
exponent is unspecified.</li>
+     * <li>If {@code x} is infinite, then the normalized fraction is infinite 
and the exponent is unspecified.</li>
      * <li>If high-part {@code x} is an exact power of 2 and the low-part 
{@code xx} has an opposite
      * signed non-zero magnitude then fraction high-part {@code f} will be 
{@code +/-1} such that
-     * the double-double number is in the range {@code [0.5, 1)}.
+     * the double-double number is in the range {@code [0.5, 1)}.</li>
      * </ul>
      *
      * <p>This is named using the equivalent function in the standard C math.h 
library.
@@ -1102,8 +1102,8 @@ final class SDD {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is NaN or infinite, then the result is {@link 
Double#MAX_EXPONENT} + 1.
-     * <li>If the argument is zero, then the result is {@link 
Double#MAX_EXPONENT} + 1.
+     * <li>If the argument is NaN or infinite, then the result is {@link 
Double#MAX_EXPONENT} + 1.</li>
+     * <li>If the argument is zero, then the result is {@link 
Double#MAX_EXPONENT} + 1.</li>
      * </ul>
      *
      * @param a Value.
@@ -1149,15 +1149,15 @@ final class SDD {
      * <p>Special cases:
      * <ul>
      * <li>If {@code (x, xx)} is zero the high part of the fractional part is
-     * computed using {@link Math#pow(double, double) Math.pow(x, n)} and the 
exponent is 0.
-     * <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 1.
+     * computed using {@link Math#pow(double, double) Math.pow(x, n)} and the 
exponent is 0.</li>
+     * <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 
1.</li>
      * <li>If {@code (x, xx)} is an exact power of 2 the fractional part is 
0.5 and the exponent
-     * is the power of 2 minus 1.
+     * is the power of 2 minus 1.</li>
      * <li>If the result high-part is an exact power of 2 and the low-part has 
an opposite
      * signed non-zero magnitude then the fraction high-part {@code f} will be 
{@code +/-1} such that
      * the double-double number is in the range {@code [0.5, 1)}.
      * <p>If the argument is not finite then a fractional representation is 
not possible.
-     * In this case the fraction and the scale factor is undefined.
+     * In this case the fraction and the scale factor is undefined.</li>
      * </ul>
      *
      * <p>Note: This method returns the exponent to avoid using an {@code 
long[] exp} argument
@@ -1314,15 +1314,15 @@ final class SDD {
      * <p>Special cases:
      * <ul>
      * <li>If {@code (x, xx)} is zero the high part of the fractional part is
-     * computed using {@link Math#pow(double, double) Math.pow(x, n)} and the 
exponent is 0.
-     * <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 1.
+     * computed using {@link Math#pow(double, double) Math.pow(x, n)} and the 
exponent is 0.</li>
+     * <li>If {@code n = 0} the fractional part is 0.5 and the exponent is 
1.</li>
      * <li>If {@code (x, xx)} is an exact power of 2 the fractional part is 
0.5 and the exponent
-     * is the power of 2 minus 1.
+     * is the power of 2 minus 1.</li>
      * <li>If the result high-part is an exact power of 2 and the low-part has 
an opposite
      * signed non-zero magnitude then the fraction high-part {@code f} will be 
{@code +/-1} such that
      * the double-double number is in the range {@code [0.5, 1)}.
      * <p>If the argument is not finite then a fractional representation is 
not possible.
-     * In this case the fraction and the scale factor is undefined.
+     * In this case the fraction and the scale factor is undefined.</li>
      * </ul>
      *
      * <p>Note: This method returns the exponent to avoid using an {@code 
long[] exp} argument
diff --git 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
index 2bf62154..611d868f 100644
--- 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
+++ 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
@@ -110,10 +110,10 @@ public final class BigFraction
      * </p>
      * <ul>
      *  <li>EITHER a valid epsilon value and the maxDenominator set to
-     *      Integer.MAX_VALUE (that way the maxDenominator has no effect)
+     *      Integer.MAX_VALUE (that way the maxDenominator has no effect)</li>
      *  <li>OR a valid maxDenominator value and the epsilon value set to
      *      zero (that way epsilon only has effect if there is an exact
-     *      match before the maxDenominator value is reached).
+     *      match before the maxDenominator value is reached).</li>
      * </ul>
      * <p>
      * It has been done this way so that the same code can be reused for
@@ -1022,9 +1022,9 @@ public final class BigFraction
      * Returns the {@code String} representing this fraction.
      * Uses:
      * <ul>
-     *  <li>{@code "0"} if {@code numerator} is zero.
-     *  <li>{@code "numerator"} if {@code denominator} is one.
-     *  <li>{@code "numerator / denominator"} for all other cases.
+     *  <li>{@code "0"} if {@code numerator} is zero.</li>
+     *  <li>{@code "numerator"} if {@code denominator} is one.</li>
+     *  <li>{@code "numerator / denominator"} for all other cases.</li>
      * </ul>
      *
      * @return a string representation of the fraction.
diff --git 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
index e9280ff9..38f16024 100644
--- 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
+++ 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
@@ -125,10 +125,10 @@ public final class Fraction
      * NOTE: This constructor is called with:
      * <ul>
      *  <li>EITHER a valid epsilon value and the maxDenominator set to
-     *      Integer.MAX_VALUE (that way the maxDenominator has no effect)
+     *      Integer.MAX_VALUE (that way the maxDenominator has no effect)</li>
      *  <li>OR a valid maxDenominator value and the epsilon value set to
      *      zero (that way epsilon only has effect if there is an exact
-     *      match before the maxDenominator value is reached).
+     *      match before the maxDenominator value is reached).</li>
      * </ul>
      * <p>
      * It has been done this way so that the same code can be reused for
@@ -827,9 +827,9 @@ public final class Fraction
      * Returns the {@code String} representing this fraction.
      * Uses:
      * <ul>
-     *  <li>{@code "0"} if {@code numerator} is zero.
-     *  <li>{@code "numerator"} if {@code denominator} is one.
-     *  <li>{@code "numerator / denominator"} for all other cases.
+     *  <li>{@code "0"} if {@code numerator} is zero.</li>
+     *  <li>{@code "numerator"} if {@code denominator} is one.</li>
+     *  <li>{@code "numerator / denominator"} for all other cases.</li>
      * </ul>
      *
      * @return a string representation of the fraction.
diff --git 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/GeneralizedContinuedFraction.java
 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/GeneralizedContinuedFraction.java
index abe68401..130f772d 100644
--- 
a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/GeneralizedContinuedFraction.java
+++ 
b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/GeneralizedContinuedFraction.java
@@ -222,9 +222,9 @@ public final class GeneralizedContinuedFraction {
      * Both of the first generated terms a and b are used. This fraction 
evaluation
      * can be used when:
      * <ul>
-     *  <li>b<sub>0</sub> is not part of a regular series
-     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component
-     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero
+     *  <li>b<sub>0</sub> is not part of a regular series</li>
+     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component</li>
+     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero</li>
      * </ul>
      *
      * @param b0 Coefficient b<sub>0</sub>.
@@ -245,9 +245,9 @@ public final class GeneralizedContinuedFraction {
      * Both of the first generated terms a and b are used. This fraction 
evaluation
      * can be used when:
      * <ul>
-     *  <li>b<sub>0</sub> is not part of a regular series
-     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component
-     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero
+     *  <li>b<sub>0</sub> is not part of a regular series</li>
+     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component</li>
+     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero</li>
      * </ul>
      *
      * @param b0 Coefficient b<sub>0</sub>.
@@ -280,9 +280,9 @@ public final class GeneralizedContinuedFraction {
      * Both of the first generated terms a and b are used. This fraction 
evaluation
      * can be used when:
      * <ul>
-     *  <li>b<sub>0</sub> is not part of a regular series
-     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component
-     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero
+     *  <li>b<sub>0</sub> is not part of a regular series</li>
+     *  <li>b<sub>0</sub> is zero and the result will evaluate only the 
continued fraction component</li>
+     *  <li>b<sub>0</sub> is very small and the result is expected to approach 
zero</li>
      * </ul>
      *
      * <p><b>Usage Note</b>
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erf.java 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erf.java
index 6d86f6e1..02845317 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erf.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erf.java
@@ -36,10 +36,10 @@ public final class Erf {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is 0, then the result is 0.
-     * <li>If the argument is {@code > 6}, then the result is 1.
-     * <li>If the argument is {@code < 6}, then the result is -1.
-     * <li>If the argument is nan, then the result is nan.
+     * <li>If the argument is 0, then the result is 0.</li>
+     * <li>If the argument is {@code > 6}, then the result is 1.</li>
+     * <li>If the argument is {@code < 6}, then the result is -1.</li>
+     * <li>If the argument is nan, then the result is nan.</li>
      * </ul>
      *
      * @param x the value.
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfc.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfc.java
index 1becf570..c74197ec 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfc.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfc.java
@@ -39,10 +39,10 @@ public final class Erfc {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is 0, then the result is 1.
-     * <li>If the argument is {@code > 28}, then the result is 0.
-     * <li>If the argument is {@code < 6}, then the result is 2.
-     * <li>If the argument is nan, then the result is nan.
+     * <li>If the argument is 0, then the result is 1.</li>
+     * <li>If the argument is {@code > 28}, then the result is 0.</li>
+     * <li>If the argument is {@code < 6}, then the result is 2.</li>
+     * <li>If the argument is nan, then the result is nan.</li>
      * </ul>
      *
      * @param x Value.
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfcx.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfcx.java
index 486eb1ad..65509789 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfcx.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Erfcx.java
@@ -39,10 +39,10 @@ public final class Erfcx {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is 0, then the result is 1.
-     * <li>If the argument is +infinity, then the result is 0.
-     * <li>If the argument is negative and {@code exp(x*x)} is infinite, then 
the result is +infinity.
-     * <li>If the argument is nan, then the result is nan.
+     * <li>If the argument is 0, then the result is 1.</li>
+     * <li>If the argument is +infinity, then the result is 0.</li>
+     * <li>If the argument is negative and {@code exp(x*x)} is infinite, then 
the result is +infinity.</li>
+     * <li>If the argument is nan, then the result is nan.</li>
      * </ul>
      *
      * @param x Value.
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Gamma.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Gamma.java
index 5a9a58e3..c0186ffb 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Gamma.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/Gamma.java
@@ -28,9 +28,9 @@ package org.apache.commons.numbers.gamma;
  * <p>This code has been adapted from:
  * <ul>
  *  <li>The <a href="https://www.boost.org/";>Boost</a>
- *      {@code c++} implementation {@code 
<boost/math/special_functions/gamma.hpp>}.
+ *      {@code c++} implementation {@code 
<boost/math/special_functions/gamma.hpp>}.</li>
  *  <li>The <em>NSWC Library of Mathematics Subroutines</em> double
- *      precision implementation, {@code DGAMMA}.
+ *      precision implementation, {@code DGAMMA}.</li>
  * </ul>
  *
  * @see
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/GammaRatio.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/GammaRatio.java
index f9247638..c6a1f424 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/GammaRatio.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/GammaRatio.java
@@ -25,7 +25,7 @@ package org.apache.commons.numbers.gamma;
  * <p>This code has been adapted from:
  * <ul>
  *  <li>The <a href="https://www.boost.org/";>Boost</a>
- *      {@code c++} implementation {@code 
<boost/math/special_functions/gamma.hpp>}.
+ *      {@code c++} implementation {@code 
<boost/math/special_functions/gamma.hpp>}.</li>
  * </ul>
  *
  * @see
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErf.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErf.java
index e264b4be..e9b378aa 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErf.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErf.java
@@ -30,11 +30,11 @@ public final class InverseErf {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is 0, then the result is 0.
-     * <li>If the argument is 1, then the result is positive infinity.
-     * <li>If the argument is -1, then the result is negative infinity.
-     * <li>If the argument is outside the interval {@code [-1, 1]}, then the 
result is nan.
-     * <li>If the argument is nan, then the result is nan.
+     * <li>If the argument is 0, then the result is 0.</li>
+     * <li>If the argument is 1, then the result is positive infinity.</li>
+     * <li>If the argument is -1, then the result is negative infinity.</li>
+     * <li>If the argument is outside the interval {@code [-1, 1]}, then the 
result is nan.</li>
+     * <li>If the argument is nan, then the result is nan.</li>
      * </ul>
      *
      * @param x Value (in {@code [-1, 1]})
diff --git 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErfc.java
 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErfc.java
index 8ac7c252..53503cc3 100644
--- 
a/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErfc.java
+++ 
b/commons-numbers-gamma/src/main/java/org/apache/commons/numbers/gamma/InverseErfc.java
@@ -30,11 +30,11 @@ public final class InverseErfc {
      *
      * <p>Special cases:
      * <ul>
-     * <li>If the argument is 1, then the result is 0.
-     * <li>If the argument is 0, then the result is positive infinity.
-     * <li>If the argument is 2, then the result is negative infinity.
-     * <li>If the argument is outside the interval {@code [0, 2]}, then the 
result is nan.
-     * <li>If the argument is nan, then the result is nan.
+     * <li>If the argument is 1, then the result is 0.</li>
+     * <li>If the argument is 0, then the result is positive infinity.</li>
+     * <li>If the argument is 2, then the result is negative infinity.</li>
+     * <li>If the argument is outside the interval {@code [0, 2]}, then the 
result is nan.</li>
+     * <li>If the argument is nan, then the result is nan.</li>
      * </ul>
      *
      * @param x Value (in {@code [0, 2]})

Reply via email to