ObjFW  History of src/OFNumber.m of a5aed6da301f09f8

History of the file that is called src/OFNumber.m at check-in a5aed6da301f09f8

2024-04-03
02:16
[f7bfac6fc7] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 20471) [annotate] [blame] [check-ins using] [diff]
2024-01-14
13:00
[f54894ca09] part of check-in [90ee6a8373] Replace OFASN1Boolean with bool OFNumber (check-in: [90ee6a8373] user: js, branch: asn1, size: 20652) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[e5b90c57f3] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 20263) [annotate] [blame] [check-ins using] [diff]
2023-08-09
15:24
[b5f05b79e3] part of check-in [c9115cce73] Make OFNumber a proper class cluster (check-in: [c9115cce73] user: js, branch: trunk, size: 20263) [annotate] [blame] [check-ins using] [diff]
14:27
[faf6429224] part of check-in [12968f1d68] Make OFValue a proper class cluster (check-in: [12968f1d68] user: js, branch: trunk, size: 25721) [annotate] [blame] [check-ins using] [diff]
10:09
[8fe1f42701] part of check-in [281b494de4] More consistency in naming of private classes (check-in: [281b494de4] user: js, branch: trunk, size: 25581) [annotate] [blame] [check-ins using] [diff]
09:08
[af557968cc] part of check-in [36310f6263] Add OF_SINGLETON_METHODS (check-in: [36310f6263] user: js, branch: trunk, size: 25581) [annotate] [blame] [check-ins using] [diff]
2023-08-08
15:32
[c9137e7e6f] part of check-in [a6f520157a] A few minor cleanups (check-in: [a6f520157a] user: js, branch: trunk, size: 25706) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[b9b4334494] part of check-in [6ce0093f8d] Remove OFSerialization

