Package com.clarkparsia.pellet.datatypes.types.real

Examples of com.clarkparsia.pellet.datatypes.types.real.ContinuousRealInterval


   * starts but for which the endpoint type is different it correct (i.e., it
   * isn't a start relation).
   */
  @Test
  public void intersectionStarts3() {
    final ContinuousRealInterval a = interval( 2.1, 3.1, false, true );
    final ContinuousRealInterval b = interval( 2.1, null, true, false );

    assertEquals( a, a.intersection( b ) );
    assertEquals( a, b.intersection( a ) );

    assertEquals( IntervalRelations.DURING, a.compare( b ) );
    assertEquals( IntervalRelations.CONTAINS, b.compare( a ) );
  }
View Full Code Here


  /**
   * Verify that a interval with unequal bounds is not a point.
   */
  @Test
  public void isPointFalse() {
    final ContinuousRealInterval a = interval( 0.1, 0.2, true, true );

    assertFalse( a.isPoint() );
  }
View Full Code Here

  /**
   * Verify that a interval with equal bounds is a point.
   */
  @Test
  public void isPointTrue() {
    final ContinuousRealInterval a = new ContinuousRealInterval( BigDecimal.valueOf( 0.1d ) );

    assertTrue( a.isPoint() );

    final ContinuousRealInterval b = interval( 0.1, 0.1, true, true );

    assertTrue( b.isPoint() );

    assertEquals( a, b );
  }
View Full Code Here

    assertEquals( a, b );
  }

  @Test
  public void unboundContainsAll() {
    final ContinuousRealInterval interval = new ContinuousRealInterval( null, null, false,
        false );

    assertFalse( interval.boundLower() );
    assertFalse( interval.boundUpper() );

    assertFalse( interval.isPoint() );

    assertTrue( interval.contains( -1 ) );
    assertTrue( interval.contains( 0 ) );
    assertTrue( interval.contains( 1 ) );
    assertTrue( interval.contains( BigDecimal.valueOf( -0.31d ) ) );
    assertTrue( interval.contains( BigDecimal.valueOf( 0.13d ) ) );
    assertTrue( interval.contains( BigDecimal.valueOf( Long.MAX_VALUE ).add(
        BigDecimal.valueOf( Long.MAX_VALUE ) ).add( BigDecimal.valueOf( 0.123d ) ) ) );
  }
View Full Code Here

        return null;
      else if( cmp == 0 ) {
        if( !i.inclusiveLower() && !i.inclusiveUpper() )
          return null;
        else
          return new ContinuousRealInterval( lower );
      }
    }
    return new ContinuousRealInterval( lower, upper, i.inclusiveLower(), i.inclusiveUpper() );
  }
