jopt.csp.spi.arcalgorithm.variable
Class FloatVariable

java.lang.Object
  extended byjopt.csp.spi.arcalgorithm.variable.VariableChangeBase
      extended byjopt.csp.spi.arcalgorithm.variable.NumExprBase
          extended byjopt.csp.spi.arcalgorithm.variable.FloatExpr
              extended byjopt.csp.spi.arcalgorithm.variable.FloatVariable
All Implemented Interfaces:
jopt.csp.variable.CspDoubleCast, jopt.csp.variable.CspFloatCast, jopt.csp.variable.CspFloatExpr, jopt.csp.variable.CspFloatVariable, jopt.csp.variable.CspNumExpr, jopt.csp.variable.CspNumVariable, jopt.csp.variable.CspVariable, DoubleCast, FloatCast, NumExpr, Storable, TrigExpr, Variable, VariableChangeSource

public class FloatVariable
extends FloatExpr
implements jopt.csp.variable.CspFloatVariable, Variable


Constructor Summary
FloatVariable(java.lang.String name, BaseFloatDomain domain)
          Constructor
FloatVariable(java.lang.String name, FloatCast expr)
          Constructor
FloatVariable(java.lang.String name, float min, float max)
          Constructor
FloatVariable(java.lang.String name, FloatVariable var)
          Constructor
 
Method Summary
 void clearDelta()
          Clears the delta set for this variable's domain
 java.lang.Object clone()
          Clones this variable
 float getNextHigher(float val)
          Returns the next higher value in this variable's domain or current value if none exists
 float getNextLower(float val)
          Returns the next lower value in this variable's domain or current value if none exists
 int getSize()
          Returns the size of this variable's domain
 java.lang.Object getState()
          Stores appropriate data for future restoration.
 boolean isInDomain(float val)
          Returns true if value is in this variable's domain
 void removeAll(jopt.csp.util.FloatSet vals)
          Attempts to remove a set of values from this variable's domain
 void removeDomainRange(java.lang.Number start, java.lang.Number end)
          Attempts to reduce this variable's domain by removing a range of values
 void removeDomainValue(java.lang.Number val)
          Attempts to remove a single value from this variable's domain
 void removeDomainValues(jopt.csp.util.NumSet vals)
          Attempts to reduce this variable's domain by removing a set of values
 void removeRange(float start, float end)
          Attempts to reduce this variable's domain by removing a range of values
 void removeValue(float val)
          Attempts to remove a single value from this variable's domain
 void restoreState(java.lang.Object state)
          Restores variable information from stored data.
 void setDomainMax(java.lang.Number val)
          Attempts to reduce this variable's domain to be less than the specified maximum value.
 void setDomainMin(java.lang.Number val)
          Attempts to reduce this variable's domain to be less than the specified maximum value.
 void setDomainRange(java.lang.Number start, java.lang.Number end)
          Attempts to reduce this variable's domain to within a range of values
 void setDomainValue(java.lang.Number val)
          Attempts to reduce this variable's domain to a single value.
 void setDomainValues(jopt.csp.util.NumSet s)
          Attempts to reduce this variable's domain by restricting it to a set of values
 void setMax(float val)
          Attempts to reduce this variable's domain to be less than the specified maximum value.
 void setMin(float val)
          Attempts to reduce this variable's domain to be greater than the specified minimum value.
 void setRange(float start, float end)
          Attempts to reduce this variable's domain to within a range of values
 void setValue(float val)
          Attempts to reduce this variable's domain to a single value.
 
Methods inherited from class jopt.csp.spi.arcalgorithm.variable.FloatExpr
add, add, add, add, between, between, divide, divide, divide, divide, eq, eq, geq, geq, getDoubleDomain, getFloatDomain, getMax, getMin, getNextHigher, getNextLower, getNode, getNumberType, getNumMax, getNumMin, getPrecision, isInDomain, leq, leq, multiply, multiply, multiply, multiply, multiply, notBetween, notBetween, setPrecision, subtract, subtract, subtract, subtract
 
Methods inherited from class jopt.csp.spi.arcalgorithm.variable.NumExprBase
addVariableChangeListener, between, between, between, between, eq, equals, geq, getBooleanSourceArcs, getDomain, getName, getNodeCollection, gt, hashCode, isBound, leq, lt, neq, notBetween, notBetween, notBetween, notBetween, removeVariableChangeListener, setName, toString, updateGraph
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jopt.csp.variable.CspFloatVariable
getMax, getMin
 