While the idea sounds nice that the tag name is the class, this means the
serialization includes whether something is mutable or immutable. This means
doing as much as making something immutable changes the serialization, which
can then cause issues after being deserialized. (check-in: [6ce0093f8d] user: js, branch: trunk, size: 25689) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[7ed514fdca] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 28201) [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
[0d84e74204] part of check-in [4ad0c363f3] OFObject: Small API change (check-in: [4ad0c363f3] user: js, branch: trunk, size: 28201) [annotate] [blame] [check-ins using] [diff]
2022-06-06
07:06
[fd08ff8e66] part of check-in [e53c0160a8] Always implement dummy for OF_UNAVAILABLE methods

GCC now supports the attribute, but still complains if the method is not
implemented, so always implement it with a method that throws. (check-in: [e53c0160a8] user: js, branch: trunk, size: 28193) [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
[bc852126ea] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 27470) [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:58
[34d1acfa38] part of check-in [6ae98c1dcf] Last round of renames (hopefully) (check-in: [6ae98c1dcf] user: js, branch: trunk, size: 27470) [annotate] [blame] [check-ins using] [diff]
2021-04-19
22:20
[4fabc7778d] part of check-in [e97b03815f] Rename all remaining enums (check-in: [e97b03815f] user: js, branch: new-naming-convention, size: 27470) [annotate] [blame] [check-ins using] [diff]
21:54
[3b421cd558] part of check-in [458420998c] Rename a few more constants (check-in: [458420998c] user: js, branch: new-naming-convention, size: 27554) [annotate] [blame] [check-ins using] [diff]
2021-04-18
21:12
[10bbeb0e0f] part of check-in [b06b86d6f9] OF_RETAIN_COUNT_MAX -> OFMaxRetainCount (check-in: [b06b86d6f9] user: js, branch: new-naming-convention, size: 27558) [annotate] [blame] [check-ins using] [diff]
15:55
[2f62075a88] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 27561) [annotate] [blame] [check-ins using] [diff]
2021-04-17
17:49
[74384103b7] part of check-in [5ce8c7cca7] Rename JSON representation options (check-in: [5ce8c7cca7] user: js, branch: new-naming-convention, size: 27573) [annotate] [blame] [check-ins using] [diff]
16:13
[fbce14e70c] part of check-in [26aa88fc9b] of_once_t -> OFOnceControl (check-in: [26aa88fc9b] user: js, branch: new-naming-convention, size: 27476) [annotate] [blame] [check-ins using] [diff]
00:14
[abbcb2ae39] part of check-in [61fc389aee] of_comparison_result_t -> OFComparisonResult (check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 27098) [annotate] [blame] [check-ins using] [diff]
2021-04-07
22:20
[965d322b8e] part of check-in [96ee4795ad] Make GCC happy again (check-in: [96ee4795ad] user: js, branch: trunk, size: 27120) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[1b24e74726] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 27181) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[92fb9ca7c6] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 27539) [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
[80a9f3f337] part of check-in [aeb403a1ed] OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. (check-in: [aeb403a1ed] user: js, branch: trunk, size: 27628) [annotate] [blame] [check-ins using] [diff]

2020-09-27
00:57
[d23a5a6bf5] part of check-in [cbc09c6e26] Work around bugs in Apple GCC 4.2.1 (check-in: [cbc09c6e26] user: js, branch: trunk, size: 22258) [annotate] [blame] [check-ins using] [diff]
2020-09-04
18:03
[eeab93bc59] part of check-in [81469669ae] OFNumber: Fix missing #ifdefs (check-in: [81469669ae] user: js, branch: tagged-pointers, size: 27623) [annotate] [blame] [check-ins using] [diff]
16:39
[ee11ae97a1] part of check-in [8c32791836] OFNumber: Add support for tagged pointers (check-in: [8c32791836] user: js, branch: tagged-pointers, size: 27313) [annotate] [blame] [check-ins using] [diff]
2020-08-30
16:22
[b25cee6a5c] part of check-in [bc9998913a] OFNumber: Never access ivars after init

This is a requirement for tagged pointer numbers, which cannot have
ivars. (check-in: [bc9998913a] user: js, branch: tagged-pointers, size: 22577) [annotate] [blame] [check-ins using] [diff]

2020-08-25
00:11
[17a849254e] part of check-in [25c985fec1] OFNumber: Remove (u)int{8,16,32,64} methods

Since C guarantees minimum sizes for char, short, int, long and long
long, these can be used instead. (check-in: [25c985fec1] user: js, branch: trunk, size: 22251) [annotate] [blame] [check-ins using] [diff]

2020-08-22
18:39
[f7c843c996] part of check-in [9746cff094] OFNumber: Don't always use the smallest type

This is annoying as it changes the type encoding, and hence makes
-[getValue:size:] a pain. (check-in: [9746cff094] user: js, branch: trunk, size: 28581) [annotate] [blame] [check-ins using] [diff]

2020-08-16
18:28
[c26097a3d6] part of check-in [be8b442546] OFNumber: Remove ssize_t

It's a non-standard type that should only be used for matching POSIX
APIs. (check-in: [be8b442546] user: js, branch: trunk, size: 28506) [annotate] [blame] [check-ins using] [diff]

2020-08-12
20:56
[a978c1217d] part of check-in [d74f244ab7] Avoid using (u)intmax_t in methods

It is not guaranteed that a type encoding for it exists. (check-in: [d74f244ab7] user: js, branch: trunk, size: 29075) [annotate] [blame] [check-ins using] [diff]

2020-08-11
19:45
[bbb46f4d11] part of check-in [b6ee372b98] OFString: Rework number parsing API

This solves the old signed vs. unsigned problem and allows for more
bases than just 8, 10 and 16, as well as auto-detection of the base (if
base is 0). (check-in: [b6ee372b98] user: js, branch: trunk, size: 30224) [annotate] [blame] [check-ins using] [diff]

2020-07-19
16:12
[57186c2c7a] part of check-in [d8123a1f26] OFNumber: Add singletons for 0, 1, 2, true & false (check-in: [d8123a1f26] user: js, branch: trunk, size: 30160) [annotate] [blame] [check-ins using] [diff]
14:16
[537e45b1d4] part of check-in [bb73116ce2] Disable a Clang warning preventing limit checks (check-in: [bb73116ce2] user: js, branch: trunk, size: 29588) [annotate] [blame] [check-ins using] [diff]
11:49
[f930cc4476] part of check-in [59e1c84d30] OFNumber: Refactor to reduce code size (check-in: [59e1c84d30] user: js, branch: trunk, size: 29258) [annotate] [blame] [check-ins using] [diff]
11:03
[68a0381598] part of check-in [5e8cca7678] OFNumber: Always use the smallest type that fits (check-in: [5e8cca7678] user: js, branch: trunk, size: 37981) [annotate] [blame] [check-ins using] [diff]
09:06
[fe840b486f] part of check-in [025756f4e3] OFNumber: Use a placeholder until init is called (check-in: [025756f4e3] user: js, branch: trunk, size: 34528) [annotate] [blame] [check-ins using] [diff]
2020-04-19
14:52
[f96cb2d4be] part of check-in [e0459c419c] Reduce usage of unions (check-in: [e0459c419c] user: js, branch: trunk, size: 30756) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[5a67a624f2] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 30938) [annotate] [blame] [check-ins using] [diff]
2019-12-14
18:48
[f90d5af790] part of check-in [f5558d0919] OFNumber: Add -[stringValue] (check-in: [f5558d0919] user: js, branch: trunk, size: 30935) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[402455fc05] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 30876) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[bef2101a40] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 30956) [annotate] [blame] [check-ins using] [diff]
2018-04-22
17:48
[22aa4870ba] part of check-in [0b07c8fcfa] Make ObjFW compile for AmigaOS 3 (check-in: [0b07c8fcfa] user: js, branch: trunk, size: 30950) [annotate] [blame] [check-ins using] [diff]
2018-03-10
19:05
[25c5c7f684] part of check-in [f484fedee2] Add OFColor

