--- a/QDouble.st Sun Dec 01 16:12:35 2019 +0100
+++ b/QDouble.st Mon Dec 02 08:43:54 2019 +0100
@@ -3792,8 +3792,34 @@
"
!
+equalFromFloat:aFloat
+%{ /* NOCONTEXT */
+ if (__isFloat(aFloat)) {
+ double *a = __QDoubleInstPtr(self)->d_qDoubleValue;
+ double b = __floatVal(aFloat);
+
+ RETURN ((a[0] == b
+ && a[1] == 0.0
+ && a[2] == 0.0
+ && a[3] == 0.0) ? true : false);
+ }
+%}.
+ ^ (self d0 = aFloat)
+ and:[ (self d1 = 0.0)
+ and:[ (self d2 = 0.0)
+ and:[ (self d3 = 0.0) ]]]
+
+ "
+ (QDouble fromFloat:1.0) = 1.0
+ (QDouble fromFloat:1.0) = 1.0
+ 1.0 = (QDouble fromFloat:1.0)
+ 1.1 = (QDouble fromFloat:1.0)
+ 1.1 = (QDouble fromFloat:1.1)
+ "
+!
+
equalFromQDouble:aQDouble
-%{
+%{ /* NOCONTEXT */
if (__Class(aQDouble) == QDouble) {
double *a = __QDoubleInstPtr(self)->d_qDoubleValue;
double *b = __QDoubleInstPtr(aQDouble)->d_qDoubleValue;
@@ -3812,7 +3838,9 @@
"
(QDouble fromFloat:1.0) = (QDouble fromFloat:1.0)
(QDouble fromFloat:1.0) = 1.0
- 1.0 = (QDouble fromFloat:1.0)
+ 1.0 = (QDouble fromFloat:1.0)
+ 1e20 = 1e20 asQDouble
+ 1e20 = (1e20 asQDouble + 1e-20)
"
"Created: / 13-06-2017 / 03:01:19 / cg"