com.perisic.ring
Class DoubleField

java.lang.Object
  extended by com.perisic.ring.Ring
      extended by com.perisic.ring.DoubleField

public class DoubleField
extends Ring

The real numbers. This is a wrapper class for the primitive Java data type double. This class is not yet fully documented, but methods are similar to the the methods of Ring.Z. This class cannot be instantiated as there is no public constructor. Use Ring.R instead.

Version:
0.2
Author:
Marc Conrad

Field Summary
static DoubleField R
           
 
Fields inherited from class com.perisic.ring.Ring
C, F2, Q, Z
 
Method Summary
 RingElt add(RingElt a, RingElt b)
          Addition.
 boolean equalZero(RingElt b)
          true if b == 0.
 RingElt inv(RingElt a)
          Multiplicative Inverse.
 boolean isField()
          Returns true.
 RingElt map(double r)
          Maps a double to this field.
 RingElt map(java.lang.String str)
          Returns str as a DoubleField.
 RingElt mult(RingElt a, RingElt b)
          Multiplication.
 RingElt neg(RingElt b)
          The additive inverse of b.
 RingElt one()
          The 1 of the field.
static double toDouble(RingElt b)
          returns the double value of b.
 java.lang.String toString()
           
 RingElt zero()
          The 0 of the field.
 
Methods inherited from class com.perisic.ring.Ring
div, ediv, eltToString, equal, evaluatePolynomial, gcd, isEuclidian, isUFD, map, map, map, map, mod, pow, pow, sub, tdiv
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

R

public static final DoubleField R
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
"R"

isField

public boolean isField()
Returns true. To be honest, DoubleField is of course not a field. It's not even associative concerning addition (the usual problems concerning real arithmetic in a computer). But for our purposes here it seems wise to return true anyway.

Overrides:
isField in class Ring
Returns:
true

add

public RingElt add(RingElt a,
                   RingElt b)
Addition.

Specified by:
add in class Ring
Returns:
a + b.

mult

public RingElt mult(RingElt a,
                    RingElt b)
Multiplication.

Specified by:
mult in class Ring
Returns:
a * b

inv

public RingElt inv(RingElt a)
Multiplicative Inverse.

Overrides:
inv in class Ring
Returns:
a^-1

one

public RingElt one()
The 1 of the field.

Overrides:
one in class Ring
Returns:
1

zero

public RingElt zero()
The 0 of the field.

Specified by:
zero in class Ring
Returns:
0

neg

public RingElt neg(RingElt b)
The additive inverse of b.

Specified by:
neg in class Ring
Returns:
-b

equalZero

public boolean equalZero(RingElt b)
true if b == 0.

Specified by:
equalZero in class Ring
Returns:
b == 0

toDouble

public static double toDouble(RingElt b)
returns the double value of b.

Returns:
the double value of b.

map

public RingElt map(double r)
Maps a double to this field.

Returns:
r as an element of this Field.

map

public RingElt map(java.lang.String str)
Returns str as a DoubleField. Tries first to map str via java.lang.Double.valueOf(java.lang.String).toDouble(). If this fails the Ring.map(java.lang.String) method is called.

Overrides:
map in class Ring
Returns:
str as element of this Field.
See Also:
Double.parseDouble(java.lang.String)., Ring.map(java.lang.String).