From cddf492efdf7e44b26a0093fced5673a78c2fd28 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Mon, 16 Jun 2008 11:02:11 +0200 Subject: MLKFloat: Explicitly declare the contract for subclasses. --- MLKFloat.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'MLKFloat.h') diff --git a/MLKFloat.h b/MLKFloat.h index fe9ed48..bd8c3e4 100644 --- a/MLKFloat.h +++ b/MLKFloat.h @@ -20,7 +20,12 @@ #import - +// An MLKFloat can represent any kind of CL floating-point number. +// +// MLKFloat itself is not instantiable. It is a class cluster whose +// instances are of one of its subclasses (currently MLKSingleFloat und +// MLKDoubleFloat; an arbitrary-precision, GMP-backed type is planned +// for the future). @interface MLKFloat : MLKLispValue +(MLKFloat *) floatWithExponentMarker:(unichar)exponentMarker integerPart:(NSString *)intPart @@ -28,4 +33,15 @@ fractionalPart:(NSString *)fractPart exponent:(NSString *)exponent exponentNegative:(BOOL)exponentNegative; + +// Abstract methods. +-(float) floatValue; +-(double) doubleValue; + +-(MLKFloat *) add:(MLKFloat *)arg; +-(MLKFloat *) subtract:(MLKFloat *)arg; +-(MLKFloat *) multiplyWith:(MLKFloat *)arg; +-(MLKFloat *) divideBy:(MLKFloat *)arg; + +-(NSString *) description; @end -- cgit v1.2.3