This is useful so that multiple libraries using ObjFW can share the same
type for colors, similar to e.g. of_rectangle_t. (check-in: [f484fedee2] user: js, branch: trunk, size: 30972) [annotate] [blame] [check-ins using] [diff]

2018-02-11
12:15
[15e27ceca1] part of check-in [612cd94090] Make OFNumber a subclass of OFValue (check-in: [612cd94090] user: js, branch: trunk, size: 30967) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[63e83c2f21] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 24383) [annotate] [blame] [check-ins using] [diff]
2017-11-19
12:56
[266c1e5fc4] part of check-in [615a9f2eba] Fix compilation with GCC (check-in: [615a9f2eba] user: js, branch: trunk, size: 24360) [annotate] [blame] [check-ins using] [diff]
12:05
[64757a4f33] part of check-in [11f24addd7] Fix warnings introduced by OFComparing change

Since OFComparing no longer conforms to OFObject, OFObject needed to be
added at a few places. (check-in: [11f24addd7] user: js, branch: trunk, size: 24366) [annotate] [blame] [check-ins using] [diff]

2017-11-11
23:27
[12ab796c0f] part of check-in [526feacebc] Small optimization for -[isEqual:] (check-in: [526feacebc] user: js, branch: trunk, size: 24356) [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
[c650f7deea] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 24319) [annotate] [blame] [check-ins using] [diff]
14:09
[3da26d55ba] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 23895) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[2a910136b7] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 24319) [annotate] [blame] [check-ins using] [diff]

2017-07-22
20:50
[3d97fc0b3e] part of check-in [c8f7b90082] Split OFDataArray into OFData and OFMutableData (check-in: [c8f7b90082] user: js, branch: trunk, size: 23895) [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
[30e08cc2cc] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 23981) [annotate] [blame] [check-ins using] [diff]

2017-05-14
23:33
[4f64bc6461] part of check-in [e29e71523e] OFNumber: Handle int endianess != float endianess (check-in: [e29e71523e] user: js, branch: trunk, size: 23981) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[97313fd44a] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 23791) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[5681aa0f6b] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 23780) [annotate] [blame] [check-ins using] [diff]

2017-01-07
00:09
[424f2af76e] part of check-in [df5e33bec7] OFNumber: Make description locale-compatible (check-in: [df5e33bec7] user: js, branch: trunk, size: 24226) [annotate] [blame] [check-ins using] [diff]
2017-01-06
23:42
[114905a94e] part of check-in [ae340607fd] Several minor style fixes (check-in: [ae340607fd] user: js, branch: trunk, size: 23774) [annotate] [blame] [check-ins using] [diff]
2016-10-09
01:06
[39c49eaec8] part of check-in [9c108208ef] Remove inttypes.h include from OFString.h

This fixes including a non-module header in a module. (check-in: [9c108208ef] user: js, branch: trunk, size: 23782) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[3586cf276f] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 23760) [annotate] [blame] [check-ins using] [diff]
2016-01-05
22:00
[8f726b2505] part of check-in [d3158d091f] (u)int_fast*_t -> (u)int*_t

(U)INT_FAST*_MAX is broken on Android, which makes (u)int_fast*_t
dangerous to use while it does not provide any real speed benefit. (check-in: [d3158d091f] user: js, branch: trunk, size: 23765) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[94ed5c68f9] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 23807) [annotate] [blame] [check-ins using] [diff]

00:41
[9f35def2ab] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 23770) [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:23
[a41a16b8f6] part of check-in [2aca549d60] Clean up class extensions

Now that we can require GCC >= 4.6, we no longer need to fall back to
using a category on old compilers. (check-in: [2aca549d60] user: js, branch: trunk, size: 23766) [annotate] [blame] [check-ins using] [diff]

11:43
[6960976b0a] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 23785) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[e5c84f2d31] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 23803) [annotate] [blame] [check-ins using] [diff]
2014-06-26
00:58
[538455302e] part of check-in [366681bebe] OFNumber: Remove methods for arithmetic

