package com.drawbridge.jsengine.jsobjects;
public class JSNumber extends JSObject
{
public final Double mValue;
public JSNumber(double value){
super();
mValue = value;
}
public JSNumber(int value){
super();
mValue = value * 1.0; //This might cause errors
}
public int intValue(){
return (int) java.lang.Math.round(mValue);
}
@Override
public String toString(){
return "" + mValue;
}
@Override
public JSType getProperty(String name){
return properties.get(name);
}
@Override
public void addProperty(String name, JSType value){
// Can't add properties to a number
}
@Override
public boolean equals(Object obj){
if(obj instanceof JSNumber){
if(((JSNumber) obj).mValue.isNaN() && this.mValue.isNaN()){
return true;
}
else if(((JSNumber) obj).mValue == Double.POSITIVE_INFINITY && this.mValue == Double.POSITIVE_INFINITY){
return true;
}
else if(((JSNumber) obj).mValue == Double.NEGATIVE_INFINITY && this.mValue == Double.NEGATIVE_INFINITY){
return true;
}
if(((JSNumber) obj).mValue.equals(this.mValue)){
return true;
}
}
return false;
}
}