package tester;
import edu.neu.ccs.demeter.dj.*;
import edu.neu.ccs.satsolver.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import java.util.Set;
import java.util.HashSet;
import edu.neu.ccs.demeter.*;
abstract class SDouble {
  protected Double v;
  public Double get_v() { return v; }
  public void set_v(Double new_v) { v = new_v; }
  public SDouble() { super(); }
  public SDouble(Double v) {
    super();
    set_v(v);
  }

  public double doubleValue() {
    if (this instanceof PDouble) {
      return v.doubleValue();
    }
    return -1.0 * v.doubleValue();
  }

  void universal_trv0_bef(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).before(this);
  }

  void universal_trv0_aft(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).after(this);
  }

  void universal_trv0(UniversalVisitor _v_) {
    ((UniversalVisitor) _v_).before_v(this, v);
    ((UniversalVisitor) _v_).after_v(this, v);
  }

}