︙ | | | ︙ | |
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
return (t)value.intmax; \
case OF_NUMBER_UINTMAX: \
return (t)value.uintmax; \
case OF_NUMBER_PTRDIFF: \
return (t)value.ptrdiff; \
case OF_NUMBER_INTPTR: \
return (t)value.intptr; \
case OF_NUMBER_FLOAT: \
return (t)value.float_; \
case OF_NUMBER_DOUBLE: \
return (t)value.double_; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
>
>
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
return (t)value.intmax; \
case OF_NUMBER_UINTMAX: \
return (t)value.uintmax; \
case OF_NUMBER_PTRDIFF: \
return (t)value.ptrdiff; \
case OF_NUMBER_INTPTR: \
return (t)value.intptr; \
case OF_NUMBER_UINTPTR: \
return (t)value.uintptr; \
case OF_NUMBER_FLOAT: \
return (t)value.float_; \
case OF_NUMBER_DOUBLE: \
return (t)value.double_; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
︙ | | | ︙ | |
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
value.uintmax o [n asUIntMax]]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: \
value.ptrdiff o [n asPtrDiff]]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: \
value.intptr o [n asIntPtr]]; \
case OF_NUMBER_FLOAT: \
return [OFNumber numberWithFloat: \
value.float_ o [n asFloat]]; \
case OF_NUMBER_DOUBLE: \
return [OFNumber numberWithDouble: \
value.double_ o [n asDouble]]; \
default: \
|
>
>
>
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
value.uintmax o [n asUIntMax]]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: \
value.ptrdiff o [n asPtrDiff]]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: \
value.intptr o [n asIntPtr]]; \
case OF_NUMBER_UINTPTR: \
return [OFNumber numberWithUIntPtr: \
value.uintptr o [n asUIntPtr]]; \
case OF_NUMBER_FLOAT: \
return [OFNumber numberWithFloat: \
value.float_ o [n asFloat]]; \
case OF_NUMBER_DOUBLE: \
return [OFNumber numberWithDouble: \
value.double_ o [n asDouble]]; \
default: \
|
︙ | | | ︙ | |
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
value.uintmax o [n asUIntMax]]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: \
value.ptrdiff o [n asPtrDiff]]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: \
value.intptr o [n asIntPtr]]; \
case OF_NUMBER_FLOAT: \
case OF_NUMBER_DOUBLE: \
@throw [OFNotImplementedException newWithClass: isa \
selector: _cmd]; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
>
>
>
|
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
value.uintmax o [n asUIntMax]]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: \
value.ptrdiff o [n asPtrDiff]]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: \
value.intptr o [n asIntPtr]]; \
case OF_NUMBER_UINTPTR: \
return [OFNumber numberWithUIntPtr: \
value.uintptr o [n asUIntPtr]]; \
case OF_NUMBER_FLOAT: \
case OF_NUMBER_DOUBLE: \
@throw [OFNotImplementedException newWithClass: isa \
selector: _cmd]; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
︙ | | | ︙ | |
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
return [OFNumber numberWithIntMax: value.intmax o]; \
case OF_NUMBER_UINTMAX: \
return [OFNumber numberWithUIntMax: value.uintmax o]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: value.ptrdiff o]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: value.intptr o]; \
case OF_NUMBER_FLOAT: \
return [OFNumber numberWithFloat: value.float_ o]; \
case OF_NUMBER_DOUBLE: \
return [OFNumber numberWithDouble: value.double_ o]; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
>
>
|
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
return [OFNumber numberWithIntMax: value.intmax o]; \
case OF_NUMBER_UINTMAX: \
return [OFNumber numberWithUIntMax: value.uintmax o]; \
case OF_NUMBER_PTRDIFF: \
return [OFNumber numberWithPtrDiff: value.ptrdiff o]; \
case OF_NUMBER_INTPTR: \
return [OFNumber numberWithIntPtr: value.intptr o]; \
case OF_NUMBER_UINTPTR: \
return [OFNumber numberWithUIntPtr: value.uintptr o]; \
case OF_NUMBER_FLOAT: \
return [OFNumber numberWithFloat: value.float_ o]; \
case OF_NUMBER_DOUBLE: \
return [OFNumber numberWithDouble: value.double_ o]; \
default: \
@throw [OFInvalidFormatException newWithClass: isa]; \
}
|
︙ | | | ︙ | |
380
381
382
383
384
385
386
387
388
389
390
391
392
393
|
return [[[self alloc] initWithPtrDiff: ptrdiff] autorelease];
}
+ numberWithIntPtr: (intptr_t)intptr
{
return [[[self alloc] initWithIntPtr: intptr] autorelease];
}
+ numberWithFloat: (float)float_
{
return [[[self alloc] initWithFloat: float_] autorelease];
}
+ numberWithDouble: (double)double_
|
>
>
>
>
>
|
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
|
return [[[self alloc] initWithPtrDiff: ptrdiff] autorelease];
}
+ numberWithIntPtr: (intptr_t)intptr
{
return [[[self alloc] initWithIntPtr: intptr] autorelease];
}
+ numberWithUIntPtr: (uintptr_t)uintptr
{
return [[[self alloc] initWithUIntPtr: uintptr] autorelease];
}
+ numberWithFloat: (float)float_
{
return [[[self alloc] initWithFloat: float_] autorelease];
}
+ numberWithDouble: (double)double_
|
︙ | | | ︙ | |
616
617
618
619
620
621
622
623
624
625
626
627
628
629
|
self = [super init];
value.intptr = intptr;
type = OF_NUMBER_INTPTR;
return self;
}
- initWithFloat: (float)float_
{
self = [super init];
value.float_ = float_;
type = OF_NUMBER_FLOAT;
|
>
>
>
>
>
>
>
>
>
>
|
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
|
self = [super init];
value.intptr = intptr;
type = OF_NUMBER_INTPTR;
return self;
}
- initWithUIntPtr: (uintptr_t)uintptr
{
self = [super init];
value.uintptr = uintptr;
type = OF_NUMBER_UINTPTR;
return self;
}
- initWithFloat: (float)float_
{
self = [super init];
value.float_ = float_;
type = OF_NUMBER_FLOAT;
|
︙ | | | ︙ | |
751
752
753
754
755
756
757
758
759
760
761
762
763
764
|
RETURN_AS(ptrdiff_t)
}
- (intptr_t)asIntPtr
{
RETURN_AS(intptr_t)
}
- (float)asFloat
{
RETURN_AS(float)
}
- (double)asDouble
|
>
>
>
>
>
|
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
|
RETURN_AS(ptrdiff_t)
}
- (intptr_t)asIntPtr
{
RETURN_AS(intptr_t)
}
- (uintptr_t)asUIntPtr
{
RETURN_AS(uintptr_t)
}
- (float)asFloat
{
RETURN_AS(float)
}
- (double)asDouble
|
︙ | | | ︙ | |
792
793
794
795
796
797
798
799
800
801
802
803
804
805
|
case OF_NUMBER_UINT8:
case OF_NUMBER_UINT16:
case OF_NUMBER_UINT32:
case OF_NUMBER_UINT64:
case OF_NUMBER_SIZE:
case OF_NUMBER_UINTMAX:
case OF_NUMBER_INTPTR:
return ([(OFNumber*)obj asUIntMax] == [self asUIntMax]
? YES : NO);
case OF_NUMBER_FLOAT:
case OF_NUMBER_DOUBLE:
return ([(OFNumber*)obj asDouble] == [self asDouble]
? YES : NO);
default:
|
>
|
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
|
case OF_NUMBER_UINT8:
case OF_NUMBER_UINT16:
case OF_NUMBER_UINT32:
case OF_NUMBER_UINT64:
case OF_NUMBER_SIZE:
case OF_NUMBER_UINTMAX:
case OF_NUMBER_INTPTR:
case OF_NUMBER_UINTPTR:
return ([(OFNumber*)obj asUIntMax] == [self asUIntMax]
? YES : NO);
case OF_NUMBER_FLOAT:
case OF_NUMBER_DOUBLE:
return ([(OFNumber*)obj asDouble] == [self asDouble]
? YES : NO);
default:
|
︙ | | | ︙ | |