Alternative solution using union

This commit is contained in:
Zlodiy
2014-06-05 12:17:06 +11:00
parent 67eaa4fddd
commit 5cd3bb8626

View File

@@ -80,24 +80,24 @@ private:
class PycCFloat : public PycObject {
public:
PycCFloat(int type = TYPE_BINARY_FLOAT)
: PycObject(type), m_value.d(0.0) { }
: PycObject(type), m_value(0.0) { }
bool isEqual(PycRef<PycObject> obj) const
{
return (type() == obj->type()) &&
(m_value.d == obj.cast<PycCFloat>()->m_value.d);
(m_value.d == obj.cast<PycCFloat>()->m_value);
}
void load(class PycData* stream, class PycModule* mod);
double value() const { return m_value.d; }
double value() const { return m_value; }
private:
union
{
Pyc_INT64 i64;
double d;
} m_value;
Pyc_INT64 m_value_i64;
double m_value;
}
};
class PycCComplex : public PycCFloat {
@@ -116,7 +116,11 @@ public:
double imag() const { return m_imag; }
private:
double m_imag;
union
{
Pyc_INT64 m_imag_i64;
double m_imag;
}
};
#endif