jopt.csp.spi.arcalgorithm.variable
Class GenericNumConstant

java.lang.Object
  extended byjopt.csp.spi.arcalgorithm.variable.GenericNumConstant
All Implemented Interfaces:
jopt.csp.variable.CspGenericConstant, jopt.csp.variable.CspGenericNumConstant, GenericConstant
Direct Known Subclasses:
GenericDoubleConstant, GenericFloatConstant, GenericIntConstant, GenericLongConstant

public abstract class GenericNumConstant
extends java.lang.Object
implements jopt.csp.variable.CspGenericNumConstant, GenericConstant

A generic constant that acts as an array of numbers, but can be indexed over custom indexes

Author:
Jim Boerkoel

Method Summary
 jopt.csp.variable.CspGenericNumConstant add(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant add(java.lang.Number num)
           
 boolean contains(java.lang.Number num)
           
 boolean containsIndex(jopt.csp.variable.CspGenericIndex index)
           
 jopt.csp.variable.CspGenericNumConstant createFragment(jopt.csp.variable.CspGenericIndex[] fragIndices)
           
 jopt.csp.variable.CspGenericNumConstant divide(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divide(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant divideBy(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divideBy(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant divideByCeil(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divideByCeil(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant divideByFloor(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divideByFloor(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant divideCeil(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divideCeil(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant divideFloor(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant divideFloor(java.lang.Number num)
           
abstract  GenericNumConstant generateNumConstant(java.lang.Number num)
          Generates a GenericNumConstant based on only one number
abstract  GenericNumConstant generateNumConstant(java.lang.String name, jopt.csp.variable.CspGenericIndex[] indices, java.lang.Number[] vals)
          Create a new GenericNumConstant with the given indices and constant values
 int getConstantCount()
           
 jopt.csp.variable.CspGenericIndex[] getIndices()
           
 java.lang.Number getNumber(int offset)
           
 java.lang.Number getNumberForIndex()
           
 java.lang.Number[] getNumConstants()
           
 java.lang.Number getNumMax()
           
 java.lang.Number getNumMin()
           
 jopt.csp.variable.CspGenericNumConstant multiply(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant multiply(java.lang.Number num)
           
 void setIndicesToNodeOffset(int offset)
           
 jopt.csp.variable.CspGenericNumConstant subtract(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant subtract(java.lang.Number num)
           
 jopt.csp.variable.CspGenericNumConstant subtractFrom(jopt.csp.variable.CspGenericNumConstant num)
           
 jopt.csp.variable.CspGenericNumConstant subtractFrom(java.lang.Number num)
           
abstract  java.lang.String toString()
          Displays name of node along with indices
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jopt.csp.variable.CspGenericNumConstant
getNumberType
 

Method Detail

getIndices

public jopt.csp.variable.CspGenericIndex[] getIndices()
Specified by:
getIndices in interface jopt.csp.variable.CspGenericConstant

getNumberForIndex

public java.lang.Number getNumberForIndex()
Specified by:
getNumberForIndex in interface jopt.csp.variable.CspGenericNumConstant

getConstantCount

public int getConstantCount()
Specified by:
getConstantCount in interface jopt.csp.variable.CspGenericConstant

getNumber

public java.lang.Number getNumber(int offset)
Specified by:
getNumber in interface jopt.csp.variable.CspGenericNumConstant

containsIndex

public boolean containsIndex(jopt.csp.variable.CspGenericIndex index)
Specified by:
containsIndex in interface jopt.csp.variable.CspGenericConstant

createFragment

public jopt.csp.variable.CspGenericNumConstant createFragment(jopt.csp.variable.CspGenericIndex[] fragIndices)
Specified by:
createFragment in interface jopt.csp.variable.CspGenericNumConstant

getNumConstants

public java.lang.Number[] getNumConstants()
Specified by:
getNumConstants in interface jopt.csp.variable.CspGenericNumConstant

contains

public boolean contains(java.lang.Number num)
Specified by:
contains in interface jopt.csp.variable.CspGenericNumConstant

getNumMin

public java.lang.Number getNumMin()
Specified by:
getNumMin in interface jopt.csp.variable.CspGenericNumConstant

getNumMax

public java.lang.Number getNumMax()
Specified by:
getNumMax in interface jopt.csp.variable.CspGenericNumConstant

setIndicesToNodeOffset

public void setIndicesToNodeOffset(int offset)
Specified by:
setIndicesToNodeOffset in interface jopt.csp.variable.CspGenericConstant

generateNumConstant

public abstract GenericNumConstant generateNumConstant(java.lang.Number num)
Generates a GenericNumConstant based on only one number

Parameters:
num - number to base singly indexed constant on
Returns:
a generic num constant that has a single value

generateNumConstant

public abstract GenericNumConstant generateNumConstant(java.lang.String name,
                                                       jopt.csp.variable.CspGenericIndex[] indices,
                                                       java.lang.Number[] vals)
Create a new GenericNumConstant with the given indices and constant values

Parameters:
name - Name of the new generic constant
indices - Indices on which the generic constant is based
vals - Array of constant values that the generic constant will wrap
Returns:
A new CspGenericNumConstant created according to the specified parameters

add

public jopt.csp.variable.CspGenericNumConstant add(java.lang.Number num)
Specified by:
add in interface jopt.csp.variable.CspGenericNumConstant

add

public jopt.csp.variable.CspGenericNumConstant add(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
add in interface jopt.csp.variable.CspGenericNumConstant

subtractFrom

public jopt.csp.variable.CspGenericNumConstant subtractFrom(java.lang.Number num)
Specified by:
subtractFrom in interface jopt.csp.variable.CspGenericNumConstant

subtractFrom

public jopt.csp.variable.CspGenericNumConstant subtractFrom(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
subtractFrom in interface jopt.csp.variable.CspGenericNumConstant

subtract

public jopt.csp.variable.CspGenericNumConstant subtract(java.lang.Number num)
Specified by:
subtract in interface jopt.csp.variable.CspGenericNumConstant

subtract

public jopt.csp.variable.CspGenericNumConstant subtract(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
subtract in interface jopt.csp.variable.CspGenericNumConstant

multiply

public jopt.csp.variable.CspGenericNumConstant multiply(java.lang.Number num)
Specified by:
multiply in interface jopt.csp.variable.CspGenericNumConstant

multiply

public jopt.csp.variable.CspGenericNumConstant multiply(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
multiply in interface jopt.csp.variable.CspGenericNumConstant

divideByCeil

public jopt.csp.variable.CspGenericNumConstant divideByCeil(java.lang.Number num)
Specified by:
divideByCeil in interface jopt.csp.variable.CspGenericNumConstant

divideByCeil

public jopt.csp.variable.CspGenericNumConstant divideByCeil(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divideByCeil in interface jopt.csp.variable.CspGenericNumConstant

divideByFloor

public jopt.csp.variable.CspGenericNumConstant divideByFloor(java.lang.Number num)
Specified by:
divideByFloor in interface jopt.csp.variable.CspGenericNumConstant

divideByFloor

public jopt.csp.variable.CspGenericNumConstant divideByFloor(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divideByFloor in interface jopt.csp.variable.CspGenericNumConstant

divideBy

public jopt.csp.variable.CspGenericNumConstant divideBy(java.lang.Number num)
Specified by:
divideBy in interface jopt.csp.variable.CspGenericNumConstant

divideBy

public jopt.csp.variable.CspGenericNumConstant divideBy(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divideBy in interface jopt.csp.variable.CspGenericNumConstant

divide

public jopt.csp.variable.CspGenericNumConstant divide(java.lang.Number num)
Specified by:
divide in interface jopt.csp.variable.CspGenericNumConstant

divide

public jopt.csp.variable.CspGenericNumConstant divide(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divide in interface jopt.csp.variable.CspGenericNumConstant

divideCeil

public jopt.csp.variable.CspGenericNumConstant divideCeil(java.lang.Number num)
Specified by:
divideCeil in interface jopt.csp.variable.CspGenericNumConstant

divideCeil

public jopt.csp.variable.CspGenericNumConstant divideCeil(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divideCeil in interface jopt.csp.variable.CspGenericNumConstant

divideFloor

public jopt.csp.variable.CspGenericNumConstant divideFloor(java.lang.Number num)
Specified by:
divideFloor in interface jopt.csp.variable.CspGenericNumConstant

divideFloor

public jopt.csp.variable.CspGenericNumConstant divideFloor(jopt.csp.variable.CspGenericNumConstant num)
Specified by:
divideFloor in interface jopt.csp.variable.CspGenericNumConstant

toString

public abstract java.lang.String toString()
Displays name of node along with indices

Specified by:
toString in interface jopt.csp.variable.CspGenericConstant