added wxULongLong::ToDouble() (patch 1531597)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2006-08-13 00:44:44 +00:00
parent 9e68717c92
commit d870a03054
2 changed files with 19 additions and 0 deletions

View File

@ -410,6 +410,9 @@ public:
return wx_truncate_cast(unsigned long, m_ll);
}
// convert to double
double ToDouble() const { return wx_truncate_cast(double, m_ll); }
// operations
// addition
wxULongLongNative operator+(const wxULongLongNative& ll) const
@ -906,6 +909,9 @@ public:
return (unsigned long)m_lo;
}
// convert to double
double ToDouble() const;
// operations
// addition
wxULongLongWx operator+(const wxULongLongWx& ll) const;

View File

@ -194,6 +194,19 @@ double wxLongLongWx::ToDouble() const
return d;
}
double wxULongLongWx::ToDouble() const
{
unsigned double d = m_hi;
d *= 1.0 + (double)ULONG_MAX;
d += m_lo;
#ifdef wxLONGLONG_TEST_MODE
wxASSERT( d == m_ll );
#endif // wxLONGLONG_TEST_MODE
return d;
}
wxLongLongWx wxLongLongWx::operator<<(int shift) const
{
wxLongLongWx ll(*this);