gov.sandia.cognition.math
Class AbstractEuclideanRing<RingType extends EuclideanRing<RingType>>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.math.AbstractRing<RingType>
          extended by gov.sandia.cognition.math.AbstractEuclideanRing<RingType>
Type Parameters:
RingType - The type of Euclidean ring that this is defined over.
All Implemented Interfaces:
EuclideanRing<RingType>, Ring<RingType>, CloneableSerializable, Serializable, Cloneable
Direct Known Subclasses:
AbstractField

public abstract class AbstractEuclideanRing<RingType extends EuclideanRing<RingType>>
extends AbstractRing<RingType>
implements EuclideanRing<RingType>

An abstract implementation of the EuclideanRing interface. It defines common methods like times and divide methods so that implementations only need to define the inline versions of them.

Author:
Justin Basilico
See Also:
Serialized Form

Constructor Summary
AbstractEuclideanRing()
          Creates a new AbstractEuclideanRing.
 
Method Summary
 RingType divide(RingType other)
          Divides this value by the other value, returning the result of the division as a new value.
 RingType times(RingType other)
          Multiplies this value by the other value, returning the result of the multiplication as a new value.
 
Methods inherited from class gov.sandia.cognition.math.AbstractRing
clone, dotTimes, isZero, minus, negative, negativeEquals, plus, scale, scaledMinus, scaledMinusEquals, scaledPlus, zero
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.math.EuclideanRing
divideEquals, timesEquals
 
Methods inherited from interface gov.sandia.cognition.math.Ring
clone, dotTimes, dotTimesEquals, equals, equals, isZero, isZero, minus, minusEquals, negative, negativeEquals, plus, plusEquals, scale, scaledMinus, scaledMinusEquals, scaledPlus, scaledPlusEquals, scaleEquals, zero
 

Constructor Detail

AbstractEuclideanRing

public AbstractEuclideanRing()
Creates a new AbstractEuclideanRing.

Method Detail

times

public RingType times(RingType other)
Description copied from interface: EuclideanRing
Multiplies this value by the other value, returning the result of the multiplication as a new value.

Specified by:
times in interface EuclideanRing<RingType extends EuclideanRing<RingType>>
Parameters:
other - The other value.
Returns:
The result of the multiplication.

divide

public RingType divide(RingType other)
Description copied from interface: EuclideanRing
Divides this value by the other value, returning the result of the division as a new value.

Specified by:
divide in interface EuclideanRing<RingType extends EuclideanRing<RingType>>
Parameters:
other - The other value.
Returns:
The result of the division.