Overview
Comment: | Add uintptr_t to OFNumber. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
3e2aa4cf61f80fd73f4f477e28b8893f |
User & Date: | js on 2010-03-15 01:38:48 |
Other Links: | manifest | tags |
Context
2010-03-15
| ||
14:10 | Prevent double-closing in OFFile. check-in: 08769cce4e user: js tags: trunk | |
01:38 | Add uintptr_t to OFNumber. check-in: 3e2aa4cf61 user: js tags: trunk | |
2010-03-14
| ||
12:43 | Added tag 0.2.1-release for changeset 1ea5175a9d41 check-in: 648e6cb94c user: js tags: trunk | |
Changes
Modified src/OFNumber.h from [82eb4472bd] to [44b277b096].
︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | + | OF_NUMBER_UINT64, OF_NUMBER_SIZE, OF_NUMBER_SSIZE, OF_NUMBER_INTMAX, OF_NUMBER_UINTMAX, OF_NUMBER_PTRDIFF, OF_NUMBER_INTPTR, OF_NUMBER_UINTPTR, OF_NUMBER_FLOAT, OF_NUMBER_DOUBLE, }; /** * \brief Provides a way to store a number in an object. */ |
︙ | |||
64 65 66 67 68 69 70 71 72 73 74 75 76 77 | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | + | uint64_t uint64; size_t size; ssize_t ssize; intmax_t intmax; uintmax_t uintmax; ptrdiff_t ptrdiff; intptr_t intptr; uintptr_t uintptr; float float_; double double_; } value; enum of_number_type type; } /** |
︙ | |||
202 203 204 205 206 207 208 209 210 211 212 213 214 215 | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | + + + + + + | /** * \param intptr An intptr_t which the OFNumber should contain * \return A new autoreleased OFNumber */ + numberWithIntPtr: (intptr_t)intptr; /** * \param uintptr An uintptr_t which the OFNumber should contain * \return A new autoreleased OFNumber */ + numberWithUIntPtr: (uintptr_t)uintptr; /** * \param float_ A float which the OFNumber should contain * \return A new autoreleased OFNumber */ + numberWithFloat: (float)float_; /** |
︙ | |||
390 391 392 393 394 395 396 397 398 399 400 401 402 403 | 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | + + + + + + + + | * Initializes an already allocated OFNumber with the specified intptr_t. * * \param intptr An intptr_t which the OFNumber should contain * \return An initialized OFNumber */ - initWithIntPtr: (intptr_t)intptr; /** * Initializes an already allocated OFNumber with the specified uintptr_t. * * \param uintptr An uintptr_t which the OFNumber should contain * \return An initialized OFNumber */ - initWithUIntPtr: (uintptr_t)uintptr; /** * Initializes an already allocated OFNumber with the specified float. * * \param float_ A float which the OFNumber should contain * \return An initialized OFNumber */ - initWithFloat: (float)float_; |
︙ | |||
522 523 524 525 526 527 528 529 530 531 532 533 534 535 | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 | + + + + + | - (ptrdiff_t)asPtrDiff; /** * \return The OFNumber as an intptr_t */ - (intptr_t)asIntPtr; /** * \return The OFNumber as an uintptr_t */ - (uintptr_t)asUIntPtr; /** * \return The OFNumber as a float */ - (float)asFloat; /** * \return The OFNumber as a double |
︙ |
Modified src/OFNumber.m from [ff05eb19c1] to [c9d9078686].
︙ | |||
57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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: |
︙ |