Methods inherited from interface jopt.csp.variable.CspFloatExpr
add, add, add, add, between, between, divide, divide, divide, divide, eq, eq, geq, geq, getPrecision, leq, leq, multiply, multiply, multiply, multiply, notBetween, notBetween, setPrecision, subtract, subtract, subtract, subtract
 
Methods inherited from interface jopt.csp.variable.CspNumExpr
between, between, between, between, eq, geq, getName, gt, isBound, leq, lt, neq, notBetween, notBetween, notBetween, notBetween, setName
 
Methods inherited from interface jopt.csp.variable.CspVariable
getName, isBound
 
Methods inherited from interface jopt.csp.spi.arcalgorithm.variable.Variable
updateGraph
 
Methods inherited from interface jopt.csp.spi.util.Storable
getName
 
Methods inherited from interface jopt.csp.spi.arcalgorithm.constraint.num.NumExpr
getBooleanSourceArcs, getName, getNodeCollection, isBound, updateGraph
 

Constructor Detail

FloatVariable

public FloatVariable(java.lang.String name,
                     BaseFloatDomain domain)
Constructor


FloatVariable

public FloatVariable(java.lang.String name,
                     float min,
                     float max)
Constructor


FloatVariable

public FloatVariable(java.lang.String name,
                     FloatVariable var)
Constructor


FloatVariable

public FloatVariable(java.lang.String name,
                     FloatCast expr)
Constructor

Method Detail

getSize

public int getSize()
Returns the size of this variable's domain

Specified by:
getSize in interface jopt.csp.variable.CspVariable

isInDomain

public boolean isInDomain(float val)
Returns true if value is in this variable's domain

Specified by:
isInDomain in interface jopt.csp.variable.CspFloatVariable

setMax

public void setMax(float val)
            throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to be less than the specified maximum value.

Specified by:
setMax in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setMin

public void setMin(float val)
            throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to be greater than the specified minimum value.

Specified by:
setMin in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setDomainMax

public void setDomainMax(java.lang.Number val)
                  throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to be less than the specified maximum value.

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setDomainMin

public void setDomainMin(java.lang.Number val)
                  throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to be less than the specified maximum value.

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setValue

public void setValue(float val)
              throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to a single value.

Specified by:
setValue in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setDomainValue

public void setDomainValue(java.lang.Number val)
                    throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to a single value.

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setDomainValues

public void setDomainValues(jopt.csp.util.NumSet s)
                     throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain by restricting it to a set of values

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeValue

public void removeValue(float val)
                 throws jopt.csp.variable.PropagationFailureException
Attempts to remove a single value from this variable's domain

Specified by:
removeValue in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeAll

public void removeAll(jopt.csp.util.FloatSet vals)
               throws jopt.csp.variable.PropagationFailureException
Attempts to remove a set of values from this variable's domain

Specified by:
removeAll in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeDomainValue

public void removeDomainValue(java.lang.Number val)
                       throws jopt.csp.variable.PropagationFailureException
Attempts to remove a single value from this variable's domain

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeDomainValues

public void removeDomainValues(jopt.csp.util.NumSet vals)
                        throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain by removing a set of values

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setRange

public void setRange(float start,
                     float end)
              throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to within a range of values

Specified by:
setRange in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeRange

public void removeRange(float start,
                        float end)
                 throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain by removing a range of values

Specified by:
removeRange in interface jopt.csp.variable.CspFloatVariable
Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

setDomainRange

public void setDomainRange(java.lang.Number start,
                           java.lang.Number end)
                    throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain to within a range of values

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

removeDomainRange

public void removeDomainRange(java.lang.Number start,
                              java.lang.Number end)
                       throws jopt.csp.variable.PropagationFailureException
Attempts to reduce this variable's domain by removing a range of values

Throws:
jopt.csp.variable.PropagationFailureException - If domain is empty

getNextHigher

public float getNextHigher(float val)
Returns the next higher value in this variable's domain or current value if none exists

Specified by:
getNextHigher in interface jopt.csp.variable.CspFloatVariable

getNextLower

public float getNextLower(float val)
Returns the next lower value in this variable's domain or current value if none exists

Specified by:
getNextLower in interface jopt.csp.variable.CspFloatVariable

clearDelta

public void clearDelta()
Clears the delta set for this variable's domain


getState

public java.lang.Object getState()
Stores appropriate data for future restoration.

Specified by:
getState in interface Storable

restoreState

public void restoreState(java.lang.Object state)
Restores variable information from stored data.

Specified by:
restoreState in interface Storable

clone

public java.lang.Object clone()
Clones this variable