On Thu, 22 Jan 2026 00:35:05 GMT, Joe Darcy <[email protected]> wrote:
> First cut at a version of complex numbers using the textbook algorithms for
> the arithmetic operations. This version is intended for prototyping and _not_
> for production use.
Since the HTML markup in the javadoc for the arithmetic methods is hard to
read, here is a copy and past of the rendered text:
public static ComplexTextbook add(ComplexTextbook addend, ComplexTextbook
augend)
Addition operation, binary "+".
Implementation Requirements:
The computed sum is equivalent to (a + c) + i·(b + d).
public static ComplexTextbook subtract(ComplexTextbook minuend, ComplexTextbook
subtrahend)
Subtraction operation, binary "-".
Implementation Requirements:
The computed difference is equivalent to (a − c) + i·(b − d).
public static ComplexTextbook multiply(ComplexTextbook multiplier,
ComplexTextbook multiplicand)
Multiplication operation, "*".
API Note:
WARNING: while simple, the calculation technique used by this method is
subject to spurious underflow and overflow as well as inaccurate component-wise
results.
Implementation Requirements:
The computed product is calculated by (ac − bd) + i·(ad + bc)
public static ComplexTextbook divide(ComplexTextbook dividend, ComplexTextbook
divisor)
Division operation, "/".
API Note:
TODO: Bad numerical things can happen warning...
Implementation Requirements:
The computed quotient is calculated by (ac + bd)/(c² + d²) + i*(bc −
ad)/(c² + d²)
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/1942#issuecomment-3782608915