public class ComplexPerformance extends Object
Complex
class.Modifier and Type | Class and Description |
---|---|
static class |
ComplexPerformance.ComplexAndRealNumbers
Contains an array of complex numbers and an array of real numbers.
|
static class |
ComplexPerformance.ComplexNumbers
Contains an array of complex numbers.
|
static class |
ComplexPerformance.ComplexNumberSize
Contains the size of numbers.
|
static class |
ComplexPerformance.TwoComplexNumbers
Contains two arrays of complex numbers.
|
Constructor and Description |
---|
ComplexPerformance() |
public double[] real2(ComplexPerformance.ComplexNumbers numbers)
real(ComplexNumbers)
.
This is commented out as it exists for reference purposes.public Complex[] conj2(ComplexPerformance.ComplexNumbers numbers)
conj(ComplexNumbers)
.
This is commented out as it exists for reference purposes.public Complex[] baselineNewArray(ComplexPerformance.ComplexNumberSize numberSize)
public Complex[] baselineCopyArray(ComplexPerformance.ComplexNumbers numbers)
baselineCopy(ComplexNumbers)
is not being optimised to a single array copy
operation.public Complex[] baselineIdentity(ComplexPerformance.ComplexNumbers numbers)
Note: This runs much faster than baselineCopy(ComplexNumbers)
. This is
attributed to the identity function not requiring that the fields of the
complex are accessed unlike all other methods that do computations on the real and/or
imaginary parts. The method is slower than a creation of a new empty array or a
copy array thus contains the loop overhead of the benchmarks that create new numbers.
public Complex[] baselineCopy(ComplexPerformance.ComplexNumbers numbers)
public boolean[] isNaN(ComplexPerformance.ComplexNumbers numbers)
public boolean[] isInfinite(ComplexPerformance.ComplexNumbers numbers)
public boolean[] isFinite(ComplexPerformance.ComplexNumbers numbers)
public double[] real(ComplexPerformance.ComplexNumbers numbers)
public double[] imag(ComplexPerformance.ComplexNumbers numbers)
public double[] abs(ComplexPerformance.ComplexNumbers numbers)
public double[] arg(ComplexPerformance.ComplexNumbers numbers)
public double[] norm(ComplexPerformance.ComplexNumbers numbers)
public double[] sqrtNorm(ComplexPerformance.ComplexNumbers numbers)
public double[] absMathHypot(ComplexPerformance.ComplexNumbers numbers)
Math.hypot(double, double)
method
is not as fast as the custom implementation in abs().public Complex[] conj(ComplexPerformance.ComplexNumbers numbers)
public Complex[] negate(ComplexPerformance.ComplexNumbers numbers)
public Complex[] proj(ComplexPerformance.ComplexNumbers numbers)
public Complex[] cos(ComplexPerformance.ComplexNumbers numbers)
public Complex[] cosh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] exp(ComplexPerformance.ComplexNumbers numbers)
public Complex[] log(ComplexPerformance.ComplexNumbers numbers)
public Complex[] log10(ComplexPerformance.ComplexNumbers numbers)
public Complex[] sin(ComplexPerformance.ComplexNumbers numbers)
public Complex[] sinh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] sqrt(ComplexPerformance.ComplexNumbers numbers)
public Complex[] tan(ComplexPerformance.ComplexNumbers numbers)
public Complex[] tanh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] acos(ComplexPerformance.ComplexNumbers numbers)
public Complex[] acosh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] asin(ComplexPerformance.ComplexNumbers numbers)
public Complex[] asinh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] atan(ComplexPerformance.ComplexNumbers numbers)
public Complex[] atanh(ComplexPerformance.ComplexNumbers numbers)
public Complex[] pow(ComplexPerformance.TwoComplexNumbers numbers)
public Complex[] multiply(ComplexPerformance.TwoComplexNumbers numbers)
public Complex[] divide(ComplexPerformance.TwoComplexNumbers numbers)
public Complex[] add(ComplexPerformance.TwoComplexNumbers numbers)
public Complex[] subtract(ComplexPerformance.TwoComplexNumbers numbers)
public Complex[] powReal(ComplexPerformance.ComplexAndRealNumbers numbers)
public Complex[] multiplyReal(ComplexPerformance.ComplexAndRealNumbers numbers)
public Complex[] divideReal(ComplexPerformance.ComplexAndRealNumbers numbers)
public Complex[] addReal(ComplexPerformance.ComplexAndRealNumbers numbers)
public Complex[] subtractReal(ComplexPerformance.ComplexAndRealNumbers numbers)
Copyright © 2017–2020 The Apache Software Foundation. All rights reserved.