Index: src/OFNumber.h ================================================================== --- src/OFNumber.h +++ src/OFNumber.h @@ -33,66 +33,77 @@ /*! * @brief The C type of a number stored in an OFNumber. */ typedef enum { /*! bool */ - OF_NUMBER_BOOL = 0x01, + OF_NUMBER_TYPE_BOOL = 0x01, /*! unsigned char */ - OF_NUMBER_UCHAR = 0x02, + OF_NUMBER_TYPE_UCHAR = 0x02, /*! unsigned short */ - OF_NUMBER_USHORT = 0x03, + OF_NUMBER_TYPE_USHORT = 0x03, /*! unsigned int */ - OF_NUMBER_UINT = 0x04, + OF_NUMBER_TYPE_UINT = 0x04, /*! unsigned long */ - OF_NUMBER_ULONG = 0x05, + OF_NUMBER_TYPE_ULONG = 0x05, /*! unsigned long long */ - OF_NUMBER_ULONGLONG = 0x06, + OF_NUMBER_TYPE_ULONGLONG = 0x06, /*! size_t */ - OF_NUMBER_SIZE = 0x07, + OF_NUMBER_TYPE_SIZE = 0x07, /*! uint8_t */ - OF_NUMBER_UINT8 = 0x08, + OF_NUMBER_TYPE_UINT8 = 0x08, /*! uint16_t */ - OF_NUMBER_UINT16 = 0x09, + OF_NUMBER_TYPE_UINT16 = 0x09, /*! uint32_t */ - OF_NUMBER_UINT32 = 0x0A, + OF_NUMBER_TYPE_UINT32 = 0x0A, /*! uint64_t */ - OF_NUMBER_UINT64 = 0x0B, + OF_NUMBER_TYPE_UINT64 = 0x0B, /*! uintptr_t */ - OF_NUMBER_UINTPTR = 0x0C, + OF_NUMBER_TYPE_UINTPTR = 0x0C, /*! uintmax_t */ - OF_NUMBER_UINTMAX = 0x0D, - OF_NUMBER_SIGNED = 0x10, + OF_NUMBER_TYPE_UINTMAX = 0x0D, + OF_NUMBER_TYPE_SIGNED = 0x10, /*! signed char */ - OF_NUMBER_CHAR = OF_NUMBER_UCHAR | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_CHAR = OF_NUMBER_TYPE_UCHAR | + OF_NUMBER_TYPE_SIGNED, /*! signed short */ - OF_NUMBER_SHORT = OF_NUMBER_USHORT | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_SHORT = OF_NUMBER_TYPE_USHORT | + OF_NUMBER_TYPE_SIGNED, /*! signed int */ - OF_NUMBER_INT = OF_NUMBER_UINT | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INT = OF_NUMBER_TYPE_UINT | + OF_NUMBER_TYPE_SIGNED, /*! signed long */ - OF_NUMBER_LONG = OF_NUMBER_ULONG | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_LONG = OF_NUMBER_TYPE_ULONG | + OF_NUMBER_TYPE_SIGNED, /*! signed long long */ - OF_NUMBER_LONGLONG = OF_NUMBER_ULONGLONG | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_LONGLONG = OF_NUMBER_TYPE_ULONGLONG | + OF_NUMBER_TYPE_SIGNED, /*! int8_t */ - OF_NUMBER_INT8 = OF_NUMBER_UINT8 | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INT8 = OF_NUMBER_TYPE_UINT8 | + OF_NUMBER_TYPE_SIGNED, /*! int16_t */ - OF_NUMBER_INT16 = OF_NUMBER_UINT16 | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INT16 = OF_NUMBER_TYPE_UINT16 | + OF_NUMBER_TYPE_SIGNED, /*! int32_t */ - OF_NUMBER_INT32 = OF_NUMBER_UINT32 | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INT32 = OF_NUMBER_TYPE_UINT32 | + OF_NUMBER_TYPE_SIGNED, /*! int64_t */ - OF_NUMBER_INT64 = OF_NUMBER_UINT64 | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INT64 = OF_NUMBER_TYPE_UINT64 | + OF_NUMBER_TYPE_SIGNED, /*! ssize_t */ - OF_NUMBER_SSIZE = OF_NUMBER_SIZE | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_SSIZE = OF_NUMBER_TYPE_SIZE | + OF_NUMBER_TYPE_SIGNED, /*! intmax_t */ - OF_NUMBER_INTMAX = OF_NUMBER_UINTMAX | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INTMAX = OF_NUMBER_TYPE_UINTMAX | + OF_NUMBER_TYPE_SIGNED, /*! ptrdiff_t */ - OF_NUMBER_PTRDIFF = 0x0E | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_PTRDIFF = 0x0E | OF_NUMBER_TYPE_SIGNED, /*! intptr_t */ - OF_NUMBER_INTPTR = 0x0F | OF_NUMBER_SIGNED, + OF_NUMBER_TYPE_INTPTR = 0x0F | OF_NUMBER_TYPE_SIGNED, /*! float */ - OF_NUMBER_FLOAT = 0x20, + OF_NUMBER_TYPE_FLOAT = 0x20, /*! double */ - OF_NUMBER_DOUBLE = 0x40 | OF_NUMBER_FLOAT, + OF_NUMBER_TYPE_DOUBLE = 0x40 | OF_NUMBER_TYPE_FLOAT, } of_number_type_t; /*! * @class OFNumber OFNumber.h ObjFW/OFNumber.h * Index: src/OFNumber.m ================================================================== --- src/OFNumber.m +++ src/OFNumber.m @@ -28,306 +28,306 @@ #import "OFInvalidFormatException.h" #import "OFOutOfRangeException.h" #define RETURN_AS(t) \ switch (_type) { \ - case OF_NUMBER_BOOL: \ + case OF_NUMBER_TYPE_BOOL: \ return (t)_value.bool_; \ - case OF_NUMBER_CHAR: \ + case OF_NUMBER_TYPE_CHAR: \ return (t)_value.schar; \ - case OF_NUMBER_SHORT: \ + case OF_NUMBER_TYPE_SHORT: \ return (t)_value.sshort; \ - case OF_NUMBER_INT: \ + case OF_NUMBER_TYPE_INT: \ return (t)_value.sint; \ - case OF_NUMBER_LONG: \ + case OF_NUMBER_TYPE_LONG: \ return (t)_value.slong; \ - case OF_NUMBER_LONGLONG: \ + case OF_NUMBER_TYPE_LONGLONG: \ return (t)_value.slonglong; \ - case OF_NUMBER_UCHAR: \ + case OF_NUMBER_TYPE_UCHAR: \ return (t)_value.uchar; \ - case OF_NUMBER_USHORT: \ + case OF_NUMBER_TYPE_USHORT: \ return (t)_value.ushort; \ - case OF_NUMBER_UINT: \ + case OF_NUMBER_TYPE_UINT: \ return (t)_value.uint; \ - case OF_NUMBER_ULONG: \ + case OF_NUMBER_TYPE_ULONG: \ return (t)_value.ulong; \ - case OF_NUMBER_ULONGLONG: \ + case OF_NUMBER_TYPE_ULONGLONG: \ return (t)_value.ulonglong; \ - case OF_NUMBER_INT8: \ + case OF_NUMBER_TYPE_INT8: \ return (t)_value.int8; \ - case OF_NUMBER_INT16: \ + case OF_NUMBER_TYPE_INT16: \ return (t)_value.int16; \ - case OF_NUMBER_INT32: \ + case OF_NUMBER_TYPE_INT32: \ return (t)_value.int32; \ - case OF_NUMBER_INT64: \ + case OF_NUMBER_TYPE_INT64: \ return (t)_value.int64; \ - case OF_NUMBER_UINT8: \ + case OF_NUMBER_TYPE_UINT8: \ return (t)_value.uint8; \ - case OF_NUMBER_UINT16: \ + case OF_NUMBER_TYPE_UINT16: \ return (t)_value.uint16; \ - case OF_NUMBER_UINT32: \ + case OF_NUMBER_TYPE_UINT32: \ return (t)_value.uint32; \ - case OF_NUMBER_UINT64: \ + case OF_NUMBER_TYPE_UINT64: \ return (t)_value.uint64; \ - case OF_NUMBER_SIZE: \ + case OF_NUMBER_TYPE_SIZE: \ return (t)_value.size; \ - case OF_NUMBER_SSIZE: \ + case OF_NUMBER_TYPE_SSIZE: \ return (t)_value.ssize; \ - case OF_NUMBER_INTMAX: \ + case OF_NUMBER_TYPE_INTMAX: \ return (t)_value.intmax; \ - case OF_NUMBER_UINTMAX: \ + case OF_NUMBER_TYPE_UINTMAX: \ return (t)_value.uintmax; \ - case OF_NUMBER_PTRDIFF: \ + case OF_NUMBER_TYPE_PTRDIFF: \ return (t)_value.ptrdiff; \ - case OF_NUMBER_INTPTR: \ + case OF_NUMBER_TYPE_INTPTR: \ return (t)_value.intptr; \ - case OF_NUMBER_UINTPTR: \ + case OF_NUMBER_TYPE_UINTPTR: \ return (t)_value.uintptr; \ - case OF_NUMBER_FLOAT: \ + case OF_NUMBER_TYPE_FLOAT: \ return (t)_value.float_; \ - case OF_NUMBER_DOUBLE: \ + case OF_NUMBER_TYPE_DOUBLE: \ return (t)_value.double_; \ default: \ @throw [OFInvalidFormatException exception]; \ } #define CALCULATE(o, n) \ switch (_type) { \ - case OF_NUMBER_BOOL: \ + case OF_NUMBER_TYPE_BOOL: \ return [OFNumber numberWithBool: \ _value.bool_ o [n boolValue]]; \ - case OF_NUMBER_CHAR: \ + case OF_NUMBER_TYPE_CHAR: \ return [OFNumber numberWithChar: \ _value.schar o [n charValue]]; \ - case OF_NUMBER_SHORT: \ + case OF_NUMBER_TYPE_SHORT: \ return [OFNumber numberWithShort: \ _value.sshort o [n shortValue]]; \ - case OF_NUMBER_INT: \ + case OF_NUMBER_TYPE_INT: \ return [OFNumber numberWithInt: \ _value.sint o [n intValue]]; \ - case OF_NUMBER_LONG: \ + case OF_NUMBER_TYPE_LONG: \ return [OFNumber numberWithLong: \ _value.slong o [n longValue]]; \ - case OF_NUMBER_LONGLONG: \ + case OF_NUMBER_TYPE_LONGLONG: \ return [OFNumber numberWithLongLong: \ _value.slonglong o [n longLongValue]]; \ - case OF_NUMBER_UCHAR: \ + case OF_NUMBER_TYPE_UCHAR: \ return [OFNumber numberWithUnsignedChar: \ _value.uchar o [n unsignedCharValue]]; \ - case OF_NUMBER_USHORT: \ + case OF_NUMBER_TYPE_USHORT: \ return [OFNumber numberWithUnsignedShort: \ _value.ushort o [n unsignedShortValue]]; \ - case OF_NUMBER_UINT: \ + case OF_NUMBER_TYPE_UINT: \ return [OFNumber numberWithUnsignedInt: \ _value.uint o [n unsignedIntValue]]; \ - case OF_NUMBER_ULONG: \ + case OF_NUMBER_TYPE_ULONG: \ return [OFNumber numberWithUnsignedLong: \ _value.ulong o [n unsignedLongValue]]; \ - case OF_NUMBER_ULONGLONG: \ + case OF_NUMBER_TYPE_ULONGLONG: \ return [OFNumber numberWithUnsignedLongLong: \ _value.ulonglong o [n unsignedLongLongValue]]; \ - case OF_NUMBER_INT8: \ + case OF_NUMBER_TYPE_INT8: \ return [OFNumber numberWithInt8: \ _value.int8 o [n int8Value]]; \ - case OF_NUMBER_INT16: \ + case OF_NUMBER_TYPE_INT16: \ return [OFNumber numberWithInt16: \ _value.int16 o [n int16Value]]; \ - case OF_NUMBER_INT32: \ + case OF_NUMBER_TYPE_INT32: \ return [OFNumber numberWithInt32: \ _value.int32 o [n int32Value]]; \ - case OF_NUMBER_INT64: \ + case OF_NUMBER_TYPE_INT64: \ return [OFNumber numberWithInt64: \ _value.int64 o [n int64Value]]; \ - case OF_NUMBER_UINT8: \ + case OF_NUMBER_TYPE_UINT8: \ return [OFNumber numberWithUInt8: \ _value.uint8 o [n uInt8Value]]; \ - case OF_NUMBER_UINT16: \ + case OF_NUMBER_TYPE_UINT16: \ return [OFNumber numberWithUInt16: \ _value.uint16 o [n uInt16Value]]; \ - case OF_NUMBER_UINT32: \ + case OF_NUMBER_TYPE_UINT32: \ return [OFNumber numberWithUInt32: \ _value.uint32 o [n uInt32Value]]; \ - case OF_NUMBER_UINT64: \ + case OF_NUMBER_TYPE_UINT64: \ return [OFNumber numberWithUInt64: \ _value.uint64 o [n uInt64Value]]; \ - case OF_NUMBER_SIZE: \ + case OF_NUMBER_TYPE_SIZE: \ return [OFNumber numberWithSize: \ _value.size o [n sizeValue]]; \ - case OF_NUMBER_SSIZE: \ + case OF_NUMBER_TYPE_SSIZE: \ return [OFNumber numberWithSSize: \ _value.ssize o [n sSizeValue]]; \ - case OF_NUMBER_INTMAX: \ + case OF_NUMBER_TYPE_INTMAX: \ return [OFNumber numberWithIntMax: \ _value.intmax o [n intMaxValue]]; \ - case OF_NUMBER_UINTMAX: \ + case OF_NUMBER_TYPE_UINTMAX: \ return [OFNumber numberWithUIntMax: \ _value.uintmax o [n uIntMaxValue]]; \ - case OF_NUMBER_PTRDIFF: \ + case OF_NUMBER_TYPE_PTRDIFF: \ return [OFNumber numberWithPtrDiff: \ _value.ptrdiff o [n ptrDiffValue]]; \ - case OF_NUMBER_INTPTR: \ + case OF_NUMBER_TYPE_INTPTR: \ return [OFNumber numberWithIntPtr: \ _value.intptr o [n intPtrValue]]; \ - case OF_NUMBER_UINTPTR: \ + case OF_NUMBER_TYPE_UINTPTR: \ return [OFNumber numberWithUIntPtr: \ _value.uintptr o [n uIntPtrValue]]; \ - case OF_NUMBER_FLOAT: \ + case OF_NUMBER_TYPE_FLOAT: \ return [OFNumber numberWithFloat: \ _value.float_ o [n floatValue]]; \ - case OF_NUMBER_DOUBLE: \ + case OF_NUMBER_TYPE_DOUBLE: \ return [OFNumber numberWithDouble: \ _value.double_ o [n doubleValue]]; \ default: \ @throw [OFInvalidFormatException exception]; \ } #define CALCULATE2(o, n) \ switch (_type) { \ - case OF_NUMBER_BOOL: \ + case OF_NUMBER_TYPE_BOOL: \ return [OFNumber numberWithBool: \ _value.bool_ o [n boolValue]]; \ - case OF_NUMBER_CHAR: \ + case OF_NUMBER_TYPE_CHAR: \ return [OFNumber numberWithChar: \ _value.schar o [n charValue]]; \ - case OF_NUMBER_SHORT: \ + case OF_NUMBER_TYPE_SHORT: \ return [OFNumber numberWithShort: \ _value.sshort o [n shortValue]]; \ - case OF_NUMBER_INT: \ + case OF_NUMBER_TYPE_INT: \ return [OFNumber numberWithInt: \ _value.sint o [n intValue]]; \ - case OF_NUMBER_LONG: \ + case OF_NUMBER_TYPE_LONG: \ return [OFNumber numberWithLong: \ _value.slong o [n longValue]]; \ - case OF_NUMBER_LONGLONG: \ + case OF_NUMBER_TYPE_LONGLONG: \ return [OFNumber numberWithLongLong: \ _value.slonglong o [n longLongValue]]; \ - case OF_NUMBER_UCHAR: \ + case OF_NUMBER_TYPE_UCHAR: \ return [OFNumber numberWithUnsignedChar: \ _value.uchar o [n unsignedCharValue]]; \ - case OF_NUMBER_USHORT: \ + case OF_NUMBER_TYPE_USHORT: \ return [OFNumber numberWithUnsignedShort: \ _value.ushort o [n unsignedShortValue]]; \ - case OF_NUMBER_UINT: \ + case OF_NUMBER_TYPE_UINT: \ return [OFNumber numberWithUnsignedInt: \ _value.uint o [n unsignedIntValue]]; \ - case OF_NUMBER_ULONG: \ + case OF_NUMBER_TYPE_ULONG: \ return [OFNumber numberWithUnsignedLong: \ _value.ulong o [n unsignedLongValue]]; \ - case OF_NUMBER_ULONGLONG: \ + case OF_NUMBER_TYPE_ULONGLONG: \ return [OFNumber numberWithUnsignedLongLong: \ _value.ulonglong o [n unsignedLongLongValue]]; \ - case OF_NUMBER_INT8: \ + case OF_NUMBER_TYPE_INT8: \ return [OFNumber numberWithInt8: \ _value.int8 o [n int8Value]]; \ - case OF_NUMBER_INT16: \ + case OF_NUMBER_TYPE_INT16: \ return [OFNumber numberWithInt16: \ _value.int16 o [n int16Value]]; \ - case OF_NUMBER_INT32: \ + case OF_NUMBER_TYPE_INT32: \ return [OFNumber numberWithInt32: \ _value.int32 o [n int32Value]]; \ - case OF_NUMBER_INT64: \ + case OF_NUMBER_TYPE_INT64: \ return [OFNumber numberWithInt64: \ _value.int64 o [n int64Value]]; \ - case OF_NUMBER_UINT8: \ + case OF_NUMBER_TYPE_UINT8: \ return [OFNumber numberWithUInt8: \ _value.uint8 o [n uInt8Value]]; \ - case OF_NUMBER_UINT16: \ + case OF_NUMBER_TYPE_UINT16: \ return [OFNumber numberWithUInt16: \ _value.uint16 o [n uInt16Value]]; \ - case OF_NUMBER_UINT32: \ + case OF_NUMBER_TYPE_UINT32: \ return [OFNumber numberWithUInt32: \ _value.uint32 o [n uInt32Value]]; \ - case OF_NUMBER_UINT64: \ + case OF_NUMBER_TYPE_UINT64: \ return [OFNumber numberWithUInt64: \ _value.uint64 o [n uInt64Value]]; \ - case OF_NUMBER_SIZE: \ + case OF_NUMBER_TYPE_SIZE: \ return [OFNumber numberWithSize: \ _value.size o [n sizeValue]]; \ - case OF_NUMBER_SSIZE: \ + case OF_NUMBER_TYPE_SSIZE: \ return [OFNumber numberWithSSize: \ _value.ssize o [n sSizeValue]]; \ - case OF_NUMBER_INTMAX: \ + case OF_NUMBER_TYPE_INTMAX: \ return [OFNumber numberWithIntMax: \ _value.intmax o [n intMaxValue]]; \ - case OF_NUMBER_UINTMAX: \ + case OF_NUMBER_TYPE_UINTMAX: \ return [OFNumber numberWithUIntMax: \ _value.uintmax o [n uIntMaxValue]]; \ - case OF_NUMBER_PTRDIFF: \ + case OF_NUMBER_TYPE_PTRDIFF: \ return [OFNumber numberWithPtrDiff: \ _value.ptrdiff o [n ptrDiffValue]]; \ - case OF_NUMBER_INTPTR: \ + case OF_NUMBER_TYPE_INTPTR: \ return [OFNumber numberWithIntPtr: \ _value.intptr o [n intPtrValue]]; \ - case OF_NUMBER_UINTPTR: \ + case OF_NUMBER_TYPE_UINTPTR: \ return [OFNumber numberWithUIntPtr: \ _value.uintptr o [n uIntPtrValue]]; \ - case OF_NUMBER_FLOAT: \ - case OF_NUMBER_DOUBLE: \ + case OF_NUMBER_TYPE_FLOAT: \ + case OF_NUMBER_TYPE_DOUBLE: \ @throw [OFInvalidArgumentException exception]; \ default: \ @throw [OFInvalidFormatException exception]; \ } #define CALCULATE3(o) \ switch (_type) { \ - case OF_NUMBER_BOOL: \ + case OF_NUMBER_TYPE_BOOL: \ return [OFNumber numberWithBool: _value.bool_ o]; \ - case OF_NUMBER_CHAR: \ + case OF_NUMBER_TYPE_CHAR: \ return [OFNumber numberWithChar: _value.schar o]; \ - case OF_NUMBER_SHORT: \ + case OF_NUMBER_TYPE_SHORT: \ return [OFNumber numberWithShort: _value.sshort o]; \ - case OF_NUMBER_INT: \ + case OF_NUMBER_TYPE_INT: \ return [OFNumber numberWithInt: _value.sint o]; \ - case OF_NUMBER_LONG: \ + case OF_NUMBER_TYPE_LONG: \ return [OFNumber numberWithLong: _value.slong o]; \ - case OF_NUMBER_LONGLONG: \ + case OF_NUMBER_TYPE_LONGLONG: \ return [OFNumber numberWithLongLong: \ _value.slonglong o]; \ - case OF_NUMBER_UCHAR: \ + case OF_NUMBER_TYPE_UCHAR: \ return [OFNumber numberWithUnsignedChar: \ _value.uchar o]; \ - case OF_NUMBER_USHORT: \ + case OF_NUMBER_TYPE_USHORT: \ return [OFNumber numberWithUnsignedShort: \ _value.ushort o]; \ - case OF_NUMBER_UINT: \ + case OF_NUMBER_TYPE_UINT: \ return [OFNumber numberWithUnsignedInt: _value.uint o]; \ - case OF_NUMBER_ULONG: \ + case OF_NUMBER_TYPE_ULONG: \ return [OFNumber numberWithUnsignedLong: \ _value.ulong o]; \ - case OF_NUMBER_ULONGLONG: \ + case OF_NUMBER_TYPE_ULONGLONG: \ return [OFNumber numberWithUnsignedLongLong: \ _value.ulonglong o]; \ - case OF_NUMBER_INT8: \ + case OF_NUMBER_TYPE_INT8: \ return [OFNumber numberWithInt8: _value.int8 o]; \ - case OF_NUMBER_INT16: \ + case OF_NUMBER_TYPE_INT16: \ return [OFNumber numberWithInt16: _value.int16 o]; \ - case OF_NUMBER_INT32: \ + case OF_NUMBER_TYPE_INT32: \ return [OFNumber numberWithInt32: _value.int32 o]; \ - case OF_NUMBER_INT64: \ + case OF_NUMBER_TYPE_INT64: \ return [OFNumber numberWithInt64: _value.int64 o]; \ - case OF_NUMBER_UINT8: \ + case OF_NUMBER_TYPE_UINT8: \ return [OFNumber numberWithUInt8: _value.uint8 o]; \ - case OF_NUMBER_UINT16: \ + case OF_NUMBER_TYPE_UINT16: \ return [OFNumber numberWithUInt16: _value.uint16 o]; \ - case OF_NUMBER_UINT32: \ + case OF_NUMBER_TYPE_UINT32: \ return [OFNumber numberWithUInt32: _value.uint32 o]; \ - case OF_NUMBER_UINT64: \ + case OF_NUMBER_TYPE_UINT64: \ return [OFNumber numberWithUInt64: _value.uint64 o]; \ - case OF_NUMBER_SIZE: \ + case OF_NUMBER_TYPE_SIZE: \ return [OFNumber numberWithSize: _value.size o]; \ - case OF_NUMBER_SSIZE: \ + case OF_NUMBER_TYPE_SSIZE: \ return [OFNumber numberWithSSize: _value.ssize o]; \ - case OF_NUMBER_INTMAX: \ + case OF_NUMBER_TYPE_INTMAX: \ return [OFNumber numberWithIntMax: _value.intmax o]; \ - case OF_NUMBER_UINTMAX: \ + case OF_NUMBER_TYPE_UINTMAX: \ return [OFNumber numberWithUIntMax: _value.uintmax o]; \ - case OF_NUMBER_PTRDIFF: \ + case OF_NUMBER_TYPE_PTRDIFF: \ return [OFNumber numberWithPtrDiff: _value.ptrdiff o]; \ - case OF_NUMBER_INTPTR: \ + case OF_NUMBER_TYPE_INTPTR: \ return [OFNumber numberWithIntPtr: _value.intptr o]; \ - case OF_NUMBER_UINTPTR: \ + case OF_NUMBER_TYPE_UINTPTR: \ return [OFNumber numberWithUIntPtr: _value.uintptr o]; \ - case OF_NUMBER_FLOAT: \ + case OF_NUMBER_TYPE_FLOAT: \ return [OFNumber numberWithFloat: _value.float_ o]; \ - case OF_NUMBER_DOUBLE: \ + case OF_NUMBER_TYPE_DOUBLE: \ return [OFNumber numberWithDouble: _value.double_ o]; \ default: \ @throw [OFInvalidFormatException exception]; \ } @@ -485,281 +485,281 @@ - initWithBool: (bool)bool_ { self = [super init]; _value.bool_ = bool_; - _type = OF_NUMBER_BOOL; + _type = OF_NUMBER_TYPE_BOOL; return self; } - initWithChar: (signed char)schar { self = [super init]; _value.schar = schar; - _type = OF_NUMBER_CHAR; + _type = OF_NUMBER_TYPE_CHAR; return self; } - initWithShort: (signed short)sshort { self = [super init]; _value.sshort = sshort; - _type = OF_NUMBER_SHORT; + _type = OF_NUMBER_TYPE_SHORT; return self; } - initWithInt: (signed int)sint { self = [super init]; _value.sint = sint; - _type = OF_NUMBER_INT; + _type = OF_NUMBER_TYPE_INT; return self; } - initWithLong: (signed long)slong { self = [super init]; _value.slong = slong; - _type = OF_NUMBER_LONG; + _type = OF_NUMBER_TYPE_LONG; return self; } - initWithLongLong: (signed long long)slonglong { self = [super init]; _value.slonglong = slonglong; - _type = OF_NUMBER_LONGLONG; + _type = OF_NUMBER_TYPE_LONGLONG; return self; } - initWithUnsignedChar: (unsigned char)uchar { self = [super init]; _value.uchar = uchar; - _type = OF_NUMBER_UCHAR; + _type = OF_NUMBER_TYPE_UCHAR; return self; } - initWithUnsignedShort: (unsigned short)ushort { self = [super init]; _value.ushort = ushort; - _type = OF_NUMBER_USHORT; + _type = OF_NUMBER_TYPE_USHORT; return self; } - initWithUnsignedInt: (unsigned int)uint { self = [super init]; _value.uint = uint; - _type = OF_NUMBER_UINT; + _type = OF_NUMBER_TYPE_UINT; return self; } - initWithUnsignedLong: (unsigned long)ulong { self = [super init]; _value.ulong = ulong; - _type = OF_NUMBER_ULONG; + _type = OF_NUMBER_TYPE_ULONG; return self; } - initWithUnsignedLongLong: (unsigned long long)ulonglong { self = [super init]; _value.ulonglong = ulonglong; - _type = OF_NUMBER_ULONGLONG; + _type = OF_NUMBER_TYPE_ULONGLONG; return self; } - initWithInt8: (int8_t)int8 { self = [super init]; _value.int8 = int8; - _type = OF_NUMBER_INT8; + _type = OF_NUMBER_TYPE_INT8; return self; } - initWithInt16: (int16_t)int16 { self = [super init]; _value.int16 = int16; - _type = OF_NUMBER_INT16; + _type = OF_NUMBER_TYPE_INT16; return self; } - initWithInt32: (int32_t)int32 { self = [super init]; _value.int32 = int32; - _type = OF_NUMBER_INT32; + _type = OF_NUMBER_TYPE_INT32; return self; } - initWithInt64: (int64_t)int64 { self = [super init]; _value.int64 = int64; - _type = OF_NUMBER_INT64; + _type = OF_NUMBER_TYPE_INT64; return self; } - initWithUInt8: (uint8_t)uint8 { self = [super init]; _value.uint8 = uint8; - _type = OF_NUMBER_UINT8; + _type = OF_NUMBER_TYPE_UINT8; return self; } - initWithUInt16: (uint16_t)uint16 { self = [super init]; _value.uint16 = uint16; - _type = OF_NUMBER_UINT16; + _type = OF_NUMBER_TYPE_UINT16; return self; } - initWithUInt32: (uint32_t)uint32 { self = [super init]; _value.uint32 = uint32; - _type = OF_NUMBER_UINT32; + _type = OF_NUMBER_TYPE_UINT32; return self; } - initWithUInt64: (uint64_t)uint64 { self = [super init]; _value.uint64 = uint64; - _type = OF_NUMBER_UINT64; + _type = OF_NUMBER_TYPE_UINT64; return self; } - initWithSize: (size_t)size { self = [super init]; _value.size = size; - _type = OF_NUMBER_SIZE; + _type = OF_NUMBER_TYPE_SIZE; return self; } - initWithSSize: (ssize_t)ssize { self = [super init]; _value.ssize = ssize; - _type = OF_NUMBER_SSIZE; + _type = OF_NUMBER_TYPE_SSIZE; return self; } - initWithIntMax: (intmax_t)intmax { self = [super init]; _value.intmax = intmax; - _type = OF_NUMBER_INTMAX; + _type = OF_NUMBER_TYPE_INTMAX; return self; } - initWithUIntMax: (uintmax_t)uintmax { self = [super init]; _value.uintmax = uintmax; - _type = OF_NUMBER_UINTMAX; + _type = OF_NUMBER_TYPE_UINTMAX; return self; } - initWithPtrDiff: (ptrdiff_t)ptrdiff { self = [super init]; _value.ptrdiff = ptrdiff; - _type = OF_NUMBER_PTRDIFF; + _type = OF_NUMBER_TYPE_PTRDIFF; return self; } - initWithIntPtr: (intptr_t)intptr { self = [super init]; _value.intptr = intptr; - _type = OF_NUMBER_INTPTR; + _type = OF_NUMBER_TYPE_INTPTR; return self; } - initWithUIntPtr: (uintptr_t)uintptr { self = [super init]; _value.uintptr = uintptr; - _type = OF_NUMBER_UINTPTR; + _type = OF_NUMBER_TYPE_UINTPTR; return self; } - initWithFloat: (float)float_ { self = [super init]; _value.float_ = float_; - _type = OF_NUMBER_FLOAT; + _type = OF_NUMBER_TYPE_FLOAT; return self; } - initWithDouble: (double)double_ { self = [super init]; _value.double_ = double_; - _type = OF_NUMBER_DOUBLE; + _type = OF_NUMBER_TYPE_DOUBLE; return self; } - initWithSerialization: (OFXMLElement*)element @@ -775,11 +775,11 @@ @throw [OFInvalidArgumentException exception]; typeString = [[element attributeForName: @"type"] stringValue]; if ([typeString isEqual: @"boolean"]) { - _type = OF_NUMBER_BOOL; + _type = OF_NUMBER_TYPE_BOOL; if ([[element stringValue] isEqual: @"true"]) _value.bool_ = true; else if ([[element stringValue] isEqual: @"false"]) _value.bool_ = false; @@ -788,34 +788,34 @@ } else if ([typeString isEqual: @"unsigned"]) { /* * FIXME: This will fail if the value is bigger than * INTMAX_MAX! */ - _type = OF_NUMBER_UINTMAX; + _type = OF_NUMBER_TYPE_UINTMAX; _value.uintmax = [element decimalValue]; } else if ([typeString isEqual: @"signed"]) { - _type = OF_NUMBER_INTMAX; + _type = OF_NUMBER_TYPE_INTMAX; _value.intmax = [element decimalValue]; } else if ([typeString isEqual: @"float"]) { union { float f; uint32_t u; } f; f.u = (uint32_t)[element hexadecimalValue]; - _type = OF_NUMBER_FLOAT; + _type = OF_NUMBER_TYPE_FLOAT; _value.float_ = f.f; } else if ([typeString isEqual: @"double"]) { union { double d; uint64_t u; } d; d.u = (uint64_t)[element hexadecimalValue]; - _type = OF_NUMBER_DOUBLE; + _type = OF_NUMBER_TYPE_DOUBLE; _value.double_ = d.d; } else @throw [OFInvalidArgumentException exception]; objc_autoreleasePoolPop(pool); @@ -979,11 +979,12 @@ if (![object isKindOfClass: [OFNumber class]]) return false; number = object; - if (_type & OF_NUMBER_FLOAT || number->_type & OF_NUMBER_FLOAT) { + if (_type & OF_NUMBER_TYPE_FLOAT || + number->_type & OF_NUMBER_TYPE_FLOAT) { double value1 = [number doubleValue]; double value2 = [self doubleValue]; if (isnan(value1) && isnan(value2)) return true; @@ -991,11 +992,12 @@ return false; return (value1 == value2); } - if (_type & OF_NUMBER_SIGNED || number->_type & OF_NUMBER_SIGNED) + if (_type & OF_NUMBER_TYPE_SIGNED || + number->_type & OF_NUMBER_TYPE_SIGNED) return ([number intMaxValue] == [self intMaxValue]); return ([number uIntMaxValue] == [self uIntMaxValue]); } @@ -1006,22 +1008,23 @@ if (![object isKindOfClass: [OFNumber class]]) @throw [OFInvalidArgumentException exception]; number = (OFNumber*)object; - if (_type & OF_NUMBER_FLOAT || number->_type & OF_NUMBER_FLOAT) { + if (_type & OF_NUMBER_TYPE_FLOAT || + number->_type & OF_NUMBER_TYPE_FLOAT) { double double1 = [self doubleValue]; double double2 = [number doubleValue]; if (double1 > double2) return OF_ORDERED_DESCENDING; if (double1 < double2) return OF_ORDERED_ASCENDING; return OF_ORDERED_SAME; - } else if (_type & OF_NUMBER_SIGNED || - number->_type & OF_NUMBER_SIGNED) { + } else if (_type & OF_NUMBER_TYPE_SIGNED || + number->_type & OF_NUMBER_TYPE_SIGNED) { intmax_t int1 = [self intMaxValue]; intmax_t int2 = [number intMaxValue]; if (int1 > int2) return OF_ORDERED_DESCENDING; @@ -1046,31 +1049,31 @@ { of_number_type_t type = _type; uint32_t hash; /* Do we really need signed to represent this number? */ - if (type & OF_NUMBER_SIGNED && [self intMaxValue] >= 0) - type &= ~OF_NUMBER_SIGNED; + if (type & OF_NUMBER_TYPE_SIGNED && [self intMaxValue] >= 0) + type &= ~OF_NUMBER_TYPE_SIGNED; /* Do we really need floating point to represent this number? */ - if (type & OF_NUMBER_FLOAT) { + if (type & OF_NUMBER_TYPE_FLOAT) { double v = [self doubleValue]; if (v < 0) { if (v == [self intMaxValue]) { - type &= ~OF_NUMBER_FLOAT; - type |= OF_NUMBER_SIGNED; + type &= ~OF_NUMBER_TYPE_FLOAT; + type |= OF_NUMBER_TYPE_SIGNED; } } else { if (v == [self uIntMaxValue]) - type &= ~OF_NUMBER_FLOAT; + type &= ~OF_NUMBER_TYPE_FLOAT; } } OF_HASH_INIT(hash); - if (type & OF_NUMBER_FLOAT) { + if (type & OF_NUMBER_TYPE_FLOAT) { union { double d; uint8_t b[sizeof(double)]; } d; uint_fast8_t i; @@ -1080,11 +1083,11 @@ d.d = OF_BSWAP_DOUBLE_IF_BE([self doubleValue]); for (i = 0; i < sizeof(double); i++) OF_HASH_ADD(hash, d.b[i]); - } else if (type & OF_NUMBER_SIGNED) { + } else if (type & OF_NUMBER_TYPE_SIGNED) { intmax_t v = [self intMaxValue] * -1; while (v != 0) { OF_HASH_ADD(hash, v & 0xFF); v >>= 8; @@ -1161,92 +1164,92 @@ } - (OFNumber*)remainderOfDivisionWithNumber: (OFNumber*)number { switch (_type) { - case OF_NUMBER_BOOL: + case OF_NUMBER_TYPE_BOOL: return [OFNumber numberWithBool: _value.bool_ % [number boolValue]]; - case OF_NUMBER_CHAR: + case OF_NUMBER_TYPE_CHAR: return [OFNumber numberWithChar: _value.schar % [number charValue]]; - case OF_NUMBER_SHORT: + case OF_NUMBER_TYPE_SHORT: return [OFNumber numberWithShort: _value.sshort % [number shortValue]]; - case OF_NUMBER_INT: + case OF_NUMBER_TYPE_INT: return [OFNumber numberWithInt: _value.sint % [number intValue]]; - case OF_NUMBER_LONG: + case OF_NUMBER_TYPE_LONG: return [OFNumber numberWithLong: _value.slong % [number longValue]]; - case OF_NUMBER_LONGLONG: + case OF_NUMBER_TYPE_LONGLONG: return [OFNumber numberWithLongLong: _value.slonglong % [number longLongValue]]; - case OF_NUMBER_UCHAR: + case OF_NUMBER_TYPE_UCHAR: return [OFNumber numberWithUnsignedChar: _value.uchar % [number unsignedCharValue]]; - case OF_NUMBER_USHORT: + case OF_NUMBER_TYPE_USHORT: return [OFNumber numberWithUnsignedShort: _value.ushort % [number unsignedShortValue]]; - case OF_NUMBER_UINT: + case OF_NUMBER_TYPE_UINT: return [OFNumber numberWithUnsignedInt: _value.uint % [number unsignedIntValue]]; - case OF_NUMBER_ULONG: + case OF_NUMBER_TYPE_ULONG: return [OFNumber numberWithUnsignedLong: _value.ulong % [number unsignedLongValue]]; - case OF_NUMBER_ULONGLONG: + case OF_NUMBER_TYPE_ULONGLONG: return [OFNumber numberWithUnsignedLongLong: _value.ulonglong % [number unsignedLongLongValue]]; - case OF_NUMBER_INT8: + case OF_NUMBER_TYPE_INT8: return [OFNumber numberWithInt8: _value.int8 % [number int8Value]]; - case OF_NUMBER_INT16: + case OF_NUMBER_TYPE_INT16: return [OFNumber numberWithInt16: _value.int16 % [number int16Value]]; - case OF_NUMBER_INT32: + case OF_NUMBER_TYPE_INT32: return [OFNumber numberWithInt32: _value.int32 % [number int32Value]]; - case OF_NUMBER_INT64: + case OF_NUMBER_TYPE_INT64: return [OFNumber numberWithInt64: _value.int64 % [number int64Value]]; - case OF_NUMBER_UINT8: + case OF_NUMBER_TYPE_UINT8: return [OFNumber numberWithUInt8: _value.uint8 % [number uInt8Value]]; - case OF_NUMBER_UINT16: + case OF_NUMBER_TYPE_UINT16: return [OFNumber numberWithUInt16: _value.uint16 % [number uInt16Value]]; - case OF_NUMBER_UINT32: + case OF_NUMBER_TYPE_UINT32: return [OFNumber numberWithUInt32: _value.uint32 % [number uInt32Value]]; - case OF_NUMBER_UINT64: + case OF_NUMBER_TYPE_UINT64: return [OFNumber numberWithUInt64: _value.uint64 % [number uInt64Value]]; - case OF_NUMBER_SIZE: + case OF_NUMBER_TYPE_SIZE: return [OFNumber numberWithSize: _value.size % [number sizeValue]]; - case OF_NUMBER_SSIZE: + case OF_NUMBER_TYPE_SSIZE: return [OFNumber numberWithSSize: _value.ssize % [number sSizeValue]]; - case OF_NUMBER_INTMAX: + case OF_NUMBER_TYPE_INTMAX: return [OFNumber numberWithIntMax: _value.intmax % [number intMaxValue]]; - case OF_NUMBER_UINTMAX: + case OF_NUMBER_TYPE_UINTMAX: return [OFNumber numberWithUIntMax: _value.uintmax % [number uIntMaxValue]]; - case OF_NUMBER_PTRDIFF: + case OF_NUMBER_TYPE_PTRDIFF: return [OFNumber numberWithPtrDiff: _value.ptrdiff % [number ptrDiffValue]]; - case OF_NUMBER_INTPTR: + case OF_NUMBER_TYPE_INTPTR: return [OFNumber numberWithIntPtr: _value.intptr % [number intPtrValue]]; - case OF_NUMBER_UINTPTR: + case OF_NUMBER_TYPE_UINTPTR: return [OFNumber numberWithUIntPtr: _value.uintptr % [number uIntPtrValue]]; - case OF_NUMBER_FLOAT: + case OF_NUMBER_TYPE_FLOAT: return [OFNumber numberWithFloat: fmodf(_value.float_, [number floatValue])]; - case OF_NUMBER_DOUBLE: + case OF_NUMBER_TYPE_DOUBLE: return [OFNumber numberWithDouble: fmod(_value.double_, [number doubleValue])]; default: @throw [OFInvalidFormatException exception]; } @@ -1260,49 +1263,49 @@ - (OFString*)description { OFMutableString *ret; switch (_type) { - case OF_NUMBER_BOOL: + case OF_NUMBER_TYPE_BOOL: return (_value.bool_ ? @"true" : @"false"); - case OF_NUMBER_UCHAR: - case OF_NUMBER_USHORT: - case OF_NUMBER_UINT: - case OF_NUMBER_ULONG: - case OF_NUMBER_ULONGLONG: - 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_UINTPTR: + case OF_NUMBER_TYPE_UCHAR: + case OF_NUMBER_TYPE_USHORT: + case OF_NUMBER_TYPE_UINT: + case OF_NUMBER_TYPE_ULONG: + case OF_NUMBER_TYPE_ULONGLONG: + case OF_NUMBER_TYPE_UINT8: + case OF_NUMBER_TYPE_UINT16: + case OF_NUMBER_TYPE_UINT32: + case OF_NUMBER_TYPE_UINT64: + case OF_NUMBER_TYPE_SIZE: + case OF_NUMBER_TYPE_UINTMAX: + case OF_NUMBER_TYPE_UINTPTR: return [OFString stringWithFormat: @"%ju", [self uIntMaxValue]]; - case OF_NUMBER_CHAR: - case OF_NUMBER_SHORT: - case OF_NUMBER_INT: - case OF_NUMBER_LONG: - case OF_NUMBER_LONGLONG: - case OF_NUMBER_INT8: - case OF_NUMBER_INT16: - case OF_NUMBER_INT32: - case OF_NUMBER_INT64: - case OF_NUMBER_SSIZE: - case OF_NUMBER_INTMAX: - case OF_NUMBER_PTRDIFF: - case OF_NUMBER_INTPTR: + case OF_NUMBER_TYPE_CHAR: + case OF_NUMBER_TYPE_SHORT: + case OF_NUMBER_TYPE_INT: + case OF_NUMBER_TYPE_LONG: + case OF_NUMBER_TYPE_LONGLONG: + case OF_NUMBER_TYPE_INT8: + case OF_NUMBER_TYPE_INT16: + case OF_NUMBER_TYPE_INT32: + case OF_NUMBER_TYPE_INT64: + case OF_NUMBER_TYPE_SSIZE: + case OF_NUMBER_TYPE_INTMAX: + case OF_NUMBER_TYPE_PTRDIFF: + case OF_NUMBER_TYPE_INTPTR: return [OFString stringWithFormat: @"%jd", [self intMaxValue]]; - case OF_NUMBER_FLOAT: + case OF_NUMBER_TYPE_FLOAT: ret = [OFMutableString stringWithFormat: @"%g", _value.float_]; if (![ret containsString: @"."]) [ret appendString: @".0"]; [ret makeImmutable]; return ret; - case OF_NUMBER_DOUBLE: + case OF_NUMBER_TYPE_DOUBLE: ret = [OFMutableString stringWithFormat: @"%g", _value.double_]; if (![ret containsString: @"."]) [ret appendString: @".0"]; @@ -1323,46 +1326,46 @@ element = [OFXMLElement elementWithName: [self className] namespace: OF_SERIALIZATION_NS stringValue: [self description]]; switch (_type) { - case OF_NUMBER_BOOL: + case OF_NUMBER_TYPE_BOOL: [element addAttributeWithName: @"type" stringValue: @"boolean"]; break; - case OF_NUMBER_UCHAR: - case OF_NUMBER_USHORT: - case OF_NUMBER_UINT: - case OF_NUMBER_ULONG: - case OF_NUMBER_ULONGLONG: - 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_UINTPTR: + case OF_NUMBER_TYPE_UCHAR: + case OF_NUMBER_TYPE_USHORT: + case OF_NUMBER_TYPE_UINT: + case OF_NUMBER_TYPE_ULONG: + case OF_NUMBER_TYPE_ULONGLONG: + case OF_NUMBER_TYPE_UINT8: + case OF_NUMBER_TYPE_UINT16: + case OF_NUMBER_TYPE_UINT32: + case OF_NUMBER_TYPE_UINT64: + case OF_NUMBER_TYPE_SIZE: + case OF_NUMBER_TYPE_UINTMAX: + case OF_NUMBER_TYPE_UINTPTR: [element addAttributeWithName: @"type" stringValue: @"unsigned"]; break; - case OF_NUMBER_CHAR: - case OF_NUMBER_SHORT: - case OF_NUMBER_INT: - case OF_NUMBER_LONG: - case OF_NUMBER_LONGLONG: - case OF_NUMBER_INT8: - case OF_NUMBER_INT16: - case OF_NUMBER_INT32: - case OF_NUMBER_INT64: - case OF_NUMBER_SSIZE: - case OF_NUMBER_INTMAX: - case OF_NUMBER_PTRDIFF: - case OF_NUMBER_INTPTR:; + case OF_NUMBER_TYPE_CHAR: + case OF_NUMBER_TYPE_SHORT: + case OF_NUMBER_TYPE_INT: + case OF_NUMBER_TYPE_LONG: + case OF_NUMBER_TYPE_LONGLONG: + case OF_NUMBER_TYPE_INT8: + case OF_NUMBER_TYPE_INT16: + case OF_NUMBER_TYPE_INT32: + case OF_NUMBER_TYPE_INT64: + case OF_NUMBER_TYPE_SSIZE: + case OF_NUMBER_TYPE_INTMAX: + case OF_NUMBER_TYPE_PTRDIFF: + case OF_NUMBER_TYPE_INTPTR:; [element addAttributeWithName: @"type" stringValue: @"signed"]; break; - case OF_NUMBER_FLOAT:; + case OF_NUMBER_TYPE_FLOAT:; union { float f; uint32_t u; } f; @@ -1372,11 +1375,11 @@ stringValue: @"float"]; [element setStringValue: [OFString stringWithFormat: @"%08" PRIx32, f.u]]; break; - case OF_NUMBER_DOUBLE:; + case OF_NUMBER_TYPE_DOUBLE:; union { double d; uint64_t u; } d; @@ -1414,11 +1417,11 @@ - (OFString*)OF_JSONRepresentationWithOptions: (int)options depth: (size_t)depth { double doubleValue; - if (_type == OF_NUMBER_BOOL) + if (_type == OF_NUMBER_TYPE_BOOL) return (_value.bool_ ? @"true" : @"false"); doubleValue = [self doubleValue]; if (isinf(doubleValue)) { if (options & OF_JSON_REPRESENTATION_JSON5) { @@ -1435,11 +1438,11 @@ - (OFDataArray*)messagePackRepresentation { OFDataArray *data; - if (_type == OF_NUMBER_BOOL) { + if (_type == OF_NUMBER_TYPE_BOOL) { uint8_t type; data = [OFDataArray dataArrayWithItemSize: 1 capacity: 1]; @@ -1447,31 +1450,31 @@ type = 0xC3; else type = 0xC2; [data addItem: &type]; - } else if (_type == OF_NUMBER_FLOAT) { + } else if (_type == OF_NUMBER_TYPE_FLOAT) { uint8_t type = 0xCA; float tmp = OF_BSWAP_FLOAT_IF_LE(_value.float_); data = [OFDataArray dataArrayWithItemSize: 1 capacity: 5]; [data addItem: &type]; [data addItems: &tmp count: sizeof(tmp)]; - } else if (_type == OF_NUMBER_DOUBLE) { + } else if (_type == OF_NUMBER_TYPE_DOUBLE) { uint8_t type = 0xCB; double tmp = OF_BSWAP_DOUBLE_IF_LE(_value.double_); data = [OFDataArray dataArrayWithItemSize: 1 capacity: 9]; [data addItem: &type]; [data addItems: &tmp count: sizeof(tmp)]; - } else if (_type & OF_NUMBER_SIGNED) { + } else if (_type & OF_NUMBER_TYPE_SIGNED) { intmax_t value = [self intMaxValue]; if (value >= -32 && value < 0) { uint8_t tmp = 0xE0 | ((uint8_t)(value - 32) & 0x1F);