code: public int compare(NUMERICTYPE value1, NUMERICTYPE value2) {
          if (this.performCalculationsAsDoublePrimitive) {
              double v1 = value1.doubleValue();
              double v2 = value2.doubleValue();
              return Double.compare(v1, v2);
          } else {
              // evaluate as long
              long v1 = value1.longValue();
              long v2 = value2.longValue();
              return Long.compare(v1, v2);
          }
  
      }
docs: A standard compare implementation. This uses the correct
  <code>compare</code> method for the NUMERICTYPE.
  
  @param value1
  The first value.
  @param value2
  The second value.
  @return The return value.