IntervalDomain
Keywords: yacs.domain.IntervalDomain class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## yacs.domain
Class IntervalDomain

    java.lang.Object
      yacs.domain.Domain
          yacs.domain.IntervalDomain

All Implemented Interfaces:
  java.lang.Cloneable, java.io.Serializable

public class IntervalDomain
extends Domain

Klasse zur Repräsentation einer reellwertigen Intervalldomäne. Diese Klasse stützt sich auf die in der Bibliothek IAMath von Timothy J. Hickey implementierte Repräsentation von Intervallen.

Copyright (C) 2005 Wolfgang Runte
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Version:
  YACS 0.1.1
Author:
  Wolfgang Runte (woru@tzi.org)
See Also:
  Serialized Form

Constructor Summary
`IntervalDomain()` Konstruktor -- Instantiiert eine Intervalldomäne.
`IntervalDomain(double lo, double hi)` Konstruktor -- Erlaubt die vereinfachte Instantiierung einer Intervalldomäne durch Angabe der unteren (`lo`) und oberen Schranke (`hi`) des Intervalls als `double`-Wert.
`IntervalDomain(java.lang.Double lo, java.lang.Double hi)` Konstruktor -- Erlaubt die vereinfachte Instantiierung einer Intervalldomäne durch Angabe der unteren (`lo`) und oberen Schranke (`hi`) des Intervalls als `Double`-Objekt.
`IntervalDomain(net.sourceforge.interval.ia_math.RealInterval value)` Konstruktor -- Die Domäne wird mit einem Wert (hier: `RealInterval`) instantiiert.

Method Summary
`boolean` | `add(DomainElement value)` Der Domäne wird ein Element hinzugefügt.
`boolean` | `add(double lo, double hi)` Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich die untere (`lo`) und obere Schranke (`hi`) des Intervalls als `double`-Wert angegeben werden muss.
`boolean` | `add(java.lang.Double lo, java.lang.Double hi)` Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich die untere (`lo`) und obere Schranke (`hi`) des Intervalls als `Double`-Objekt angegeben werden muss.
`boolean` | `add(net.sourceforge.interval.ia_math.RealInterval value)` Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich ein `RealIntervall` übergeben werden muss.
`double` | `getLowerBound()` Liefert die untere Schranke dieser Intervalldomäne.
`double` | `getUpperBound()` Liefert die obere Schranke dieser Intervalldomäne.
`boolean` | `narrow(int operatorType, DomainElement element)` Führt eine Beschränkung der Domäne durch, so dass sich das enthaltene Intervall anschließend innerhalb den Grenzen des übergebenen Intervalls befindet.
`void` | `setLowerBound(double lowerBound)` Setzt die untere Schranke dieser Intervalldomäne.
`void` | `setUpperBound(double upperBound)` Setzt die obere Schranke dieser Intervalldomäne.

Methods inherited from class yacs.domain.Domain
`clone, cloneDeep, containsElement, deleteElement, getElement, getElements, isEmpty, size, toString, update`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### IntervalDomain

    public IntervalDomain()

  Konstruktor -- Instantiiert eine Intervalldomäne.

### IntervalDomain

    public IntervalDomain(net.sourceforge.interval.ia_math.RealInterval value)

  Konstruktor -- Die Domäne wird mit einem Wert (hier: `RealInterval`) instantiiert.

Parameters:
  `value` - RealInterval

### IntervalDomain

    public IntervalDomain(java.lang.Double lo,
                          java.lang.Double hi)

  Konstruktor -- Erlaubt die vereinfachte Instantiierung einer Intervalldomäne durch Angabe der unteren (`lo`) und oberen Schranke (`hi`) des Intervalls als `Double`-Objekt.

Parameters:
  `lo` - double
  `hi` - double

### IntervalDomain

    public IntervalDomain(double lo,
                          double hi)

  Konstruktor -- Erlaubt die vereinfachte Instantiierung einer Intervalldomäne durch Angabe der unteren (`lo`) und oberen Schranke (`hi`) des Intervalls als `double`-Wert.