These methods encouraged doing arithmetic on objects rather than getting
the C type value, doing the arithmetic and creating a new object. They
didn't do anything else internally, and so doing this manually isn't
slower - it's even faster if you do multiple operations, as no temporary
objects are created then.

Another advantage of this is that there are no longer uncertainties
about types of different OFNumber objects when doing arithmetic, as the
user has to be explicit about the types when getting the C type value
and thus knows which types will be used for the arithmetic. (check-in: [366681bebe] user: js, branch: trunk, size: 23797) [annotate] [blame] [check-ins using] [diff]

2014-06-25
16:08
[57878896f8] part of check-in [0de69c8952] OFNumber: OF_NUMBER_* -> OF_NUMBER_TYPE_* (check-in: [0de69c8952] user: js, branch: trunk, size: 37542) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[f23f2bec10] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 36376) [annotate] [blame] [check-ins using] [diff]

2014-02-28
00:41
[27ec58b2db] part of check-in [5ca844dd3b] Make MinGW32 and MinGW-w64 happy at the same time (check-in: [5ca844dd3b] user: js, branch: trunk, size: 36420) [annotate] [blame] [check-ins using] [diff]
2014-02-08
18:04
[890ea8bb44] part of check-in [e07fa89b44] Add JSON5 output option (check-in: [e07fa89b44] user: js, branch: trunk, size: 36421) [annotate] [blame] [check-ins using] [diff]
09:26
[12ac22c22b] part of check-in [eaa612ad50] Add -[JSONRepresentationWithOptions:]

This also adds OF_JSON_REPRESENTATION_PRETTY. (check-in: [eaa612ad50] user: js, branch: trunk, size: 36310) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[0561641365] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 35882) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:12
[2dc38d355c] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 35876) [annotate] [blame] [check-ins using] [diff]
2013-07-08
21:34
[ae2aab0b1f] part of check-in [bc2f7c2124] OFNumber: Correctly handle NAN. (check-in: [bc2f7c2124] user: js, branch: trunk, size: 35985) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[779309786a] part of check-in [3d16a30f41] Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (check-in: [3d16a30f41] user: js, branch: trunk, size: 35770) [annotate] [blame] [check-ins using] [diff]

2013-06-19
19:14
[bc121f7ad1] part of check-in [cba771824e] Implement the new MessagePack specification.

No support for extensions yet.

This obsoletes BinaryPack. (check-in: [cba771824e] user: js, branch: trunk, size: 36336) [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
[c9cabca4f9] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 36335) [annotate] [blame] [check-ins using] [diff]

2013-02-26
18:40
[c13a2ddb4a] part of check-in [fd8c1728ea] OFNumber: Add long long. (check-in: [fd8c1728ea] user: js, branch: trunk, size: 37799) [annotate] [blame] [check-ins using] [diff]
2013-02-21
19:35
[c8342b8a79] part of check-in [23c798d4f1] Add support for generating BinaryPack. (check-in: [23c798d4f1] user: js, branch: trunk, size: 35703) [annotate] [blame] [check-ins using] [diff]
2013-02-12
18:22
[df1e685381] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 32119) [annotate] [blame] [check-ins using] [diff]
2013-02-05
22:24
[ae195c0c97] part of check-in [737a82e1a4] Move abort() to make old GCCs happy. (check-in: [737a82e1a4] user: js, branch: trunk, size: 31885) [annotate] [blame] [check-ins using] [diff]
2013-01-28
21:12
[35e3a3658c] part of check-in [f59977a0aa] JSON5: Update to new version of the spec.

This adds support for Infinity and leading + signs. (check-in: [f59977a0aa] user: js, branch: trunk, size: 31885) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[35a9158982] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 31720) [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
[ba1adda867] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 31714) [annotate] [blame] [check-ins using] [diff]
2012-12-06
00:14
[a189f6857c] part of check-in [ac51f5f0cf] Improve -[hash] of OFNumber and OFObject. (check-in: [ac51f5f0cf] user: js, branch: trunk, size: 31713) [annotate] [blame] [check-ins using] [diff]
2012-10-13
21:06
[2866f4968c] part of check-in [1cb8fee5c3] of_bswap* -> OF_BSWAP*.

