--- a/QuadFloat.st Thu Jun 06 23:01:38 2019 +0200
+++ b/QuadFloat.st Thu Jun 06 23:13:03 2019 +0200
@@ -1014,6 +1014,65 @@
"Created: / 06-06-2019 / 17:09:51 / Claus Gittinger"
! !
+!QuadFloat methodsFor:'double dispatching'!
+
+sumFromQuadFloat:aQuadFloat
+%{
+ OBJ newFloat;
+ float128_t result, myVal, argVal;
+
+ myVal = __quadFloatVal(self);
+ argVal = __quadFloatVal(aQuadFloat);
+ f128M_add( &myVal, &argVal, &result );
+ __qMKQFLOAT(newFloat, result);
+ RETURN ( newFloat );
+%}
+! !
+
+!QuadFloat methodsFor:'arithmetic'!
+
+* aNumber
+ "return the product of the receiver and the argument."
+
+ ^ aNumber productFromQuadFloat:self
+!
+
++ aNumber
+ "return the sum of the receiver and the argument, aNumber"
+
+ ^ aNumber sumFromQuadFloat:self
+!
+
+- aNumber
+ "return the difference of the receiver and the argument, aNumber"
+
+ ^ aNumber differenceFromQuadFloat:self
+!
+
+/ aNumber
+ "return the quotient of the receiver and the argument, aNumber"
+
+ aNumber isZero ifTrue:[
+ "
+ No, you shalt not divide by zero
+ "
+ ^ ZeroDivide raiseRequestWith:thisContext.
+ ].
+ ^ aNumber quotientFromQuadFloat:self
+!
+
+rem: aNumber
+ "return the floating point remainder of the receiver and the argument, aNumber"
+
+ aNumber isZero ifTrue:[
+ "
+ No, you shalt not divide by zero
+ "
+ ^ ZeroDivide raiseRequestWith:thisContext.
+ ].
+ ^ aNumber remainderFromLongFloat:self
+! !
+
!QuadFloat class methodsFor:'documentation'!
version_CVS