1 29 30 package com.caucho.quercus.env; 31 32 35 public abstract class NumberValue extends Value { 36 39 public int cmp(Value rValue) 40 { 41 double l = toDouble(); 42 double r = rValue.toDouble(); 43 44 if (l == r) 45 return 0; 46 else if (l < r) 47 return -1; 48 else 49 return 1; 50 } 51 52 55 public static int compareNum(Value lValue, Value rValue) 56 { 57 Value lVal = lValue.toValue(); 58 Value rVal = rValue.toValue(); 59 60 if (lVal instanceof DoubleValue || rVal instanceof DoubleValue) { 61 double lDouble = lVal.toDouble(); 62 double rDouble = rVal.toDouble(); 63 if (lDouble < rDouble) return -1; 64 if (lDouble > rDouble) return 1; 65 return 0; 66 } 67 long lLong = lVal.toLong(); 68 long rLong = rVal.toLong(); 69 if (lLong < rLong) return -1; 70 if (lLong > rLong) return 1; 71 return 0; 72 } 73 74 } 75 | Popular Tags |