This makes it clear that multiple evaluation of parameters is possible. (check-in: [1cb8fee5c3] user: js, branch: trunk, size: 31218) [annotate] [blame] [check-ins using] [diff]

2012-10-09
21:57
[c8526e23c4] part of check-in [3f29426e99] Remove wrong byte swaps. (check-in: [3f29426e99] user: js, branch: trunk, size: 31218) [annotate] [blame] [check-ins using] [diff]
15:07
[8ca41e7471] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 31308) [annotate] [blame] [check-ins using] [diff]
14:59
[ff6f294978] part of check-in [916ee17654] OFNumber: Make sure -[boolValue] is always a bool. (check-in: [916ee17654] user: js, branch: trunk, size: 30944) [annotate] [blame] [check-ins using] [diff]
2012-09-20
00:05
[13adfb2ee6] part of check-in [6c16e03d93] Fix conflicting types. (check-in: [6c16e03d93] user: js, branch: trunk, size: 29616) [annotate] [blame] [check-ins using] [diff]
2012-09-11
12:10
[5743167b4f] part of check-in [2b5d03d8ea] Add -[OFList removeAllObjects]. (check-in: [2b5d03d8ea] user: js, branch: trunk, size: 29591) [annotate] [blame] [check-ins using] [diff]
2012-09-09
14:36
[e4b0bb2ae2] part of check-in [56df9c44de] OFNumber: Implement OFComparing. (check-in: [56df9c44de] user: js, branch: trunk, size: 29567) [annotate] [blame] [check-ins using] [diff]
14:14
[494724f548] part of check-in [b791e6fcc4] Fix -[OFNumber isEqual:]. (check-in: [b791e6fcc4] user: js, branch: trunk, size: 28547) [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
[70f21d39ef] part of check-in [1255f3a11a] Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (check-in: [1255f3a11a] user: js, branch: trunk, size: 29064) [annotate] [blame] [check-ins using] [diff]

2012-07-31
12:05
[b7208d53f6] part of check-in [a6ee2b2065] Slightly changed serialization format.

printf's %a was too fragile to serialize floats and doubles, as it was
behaving differently on different OSes and OS versions. Instead, a hex
representation of the float/double in big endian is used now. While this
is less readable, it is guaranteed to be accurate and always the same. (check-in: [a6ee2b2065] user: js, branch: trunk, size: 29087) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[b82d9f97c4] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 28702) [annotate] [blame] [check-ins using] [diff]
2012-06-11
11:08
[3bd254e0cf] part of check-in [0db281bf03] Improve -[OFNumber description].

The %f conversion specifier does not include a decimal point if none is
required. In such cases, append ".0" to indicate that the number is of a
floating point type. (check-in: [0db281bf03] user: js, branch: trunk, size: 28581) [annotate] [blame] [check-ins using] [diff]

2012-01-05
00:56
[f581497f4f] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 28335) [annotate] [blame] [check-ins using] [diff]
2011-12-29
01:55
[8d94506001] part of check-in [f42b841347] Fix -[OFNumber isEqual:] for booleans. (check-in: [f42b841347] user: js, branch: trunk, size: 28329) [annotate] [blame] [check-ins using] [diff]
2011-12-10
13:17
[388be18efd] part of check-in [243a96fc2d] Add JSON encoding. (check-in: [243a96fc2d] user: js, branch: trunk, size: 28282) [annotate] [blame] [check-ins using] [diff]
2011-09-28
14:38
[5cb0489783] part of check-in [9e82f99f09] Various small bugfixes. (check-in: [9e82f99f09] user: js, branch: trunk, size: 28142) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[37c360709c] part of check-in [e1e7ffa903] Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 28115) [annotate] [blame] [check-ins using] [diff]

2011-09-17
18:58
[687e9eb918] part of check-in [ef02147e8b] Better format for serialization of floating point OFNumbers. (check-in: [ef02147e8b] user: js, branch: trunk, size: 27967) [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[d6b1e87e08] part of check-in [798d9e6320] [pool release] can never throw by convention now. (check-in: [798d9e6320] user: js, branch: trunk, size: 28179) [annotate] [blame] [check-ins using] [diff]
2011-06-28
01:51
[a3610e7d0e] part of check-in [756bb26c98] Change serialization format to be way more readable and shorter. (check-in: [756bb26c98] user: js, branch: trunk, size: 28206) [annotate] [blame] [check-ins using] [diff]
2011-06-26
23:54
[a47eecf9ee] part of check-in [0952a96827] Add -[{decimal,hexadecimal,float,double}Value] to OFXMLAttribute. (check-in: [0952a96827] user: js, branch: trunk, size: 28311) [annotate] [blame] [check-ins using] [diff]
2011-06-06
13:34
[b1a8643b2f] part of check-in [b507c330f5] Fix float*/uint32_t* casts forgotten in the last commit. (check-in: [b507c330f5] user: js, branch: trunk, size: 28339) [annotate] [blame] [check-ins using] [diff]
03:19
[c6a0bb638e] part of check-in [4b8e8836c8] Always use unions to access a float as a uint32_t. (check-in: [4b8e8836c8] user: js, branch: trunk, size: 28238) [annotate] [blame] [check-ins using] [diff]
2011-06-05
21:26
[d98652159e] part of check-in [ac2714dd86] Serialize floats and doubles in a format that does not lose precision. (check-in: [ac2714dd86] user: js, branch: trunk, size: 28153) [annotate] [blame] [check-ins using] [diff]
19:27
[bbca96f8b9] part of check-in [183825f113] Add OFNull class. (check-in: [183825f113] user: js, branch: trunk, size: 27862) [annotate] [blame] [check-ins using] [diff]
18:13
[6768b46f61] part of check-in [4560e88c45] Always hash floats and doubles in big endian. (check-in: [4560e88c45] user: js, branch: trunk, size: 27861) [annotate] [blame] [check-ins using] [diff]
2011-06-04
18:01
[e2396474e9] part of check-in [0ed2ea0df3] Use %g instead of %f in -[OFNumber description]. (check-in: [0ed2ea0df3] user: js, branch: trunk, size: 27799) [annotate] [blame] [check-ins using] [diff]
2011-06-03
15:14
[d234546f66] part of check-in [dca3061dfc] Add deserialization. (check-in: [dca3061dfc] user: js, branch: trunk, size: 27799) [annotate] [blame] [check-ins using] [diff]
2011-05-14
12:26
[01b0cb5868] part of check-in [494dca4ae4] Use XML for serialization.

This way, we don't need a new parser and don't use a new format. (check-in: [494dca4ae4] user: js, branch: trunk, size: 26127) [annotate] [blame] [check-ins using] [diff]

2011-05-08
19:55
[2324ed47e6] part of check-in [b27b3aa3e3] Add support for serialization.
No deserialization yet.
(check-in: [b27b3aa3e3] user: js, branch: trunk, size: 27399) [annotate] [blame] [check-ins using] [diff]
18:32
[1e1dcdb84b] part of check-in [eb2402a77a] OFNumber: Explicitly use signed and improve documentation. (check-in: [eb2402a77a] user: js, branch: trunk, size: 24589) [annotate] [blame] [check-ins using] [diff]
2011-04-22
22:46
[a59a183f51] part of check-in [c9c78d86d3] More style improvements. (check-in: [c9c78d86d3] user: js, branch: trunk, size: 24375) [annotate] [blame] [check-ins using] [diff]
2011-04-11
00:37
[eac6181c63] part of check-in [e52ccc8d45] A few readability improvements. (check-in: [e52ccc8d45] user: js, branch: trunk, size: 24375) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[35729e2024] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 24426) [annotate] [blame] [check-ins using] [diff]
2011-01-15
18:17
[8d4f8ec1f8] part of check-in [b5ec30fa9d] Define enums as types. (check-in: [b5ec30fa9d] user: js, branch: trunk, size: 24446) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[9b41925c57] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 24449) [annotate] [blame] [check-ins using] [diff]
2010-12-06
13:24
[e3d984f0cd] part of check-in [b965dad5f8] Add -[description] to OFNumber. (check-in: [b965dad5f8] user: js, branch: trunk, size: 24193) [annotate] [blame] [check-ins using] [diff]
2010-11-13
16:15
[f20700cf69] part of check-in [0ec87765f4] Add support for BOOL to OFNumber. (check-in: [0ec87765f4] user: js, branch: trunk, size: 23060) [annotate] [blame] [check-ins using] [diff]
2010-10-19
19:38
[7d94808be1] part of check-in [198e343d1f] Fix method signature being different in .h and .m file. (check-in: [198e343d1f] user: js, branch: trunk, size: 22452) [annotate] [blame] [check-ins using] [diff]
2010-06-13
03:23
[892bfa3920] part of check-in [7390eb7270] Add OFSocketObserver. (check-in: [7390eb7270] user: js, branch: trunk, size: 22459) [annotate] [blame] [check-ins using] [diff]
2010-05-13
17:11
[8047d2e395] part of check-in [8fd09d2c59] Add -[remainderOfDivisionWithNumber:] to OFNumber. (check-in: [8fd09d2c59] user: js, branch: trunk, size: 22424) [annotate] [blame] [check-ins using] [diff]
2010-04-30
13:07
[5fe5542cc8] part of check-in [e4344e3c5e] OFNumber API improvement. (check-in: [e4344e3c5e] user: js, branch: trunk, size: 19721) [annotate] [blame] [check-ins using] [diff]
2010-04-23
12:34
[818b4fcf27] part of check-in [03be48c518] Nicer API for OFNumber. (check-in: [03be48c518] user: js, branch: trunk, size: 19649) [annotate] [blame] [check-ins using] [diff]
2010-04-17
16:09
[1d85baa4c6] part of check-in [2517f18272] Give the methods in OFNumber better names. (check-in: [2517f18272] user: js, branch: trunk, size: 19159) [annotate] [blame] [check-ins using] [diff]
15:46
[1856417314] part of check-in [062a052b50] Don't return self where not necessary, return void or something useful. (check-in: [062a052b50] user: js, branch: trunk, size: 19037) [annotate] [blame] [check-ins using] [diff]
2010-03-15
01:38
[c9d9078686] part of check-in [3e2aa4cf61] Add uintptr_t to OFNumber. (check-in: [3e2aa4cf61] user: js, branch: trunk, size: 18916) [annotate] [blame] [check-ins using] [diff]
2010-03-14
12:20
[109bd47316] part of check-in [d7233b1b30] Remove 8782d412a4a6 from 0.2 branch as it would break the 0.2 API. (check-in: [d7233b1b30] user: js, branch: 0.2, size: 14376) [annotate] [blame] [check-ins using] [diff]
2010-03-13
22:27
[ff05eb19c1] part of check-in [a57d46cb3b] Add -[{and,or,xor,shiftLeft,shiftRight}:] to OFNumber. (check-in: [a57d46cb3b] user: js, branch: trunk, size: 18213) [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
[ffc72bea33] part of check-in [b91a8283fe] Merge a few changesets from the default branch into the 0.2 branch.

Changesets:
* b95fcaa6d694
* 804c68d222b4
* da8cd738da3d
* 1109d5ce3419
* d03f5c1ca95d
* 2a7017722165
* 4fccdc79eeb7
* d228149fbc04
* 8782d412a4a6 (check-in: [b91a8283fe] user: js, branch: 0.2, size: 15277) [annotate] [blame] [check-ins using] [diff]

03:21
[6467769256] part of check-in [5e65237276] Let operations on OFNumbers return a new one. (check-in: [5e65237276] user: js, branch: trunk, size: 15275) [annotate] [blame] [check-ins using] [diff]
00:04
[7ea4c5f34b] part of check-in [5265f8d08b] Improve -[hash] for OFNumbers with floats and doubles. (check-in: [5265f8d08b] user: js, branch: trunk, size: 14374) [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
[b830cfbb1d] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 13945) [annotate] [blame] [check-ins using] [diff]
2010-02-13
14:07
[de1f0fba0f] part of check-in [d68c28b9de] Fix a bug in all OFNumber operations using CALCULATE2. (check-in: [d68c28b9de] user: js, branch: trunk, size: 13945) [annotate] [blame] [check-ins using] [diff]
2009-12-06
00:27
[7dc3a8f62d] part of check-in [a0a5ecf01f] Remove two method implementations not used anymore. (check-in: [a0a5ecf01f] user: js, branch: trunk, size: 13949) [annotate] [blame] [check-ins using] [diff]
2009-12-02
20:02
[3600c71552] part of check-in [c7ab3a46d1] Introduce some consistency when to use OFObject* and when to use id. (check-in: [c7ab3a46d1] user: js, branch: trunk, size: 14006) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[d440c31735] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 13948) [annotate] [blame] [check-ins using] [diff]
2009-07-19
16:01
[1760655c76] part of check-in [42e16978dc] Prevent calling -[init] if parameters are required. (check-in: [42e16978dc] user: js, branch: trunk, size: 13951) [annotate] [blame] [check-ins using] [diff]
14:05
[d35a23e51f] part of check-in [4eae61a78f] Rename andFoo: to foo: in all methods. (check-in: [4eae61a78f] user: js, branch: trunk, size: 13858) [annotate] [blame] [check-ins using] [diff]
2009-06-30
12:07
[6fac52d2f8] part of check-in [67bb344ba6] A few renames in OFObject, see details.

* +[conformsTo:] to +[conformsToProtocol:].
* -[isKindOf:] to -[isKindOfClass:].
* -[respondsTo:] to -[respondsToSelector:].
* -[conformsTo:] to -[conformsToProtocol:].
* -[methodFor:] to -[methodForSelector:]. (check-in: [67bb344ba6] user: js, branch: trunk, size: 13858) [annotate] [blame] [check-ins using] [diff]

2009-05-29
09:28
[886273d0e1] part of check-in [282aadb9df] Always use [self alloc]. (check-in: [282aadb9df] user: js, branch: trunk, size: 13853) [annotate] [blame] [check-ins using] [diff]
2009-05-24
18:04
[0c2ce3eafa] part of check-in [94ea6848a8] Always use #include "config.h" instead of #import "config.h". (check-in: [94ea6848a8] user: js, branch: trunk, size: 13949) [annotate] [blame] [check-ins using] [diff]
2009-04-22
22:43
[d4f0e2b26d] part of check-in [8dbc052d49] gcc seems to accept a @throw instead of a return as well. (check-in: [8dbc052d49] user: js, branch: trunk, size: 13948) [annotate] [blame] [check-ins using] [diff]
2009-04-21
17:28
[d73afc0a37] part of check-in [06c07468fb] Add missing breaks in OFNumber. (check-in: [06c07468fb] user: js, branch: trunk, size: 14019) [annotate] [blame] [check-ins using] [diff]
17:16
[fe660d1678] part of check-in [d87df02e8b] The if ((self = [super init])) construct isn't needed anymore. (check-in: [d87df02e8b] user: js, branch: trunk, size: 13247) [annotate] [blame] [check-ins using] [diff]
2009-04-19
23:19
[7eb8ab4a41] part of check-in [1898ec5a4b] More methods for OFNumber. (check-in: [1898ec5a4b] user: js, branch: trunk, size: 13535) [annotate] [blame] [check-ins using] [diff]
23:17
[1e5b23cc34] part of check-in [8eb830d7c8] Remove long double from OFNumber as there's no type encoding for it. (check-in: [8eb830d7c8] user: js, branch: trunk, size: 9967) [annotate] [blame] [check-ins using] [diff]
20:34
[8e480899d7] part of check-in [139591afe1] Use isa instead of [self class].

Since we don't use Object anymore and define isa in OFObject, we can
rely on it. (check-in: [139591afe1] user: js, branch: trunk, size: 10364) [annotate] [blame] [check-ins using] [diff]

2009-04-17
16:45
[b19ce3cb16] part of check-in [cd9bd80792] Add - hash for OFNumber. (check-in: [cd9bd80792] user: js, branch: trunk, size: 10740) [annotate] [blame] [check-ins using] [diff]
2009-03-15
16:54
[0f95863ba4] part of check-in [c9b6747306] Fix missing #import "config.h". (check-in: [c9b6747306] user: js, branch: trunk, size: 10693) [annotate] [blame] [check-ins using] [diff]
2009-02-15
16:40
[9764239f2d] part of check-in [d9308adc2b] Get rid of OFComparable and make it part of OFObject. (check-in: [d9308adc2b] user: js, branch: trunk, size: 10673) [annotate] [blame] [check-ins using] [diff]
2009-02-14
20:15
[5e2a173a69] part of check-in [db131a629c] Add intmax_t and uintmax_t to OFNumber. (check-in: [db131a629c] user: js, branch: trunk, size: 9699) [annotate] [blame] [check-ins using] [diff]
2009-01-24
20:28
[5618431ef2] part of check-in [7feac9e596] [self alloc] isn't a good idea with the new API.
The reason is that a derived class, for example derived from OFArray,
would not return an OFArray when + arrayWithItemSize is called.
(check-in: [7feac9e596] user: js, branch: trunk, size: 8947) [annotate] [blame] [check-ins using] [diff]
15:24
[714973113c] part of check-in [1496808b81] Adjust API to introduction of OFAutoreleasePool. (check-in: [1496808b81] user: js, branch: trunk, size: 8855) [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
[76fb7ad662] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 8464) [annotate] [blame] [check-ins using] [diff]
2009-01-04
01:40
[03cd55c54a] part of check-in [bb1fe89478] Clean up exceptions. (check-in: [bb1fe89478] user: js, branch: trunk, size: 8457) [annotate] [blame] [check-ins using] [diff]
2008-12-30
14:42
Added: [f0e9fb484c] part of check-in [555f28985f] Add OFNumber. (check-in: [555f28985f] user: js, branch: trunk, size: 8138) [annotate] [blame] [check-ins using]