View Full Code Here

      inclusiveUpper = false;
    }
    else
      throw new IllegalStateException();

    ContinuousRealInterval wzRestriction, nzRestriction;
    {
      final ContinuousRealInterval restriction = new ContinuousRealInterval( lower, upper,
          inclusiveLower, inclusiveUpper );
      if( c.getTimezone() == DatatypeConstants.FIELD_UNDEFINED ) {
        nzRestriction = restriction;
        wzRestriction = zoneShrink( nzRestriction );
      }
      else {
        wzRestriction = restriction;
        nzRestriction = zoneShrink( wzRestriction );
      }
    }

    boolean changes = false;

    final List<ContinuousRealInterval> revisedWz = new ArrayList<ContinuousRealInterval>();
    if( wzRestriction == null ) {
      changes = wzIntervals.isEmpty();
    }
    else {
      for( ContinuousRealInterval i : wzIntervals ) {
        final ContinuousRealInterval j = i.intersection( wzRestriction );
        if( j != null ) {
          revisedWz.add( j );
          if( i != j )
            changes = true;
        }
        else
          changes = true;
      }
    }

    final List<ContinuousRealInterval> revisedNz = new ArrayList<ContinuousRealInterval>();
    if( nzRestriction == null ) {
      changes |= nzIntervals.isEmpty();
    }
    else {
      for( ContinuousRealInterval i : nzIntervals ) {
        final ContinuousRealInterval j = i.intersection( nzRestriction );
        if( j != null ) {
          revisedNz.add( j );
          if( i != j )
            changes = true;
        }
View Full Code Here

      if( o instanceof XMLGregorianCalendar ) {
        final XMLGregorianCalendar c = (XMLGregorianCalendar) o;
        if( c.getTimezone() == DatatypeConstants.FIELD_UNDEFINED ) {
          final Number n = calendarToReal( c );
          for( Iterator<ContinuousRealInterval> it = revisedNz.iterator(); it.hasNext(); ) {
            final ContinuousRealInterval i = it.next();
            if( i.contains( n ) ) {

              changes = true;
              it.remove();

              final ContinuousRealInterval less = i.less( n );
              if( less != null )
                revisedNz.add( less );

              final ContinuousRealInterval greater = i.greater( n );
              if( greater != null )
                revisedNz.add( greater );

              break;
            }
View Full Code Here

      else
        intersectWithWz = otherRRD.wzIntervals;

      for( ContinuousRealInterval i : this.wzIntervals ) {
        for( ContinuousRealInterval j : intersectWithWz ) {
          ContinuousRealInterval k = i.intersection( j );
          if( k != null )
            revisedWz.add( k );
        }
      }

      /*
       * Intersect unzoned intervals
       */
      List<ContinuousRealInterval> revisedNz = new ArrayList<ContinuousRealInterval>();

      List<ContinuousRealInterval> intersectWithNz;
      if( negated ) {
        intersectWithNz = new ArrayList<ContinuousRealInterval>( Arrays
            .asList( ContinuousRealInterval.allReals() ) );
        for( ContinuousRealInterval i : otherRRD.nzIntervals ) {
          List<ContinuousRealInterval> tmp = new ArrayList<ContinuousRealInterval>();
          for( ContinuousRealInterval j : intersectWithNz ) {
            tmp.addAll( j.remove( i ) );
          }
          intersectWithNz = tmp;
        }
      }
      else
        intersectWithNz = otherRRD.nzIntervals;

      for( ContinuousRealInterval i : this.nzIntervals ) {
        for( ContinuousRealInterval j : intersectWithNz ) {
          ContinuousRealInterval k = i.intersection( j );
          if( k != null )
            revisedNz.add( k );
        }
      }

View Full Code Here

      List<ContinuousRealInterval> revisedWz = new ArrayList<ContinuousRealInterval>(
          this.wzIntervals );
      for( ContinuousRealInterval i : otherRRD.wzIntervals ) {
        List<ContinuousRealInterval> unionWith = new ArrayList<ContinuousRealInterval>();
        for( Iterator<ContinuousRealInterval> jt = revisedWz.iterator(); jt.hasNext(); ) {
          ContinuousRealInterval j = jt.next();
          if( i.canUnionWith( j ) ) {
            jt.remove();
            unionWith.add( j );
          }
        }
        if( unionWith.isEmpty() ) {
          revisedWz.add( i );
        }
        else {
          Set<ContinuousRealInterval> tmp = new HashSet<ContinuousRealInterval>();
          for( ContinuousRealInterval j : unionWith )
            tmp.addAll( i.union( j ) );
          revisedWz.addAll( tmp );
        }
      }

      /*
       * Union free intervals
       */

      List<ContinuousRealInterval> revisedNz = new ArrayList<ContinuousRealInterval>(
          this.nzIntervals );
      for( ContinuousRealInterval i : otherRRD.nzIntervals ) {
        List<ContinuousRealInterval> unionWith = new ArrayList<ContinuousRealInterval>();
        for( Iterator<ContinuousRealInterval> jt = revisedNz.iterator(); jt.hasNext(); ) {
          ContinuousRealInterval j = jt.next();
          if( i.canUnionWith( j ) ) {
            jt.remove();
            unionWith.add( j );
          }
        }
View Full Code Here

TOP

Related Classes of com.clarkparsia.pellet.datatypes.types.real.ContinuousRealInterval

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.