Parameters:
  `lo` - double
  `hi` - double

Method Detail

### add

    public boolean add(DomainElement value)

  Der Domäne wird ein Element hinzugefügt. Überschreibt die übergeordnete `add()`-Methode in der Art, dass sichergestellt wird, dass das übergebene Element anschließend das einzige innerhalb der Domäne ist. Dadurch wird ein konvexes Intervall repräsentiert. Die Methode liefert `true` zurück, wenn die Belegung erfolgreich war, `false` wenn nicht.

  Overrides:
    `add` in class `Domain`
  Parameters:
    `value` - DomainElement
  Returns:
    boolean

### add

    public boolean add(net.sourceforge.interval.ia_math.RealInterval value)

  Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich ein `RealIntervall` übergeben werden muss. Liefert `true` zurück, wenn dies erfolgreich war, `false` wenn nicht (Intervall bereits vorhanden). Diese Methode stellt sicher, dass das übergebene Intervall anschließend das einzige Element innerhalb der Domäne ist, wodurch ein konvexes Intervall repräsentiert wird.

  Parameters:
    `value` - RealInterval
  Returns:
    boolean

### add

    public boolean add(java.lang.Double lo,
                       java.lang.Double hi)

  Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich die untere (`lo`) und obere Schranke (`hi`) des Intervalls als `Double`-Objekt angegeben werden muss. Liefert `true` zurück, wenn dies erfolgreich war, `false` wenn nicht (Intervall bereits vorhanden). Diese Methode stellt sicher, dass das übergebene Intervall anschließend das einzige Element innerhalb der Domäne ist, wodurch ein konvexes Intervall repräsentiert wird.

  Parameters:
    `lo` - Double
    `hi` - Double
  Returns:
    boolean

### add

    public boolean add(double lo,
                       double hi)

  Vereinfacht das Hinzufügen von Elementen zu Domäne, indem lediglich die untere (`lo`) und obere Schranke (`hi`) des Intervalls als `double`-Wert angegeben werden muss. Liefert `true` zurück, wenn dies erfolgreich war, `false` wenn nicht (Intervall bereits vorhanden). Diese Methode stellt sicher, dass das übergebene Intervall anschließend das einzige Element innerhalb der Domäne ist, wodurch ein konvexes Intervall repräsentiert wird.

  Parameters:
    `lo` - double
    `hi` - double
  Returns:
    boolean

### getLowerBound

    public double getLowerBound()

  Liefert die untere Schranke dieser Intervalldomäne.

  Returns:
    double

### getUpperBound

    public double getUpperBound()

  Liefert die obere Schranke dieser Intervalldomäne.

  Returns:
    double

### setLowerBound

    public void setLowerBound(double lowerBound)

  Setzt die untere Schranke dieser Intervalldomäne.

  Parameters:
    `lowerBound` - double

### setUpperBound

    public void setUpperBound(double upperBound)

  Setzt die obere Schranke dieser Intervalldomäne.

  Parameters:
    `upperBound` - double

### narrow

    public boolean narrow(int operatorType,
                          DomainElement element)

  Führt eine Beschränkung der Domäne durch, so dass sich das enthaltene Intervall anschließend innerhalb den Grenzen des übergebenen Intervalls befindet. Lässt sich diese Beschränkung nicht durchführen, wird das in dieser Domäne enthaltenen Intervall gelöscht, wodurch eine "false domain" und dadurch eine Inkonsistenz entsteht. Liefert `true` wenn die Domäne eingeschränkt wurde, `false` wenn nicht. (Anm.: Derzeit wird auf diese Art ausschließlich das Einschränken der Intervallgrenzen für den Gleichheitsoperator implementiert.)

  Overrides:
    `narrow` in class `Domain`
  Parameters:
    `operatorType` - int
    `element` - DomainElement
  Returns:
    boolean

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD