|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--SIDL.DoubleComplex
This class implements complex numbers. It provides the basic operations
(addition, subtraction, multiplication, division) as well as a set of
complex functions.
The binary operations have the form, where op is plus
,
minus
, times
or over
.
public static DoubleComplex op(DoubleComplex x, DoubleComplex y) // x op y public static DoubleComplex op(DoubleComplex x, double y) // x op y public static DoubleComplex op(double x, DoubleComplex y) // x op y public DoubleComplex op(DoubleComplex y) // this op y public DoubleComplex op(double y) // this op y public DoubleComplex opReverse(double x) // x op thisThe functions in this class follow the rules for complex arithmetic as defined C9x Annex G:"IEC 559-compatible complex arithmetic." The API is not the same, but handling of infinities, NaNs, and positive and negative zeros is intended to follow the same rules. This class depends on the standard java.lang.Math class following certain rules, as defined in the C9x Annex F, for the handling of infinities, NaNs, and positive and negative zeros. Sun's specification is that java.lang.Math should reproduce the results in the Sun's fdlibm C library. This library appears to follow the Annex F specification. At least on Windows, Sun's JDK 1.0 and 1.1 do NOT follow this specification. Sun's JDK 1.2(RC2) does follow the Annex F specification. Thesefore, this class will not give the expected results for edge cases with JDK 1.0 and 1.1.
Nested Class Summary | |
static class |
DoubleComplex.Array
Define a one dimensional array of type SIDL.DoubleComplex
for the SIDL Java run-time. |
static class |
DoubleComplex.Array1
Define a one dimensional array of type SIDL.DoubleComplex . |
static class |
DoubleComplex.Array2
Define a two dimensional array of type SIDL.DoubleComplex . |
static class |
DoubleComplex.Array3
Define a three dimensional array of type SIDL.DoubleComplex . |
static class |
DoubleComplex.Array4
Define a four dimensional array of type SIDL.DoubleComplex . |
static class |
DoubleComplex.Holder
This is the holder inner class for inout and out arguments for type DoubleComplex . |
Field Summary | |
static java.lang.String |
suffix
String used in converting DoubleComplex to String. |
Constructor Summary | |
DoubleComplex()
Constructs a DoubleComplex equal to zero. |
|
DoubleComplex(double re)
Constructs a DoubleComplex with a zero imaginary part. |
|
DoubleComplex(DoubleComplex z)
Constructs a DoubleComplex equal to the argument. |
|
DoubleComplex(double re,
double im)
Constructs a DoubleComplex with real and imaginary parts given by the input arguments. |
Method Summary | |
static double |
abs(DoubleComplex z)
Returns the absolute value (modulus) of a DoubleComplex, |z|. |
static DoubleComplex |
acos(DoubleComplex z)
Returns the inverse cosine (arc cosine) of a DoubleComplex, with branch cuts outside the interval [-1,1] along the real axis. |
static DoubleComplex |
acosh(DoubleComplex z)
Returns the inverse hyperbolic cosine (arc cosh) of a DoubleComplex, with a branch cut at values less than one along the real axis. |
static double |
argument(DoubleComplex z)
Returns the argument (phase) of a DoubleComplex, in radians, with a branch cut along the negative real axis. |
static DoubleComplex |
asin(DoubleComplex z)
Returns the inverse sine (arc sine) of a DoubleComplex, with branch cuts outside the interval [-1,1] along the real axis. |
static DoubleComplex |
asinh(DoubleComplex z)
Returns the inverse hyperbolic sine (arc sinh) of a DoubleComplex, with a branch cuts outside the interval [-i,i]. |
static DoubleComplex |
atan(DoubleComplex z)
Returns the inverse tangent (arc tangent) of a DoubleComplex, with branch cuts outside the interval [-i,i] along the imaginary axis. |
static DoubleComplex |
atanh(DoubleComplex z)
Returns the inverse hyperbolic tangent (arc tanh) of a DoubleComplex, with a branch cuts outside the interval [-1,1] on the real axis. |
static DoubleComplex |
conjugate(DoubleComplex z)
Returns the complex conjugate of a DoubleComplex object. |
static DoubleComplex |
cos(DoubleComplex z)
Returns the cosine of a DoubleComplex. |
static DoubleComplex |
cosh(DoubleComplex z)
Returns the hyperbolic cosh of a DoubleComplex. |
boolean |
equals(DoubleComplex z)
Compares with another DoubleComplex. |
boolean |
equals(java.lang.Object obj)
Compares this object against the specified object. |
static DoubleComplex |
exp(DoubleComplex z)
Returns the exponential of a DoubleComplex z, exp(z). |
int |
hashCode()
Returns a hashcode for this DoubleComplex. |
double |
imag()
Returns the imaginary part of a DoubleComplex object. |
static double |
imag(DoubleComplex z)
Returns the imaginary part of a DoubleComplex object. |
static DoubleComplex |
log(DoubleComplex z)
Returns the logarithm of a DoubleComplex z, with a branch cut along the negative real axis. |
DoubleComplex |
minus(double y)
Subtracts a double from this DoubleComplex and returns the difference, this-y. |
DoubleComplex |
minus(DoubleComplex y)
Returns the difference of this DoubleComplex object and another DoubleComplex object, this-y. |
static DoubleComplex |
minus(DoubleComplex x,
double y)
Returns the difference of a DoubleComplex object and a double, x-y. |
static DoubleComplex |
minus(DoubleComplex x,
DoubleComplex y)
Returns the difference of two DoubleComplex objects, x-y. |
static DoubleComplex |
minus(double x,
DoubleComplex y)
Returns the difference of a double and a DoubleComplex object, x-y. |
DoubleComplex |
minusReverse(double x)
Returns the difference of this DoubleComplex object and a double, this-y. |
static DoubleComplex |
negative(DoubleComplex z)
Returns the negative of a DoubleComplex object, -z. |
DoubleComplex |
over(double y)
Returns this DoubleComplex object divided by double, this/y. |
DoubleComplex |
over(DoubleComplex y)
Returns this DoubleComplex object divided by another DoubleComplex object, this/y. |
static DoubleComplex |
over(DoubleComplex x,
double y)
Returns DoubleComplex object divided by a double, x/y. |
static DoubleComplex |
over(DoubleComplex x,
DoubleComplex y)
Returns DoubleComplex object divided by a DoubleComplex object, x/y. |
static DoubleComplex |
over(double x,
DoubleComplex y)
Returns a double divided by a DoubleComplex object, x/y. |
DoubleComplex |
overReverse(double x)
Returns a double dividied by this DoubleComplex object, x/this. |
DoubleComplex |
plus(double y)
Returns the sum of this DoubleComplex a double, this+y. |
DoubleComplex |
plus(DoubleComplex y)
Returns the sum of this DoubleComplex and another DoubleComplex, this+y. |
static DoubleComplex |
plus(DoubleComplex x,
double y)
Returns the sum of a DoubleComplex and a double, x+y. |
static DoubleComplex |
plus(DoubleComplex x,
DoubleComplex y)
Returns the sum of two DoubleComplex objects, x+y. |
static DoubleComplex |
plus(double x,
DoubleComplex y)
Returns the sum of a double and a DoubleComplex, x+y. |
DoubleComplex |
plusReverse(double x)
Returns the sum of this DoubleComplex and a double, x+this. |
static DoubleComplex |
pow(DoubleComplex z,
double x)
Returns the DoubleComplex z raised to the x power, with a branch cut for the first parameter (z) along the negative real axis. |
static DoubleComplex |
pow(DoubleComplex x,
DoubleComplex y)
Returns the DoubleComplex x raised to the DoubleComplex y power. |
double |
real()
Returns the real part of a DoubleComplex object. |
static double |
real(DoubleComplex z)
Returns the real part of a DoubleComplex object. |
void |
set(double real,
double imag)
Set the real and imaginary parts of the DoubleComplex object. |
static DoubleComplex |
sin(DoubleComplex z)
Returns the sine of a DoubleComplex. |
static DoubleComplex |
sinh(DoubleComplex z)
Returns the hyperbolic sine of a DoubleComplex. |
static DoubleComplex |
sqrt(DoubleComplex z)
Returns the square root of a DoubleComplex, with a branch cut along the negative real axis. |
static DoubleComplex |
tan(DoubleComplex z)
Returns the tangent of a DoubleComplex. |
static DoubleComplex |
tanh(DoubleComplex z)
Returns the hyperbolic tanh of a DoubleComplex. |
DoubleComplex |
times(double y)
Returns the product of this DoubleComplex object and a double, this*y. |
DoubleComplex |
times(DoubleComplex y)
Returns the product of this DoubleComplex object and another DoubleComplex object, this*y. |
static DoubleComplex |
times(DoubleComplex x,
double y)
Returns the product of a DoubleComplex object and a double, x*y. |
static DoubleComplex |
times(DoubleComplex x,
DoubleComplex y)
Returns the product of two DoubleComplex objects, x*y. |
static DoubleComplex |
times(double x,
DoubleComplex y)
Returns the product of a double and a DoubleComplex object, x*y. |
DoubleComplex |
timesReverse(double x)
Returns the product of a double and this DoubleComplex, x*this. |
java.lang.String |
toString()
Returns a String representation for the specified DoubleComplex. |
static DoubleComplex |
valueOf(java.lang.String s)
Parses a string into a DoubleComplex. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static java.lang.String suffix
Constructor Detail |
public DoubleComplex(DoubleComplex z)
z
- A DoubleComplex object
If z is null then a NullPointerException is thrown.public DoubleComplex(double re, double im)
re
- A double value equal to the real part of the
DoubleComplex object.im
- A double value equal to the imaginary part of
the DoubleComplex object.public DoubleComplex(double re)
re
- A double value equal to the real part of DoubleComplex object.public DoubleComplex()
Method Detail |
public boolean equals(DoubleComplex z)
Note: To be useful in hashtables this method considers two NaN double values to be equal. This is not according to IEEE specification.
z
- A DoubleComplex object.
public boolean equals(java.lang.Object obj)
Note: To be useful in hashtables this method considers two NaN double values to be equal. This is not according to IEEE specification
equals
in class java.lang.Object
obj
- The object to compare with.
public int hashCode()
hashCode
in class java.lang.Object
public double real()
public double imag()
public void set(double real, double imag)
public static double real(DoubleComplex z)
z
- A DoubleComplex object.
public static double imag(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex negative(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex conjugate(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex plus(DoubleComplex x, DoubleComplex y)
x
- A DoubleComplex object.y
- A DoubleComplex object.
public static DoubleComplex plus(DoubleComplex x, double y)
x
- A DoubleComplex object.y
- A double value.
public static DoubleComplex plus(double x, DoubleComplex y)
x
- A double value.y
- A DoubleComplex object.
public DoubleComplex plus(DoubleComplex y)
y
- A DoubleComplex object.
public DoubleComplex plus(double y)
y
- A double value.
public DoubleComplex plusReverse(double x)
x
- A double value.
public static DoubleComplex minus(DoubleComplex x, DoubleComplex y)
x
- A DoubleComplex object.y
- A DoubleComplex object.
public static DoubleComplex minus(DoubleComplex x, double y)
x
- A DoubleComplex object.y
- A double value.
public static DoubleComplex minus(double x, DoubleComplex y)
x
- A double value.y
- A DoubleComplex object.
public DoubleComplex minus(DoubleComplex y)
y
- A DoubleComplex object.
public DoubleComplex minus(double y)
y
- A double value.
public DoubleComplex minusReverse(double x)
public static DoubleComplex times(DoubleComplex x, DoubleComplex y)
x
- A DoubleComplex object.y
- A DoubleComplex object.
public static DoubleComplex times(DoubleComplex x, double y)
x
- A DoubleComplex object.y
- A double value.
public static DoubleComplex times(double x, DoubleComplex y)
x
- A double value.y
- A DoubleComplex object.
public DoubleComplex times(DoubleComplex y)
y
- A DoubleComplex object.
public DoubleComplex times(double y)
y
- A double value.
public DoubleComplex timesReverse(double x)
public static DoubleComplex over(DoubleComplex x, DoubleComplex y)
x
- The numerator, a DoubleComplex object.y
- The denominator, a DoubleComplex object.
public static DoubleComplex over(DoubleComplex x, double y)
x
- The numerator, a DoubleComplex object.y
- The denominator, a double.
public static DoubleComplex over(double x, DoubleComplex y)
x
- A double value.y
- The denominator, a DoubleComplex object.
public DoubleComplex over(DoubleComplex y)
y
- The denominator, a DoubleComplex object.
public DoubleComplex over(double y)
y
- The denominator, a double.
public DoubleComplex overReverse(double x)
x
- The numerator, a double.
public static double abs(DoubleComplex z)
z
- A DoubleComplex object.
public static double argument(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex sqrt(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex exp(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex log(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex sin(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex cos(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex tan(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex asin(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex acos(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex atan(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex sinh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex cosh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex tanh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex pow(DoubleComplex z, double x)
z
- A DoubleComplex object.x
- A double value.
public static DoubleComplex asinh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex acosh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex atanh(DoubleComplex z)
z
- A DoubleComplex object.
public static DoubleComplex pow(DoubleComplex x, DoubleComplex y)
x
- A DoubleComplex object.y
- A DoubleComplex object.
public java.lang.String toString()
toString
in class java.lang.Object
public static DoubleComplex valueOf(java.lang.String s) throws java.lang.NumberFormatException
s
- The string to be parsed.
java.lang.NumberFormatException
- If the string does not contain
a parsable DoubleComplex number.
java.lang.NullPointerException
- If the input argument is null.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |