Merge pull request #48 from Zlodiy/master
Alternative solution for PycCFloat and PycCComplex using union
This commit is contained in:
@@ -153,7 +153,7 @@ bool PycComplex::isEqual(PycRef<PycObject> obj) const
|
|||||||
/* PycCFloat */
|
/* PycCFloat */
|
||||||
void PycCFloat::load(PycData* stream, PycModule*)
|
void PycCFloat::load(PycData* stream, PycModule*)
|
||||||
{
|
{
|
||||||
m_value = (double)stream->get64();
|
m_value_i64 = stream->get64();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -161,5 +161,5 @@ void PycCFloat::load(PycData* stream, PycModule*)
|
|||||||
void PycCComplex::load(PycData* stream, PycModule* mod)
|
void PycCComplex::load(PycData* stream, PycModule* mod)
|
||||||
{
|
{
|
||||||
PycCFloat::load(stream, mod);
|
PycCFloat::load(stream, mod);
|
||||||
m_imag = (double)stream->get64();
|
m_imag_i64 = stream->get64();
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
#define _PYC_NUMERIC_H
|
#define _PYC_NUMERIC_H
|
||||||
|
|
||||||
#include "pyc_object.h"
|
#include "pyc_object.h"
|
||||||
|
#include "data.h"
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@@ -93,7 +94,11 @@ public:
|
|||||||
double value() const { return m_value; }
|
double value() const { return m_value; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double m_value;
|
union
|
||||||
|
{
|
||||||
|
Pyc_INT64 m_value_i64;
|
||||||
|
double m_value;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class PycCComplex : public PycCFloat {
|
class PycCComplex : public PycCFloat {
|
||||||
@@ -112,7 +117,11 @@ public:
|
|||||||
double imag() const { return m_imag; }
|
double imag() const { return m_imag; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double m_imag;
|
union
|
||||||
|
{
|
||||||
|
Pyc_INT64 m_imag_i64;
|
||||||
|
double m_imag;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user