public static bool equals(double self, object obj)
{
if (obj is double)
{
double x = (double)obj;
//if (System.Double.IsNaN(self)) return System.Double.IsNaN(x);
return self == x;
}
if (obj is Double)
{
return self == ((Double)obj).doubleValue();
}
return false;
}