@@ -717,11 +717,11 @@ - (long double)asLongDouble { RETURN_AS(long double) } -- (BOOL)isEqual: (id)obj +- (BOOL)isEqual: (OFObject*)obj { if (![obj isKindOfClass: [OFNumber class]]) return NO; switch (type) { @@ -733,11 +733,12 @@ case OF_NUMBER_INT16: case OF_NUMBER_INT32: case OF_NUMBER_INT64: case OF_NUMBER_INTMAX: case OF_NUMBER_PTRDIFF: - return ([obj asIntMax] == [self asIntMax] ? YES : NO); + return ([(OFNumber*)obj asIntMax] == [self asIntMax] + ? YES : NO); case OF_NUMBER_SSIZE: case OF_NUMBER_UCHAR: case OF_NUMBER_USHORT: case OF_NUMBER_UINT: case OF_NUMBER_ULONG: @@ -746,14 +747,16 @@ case OF_NUMBER_UINT32: case OF_NUMBER_UINT64: case OF_NUMBER_SIZE: case OF_NUMBER_UINTMAX: case OF_NUMBER_INTPTR: - return ([obj asUIntMax] == [self asUIntMax] ? YES : NO); + return ([(OFNumber*)obj asUIntMax] == [self asUIntMax] + ? YES : NO); case OF_NUMBER_FLOAT: case OF_NUMBER_DOUBLE: - return ([obj asDouble] == [self asDouble] ? YES : NO); + return ([(OFNumber*)obj asDouble] == [self asDouble] + ? YES : NO); default: @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; } }