454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
|
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
|
-
+
|
selector: _cmd];
}
- initWithBool: (BOOL)bool_
{
self = [super init];
value.bool_ = bool_;
value.bool_ = (bool_ ? YES : NO);
type = OF_NUMBER_BOOL;
return self;
}
- initWithChar: (signed char)char_
{
|
912
913
914
915
916
917
918
919
920
921
922
923
924
925
|
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
|
+
|
if (![object isKindOfClass: [OFNumber class]])
return NO;
number = object;
switch (type) {
case OF_NUMBER_BOOL:
case OF_NUMBER_CHAR:
case OF_NUMBER_SHORT:
case OF_NUMBER_INT:
case OF_NUMBER_LONG:
case OF_NUMBER_INT8:
case OF_NUMBER_INT16:
case OF_NUMBER_INT32:
|
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
|
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
|
-
+
+
-
+
+
|
CALCULATE3(- 1)
}
- (OFNumber*)remainderOfDivisionWithNumber: (OFNumber*)number
{
switch (type) {
case OF_NUMBER_BOOL:
return [OFNumber numberWithBool: value.bool_ % [number boolValue]];
return [OFNumber numberWithBool:
value.bool_ % [number boolValue]];
case OF_NUMBER_CHAR:
return [OFNumber numberWithChar: value.char_ % [number charValue]];
return [OFNumber numberWithChar:
value.char_ % [number charValue]];
case OF_NUMBER_SHORT:
return [OFNumber numberWithShort:
value.short_ % [number shortValue]];
case OF_NUMBER_INT:
return [OFNumber numberWithInt: value.int_ % [number intValue]];
case OF_NUMBER_LONG:
return [OFNumber numberWithLong:
|