package ch.eiafr.cojac.interval;

/**
 * Created by Snipy on 11.03.15.
 */
public class DoubleInterval implements Comparable<DoubleInterval>
{
    private double inf;
    private double sup;
    private int precision;

    public DoubleInterval(double inf, double sup)
    {
        this.inf = inf;
        this.sup = sup;
    }

    // Todo
    @Override
    public int compareTo(DoubleInterval o)
    {
        return 0;
    }

    /* Mathematical operations */

    public static DoubleInterval add (DoubleInterval valueA, DoubleInterval valueB)
    {
        return null;
    }

    public static DoubleInterval sub (DoubleInterval valueA, DoubleInterval valueB)
    {
        return null;
    }

    public static DoubleInterval mul (DoubleInterval valueA, DoubleInterval valueB)
    {
        return null;
    }

    public static DoubleInterval div (DoubleInterval valueA, DoubleInterval valueB)
    {
        return null;
    }

    public static DoubleInterval pow2 (DoubleInterval base)
    {
        return null;
    }

    public static DoubleInterval pow (DoubleInterval base,double exponent)
    {
        return null;
    }

    public static DoubleInterval pow (DoubleInterval base,DoubleInterval exponent)
    {
        return null;
    }

    public static DoubleInterval exp (DoubleInterval value)
    {
        return null;
    }

    public static DoubleInterval log (DoubleInterval value)
    {
        return null;
    }
    public static DoubleInterval log2 (DoubleInterval value)
    {
        return null;
    }
    public static DoubleInterval log10 (DoubleInterval value)
    {
        return null;
    }
}

@@ -31,49 +31,8 @@
 l;%0A%0A
-/**%0A * Created by Snipy on 11.03.15.%0A */%0A
 publ
@@ -392,35 +392,579 @@
   /*
- Mathematical operations */
+%0A        value %3C inf -%3E 1 , the value is under the set%0A        value %3E inf && value %3C sup -%3E 0 , the value is in the set !%0A        value %3E sup -%3E -1 , the value is over the set%0A     */%0A    public int compareTo(double value)%0A    %7B%0A        if (value %3C inf)%0A        %7B%0A            return 1;%0A        %7D%0A        if (value %3E sup)%0A        %7B%0A            return -1;%0A        %7D%0A        return 0;%0A    %7D%0A%0A%0A    @Override%0A    public String toString()%0A    %7B%0A        return String.format(%22%5B%25f;%25f%5D%22, this.inf, this.sup);%0A    %7D%0A%0A     /* Mathematical operations */%0A    // Todo : complete this%0A
 %0A%0A  
@@ -997,17 +997,16 @@
 rval add
- 
 (DoubleI
@@ -1005,38 +1005,33 @@
 (DoubleInterval 
-valueA
+a
 , DoubleInterval
@@ -1035,41 +1035,158 @@
 val 
-valueB)%0A    %7B%0A        return null
+b)%0A    %7B%0A        double v1 = a.inf + b.inf;%0A        double v2 = a.sup + b.sup;%0A        return new DoubleInterval(v1 - Math.ulp(v1), v2 + Math.ulp(v2))
 ;%0A  
@@ -1226,17 +1226,16 @@
 rval sub
- 
 (DoubleI
@@ -1234,38 +1234,33 @@
 (DoubleInterval 
-valueA
+a
 , DoubleInterval
@@ -1252,38 +1252,33 @@
  DoubleInterval 
-valueB
+b
 )%0A    %7B%0A        
@@ -1333,17 +1333,16 @@
 rval mul
- 
 (DoubleI
@@ -1341,38 +1341,33 @@
 (DoubleInterval 
-valueA
+a
 , DoubleInterval
@@ -1359,38 +1359,33 @@
  DoubleInterval 
-valueB
+b
 )%0A    %7B%0A        
@@ -1440,17 +1440,16 @@
 rval div
- 
 (DoubleI
@@ -1460,14 +1460,9 @@
 val 
-valueA
+a
 , Do
@@ -1478,14 +1478,9 @@
 val 
-valueB
+b
 )%0A  
@@ -1548,17 +1548,16 @@
 val pow2
- 
 (DoubleI
@@ -1632,33 +1632,32 @@
 ubleInterval pow
- 
 (DoubleInterval 
@@ -1661,16 +1661,17 @@
 al base,
+ 
 double e
@@ -1749,17 +1749,16 @@
 rval pow
- 
 (DoubleI
@@ -1770,16 +1770,17 @@
 al base,
+ 
 DoubleIn
@@ -1866,17 +1866,16 @@
 rval exp
- 
 (DoubleI
@@ -1874,37 +1874,33 @@
 (DoubleInterval 
-value
+a
 )%0A    %7B%0A        
@@ -1955,17 +1955,16 @@
 rval log
- 
 (DoubleI
@@ -1963,37 +1963,33 @@
 (DoubleInterval 
-value
+a
 )%0A    %7B%0A        
@@ -1999,32 +1999,33 @@
 urn null;%0A    %7D%0A
+%0A
     public stati
@@ -2045,17 +2045,16 @@
 val log2
- 
 (DoubleI
@@ -2053,37 +2053,33 @@
 (DoubleInterval 
-value
+a
 )%0A    %7B%0A        
@@ -2093,24 +2093,25 @@
 null;%0A    %7D%0A
+%0A
     public s
@@ -2136,17 +2136,16 @@
 al log10
- 
 (DoubleI
@@ -2152,21 +2152,17 @@
 nterval 
-value
+a
 )%0A    %7B%0A
@@ -2190,8 +2190,9 @@
     %7D%0A%7D%0A
+%0A

Add a compareTo method with a single double, a toString method and some refactoring...