Commit Graph

670 Commits

Author SHA1 Message Date
Eugen Wissner 158a47d54a Update dmd to 2.081.1. Remove 2.077.1 2018-07-13 05:39:58 +02:00
Eugen Wissner 5865e355cd Fix EV_SET 0 length on 32-bit BSD 2018-07-08 12:54:47 +02:00
Eugen Wissner a94b1b0af4 Add functional module. Fix #52 2018-07-07 12:17:59 +02:00
Eugen Wissner 3df4eb6259 Don't check UTF-8 correctness when inserting chars
- Fix bug when inserting char ranges that are not arrays
- Optimize insertion from the String own range
- Assume char and char ranges are correclty encoded (as it actually
should be) and don't throw an exception. This should make the most
common use cases nothrow (Fix #19). Dchars and Wchars are still encoded
because they should be converted to UTF-8 before inserting anyway.
2018-07-06 05:36:13 +02:00
Eugen Wissner a332d727af Implement errol2 for floating point formatting
Handles whole floating point numbers in the range between 2^54 and 2^131.
2018-07-02 10:47:05 +02:00
Eugen Wissner 8241943a58 Add uint128 tailored for errol2 computations 2018-07-02 10:26:45 +02:00
Eugen Wissner d54e06f43c Iterate hash table by key or by value 2018-06-29 20:43:05 +02:00
Eugen Wissner 5e901f505c Make HashTable work complex types as key
- Add toHash() function for String
- The key type shouldn't match exact for a lookup.
The key type and lookup key type should be comparable.
- Move elements when inserting if passed by value.
2018-06-28 12:14:45 +02:00
Eugen Wissner 533fa3b023 container.HashTable: Fix infinite rehashing when inserting
Fix #53.
2018-06-27 05:45:53 +02:00
Eugen Wissner adf2d8b689 Add Option to typecons
Fix #47.
2018-06-26 04:25:32 +02:00
Eugen Wissner 74ece7ddf4 Replace floating pointer formatter with errol1 2018-06-23 16:21:19 +02:00
Eugen Wissner 411e45ec5c Remove functions deprecated in 0.9.0 2018-06-22 07:11:56 +02:00
Eugen Wissner f51e9405c9 Update socket documentation 2018-06-20 07:59:37 +02:00
Eugen Wissner de15281ccb Tuple with more than two fields
Fix #41.
2018-06-19 05:44:15 +02:00
Eugen Wissner a86b6690f0 Implement auto-decoding free equal comparison
Fix #39.
2018-06-12 20:19:06 +02:00
Eugen Wissner 15f7994187 Add takeExactly
Fix #43.
2018-06-10 19:03:26 +02:00
Eugen Wissner 37b0afe290 take: Remove moveFront, moveBack, moveAt 2018-06-10 14:46:40 +02:00
Eugen Wissner cd9960db2a Add take range adapter 2018-06-10 14:46:40 +02:00
Eugen Wissner 7357503c5a Update 2.080 series to 2.080.1 2018-06-09 05:05:30 +02:00
Eugen Wissner 173ae115ee readIntegral: Support base between 2 and 36 2018-06-08 21:05:35 +02:00
Eugen Wissner 7561b964d3 Make intToString -> readString more generic
Make readString work with any char range and unsigned integral type.
2018-06-07 07:23:39 +02:00
Eugen Wissner c663703221 container.list: Remove deprecated list length property 2018-06-01 14:13:27 +02:00
Eugen Wissner 58af2fd89b encoding.ascii: Make static const data immutable 2018-05-31 18:43:35 +02:00
Eugen Wissner 52ec88bd04 async: Annotate system tests 2018-05-31 18:43:21 +02:00
Eugen Wissner bfe0748a63 Insert a range into the hash table and set 2018-05-30 18:50:52 +02:00
Eugen Wissner 61814d5383 Make an independent function for converting port string 2018-05-23 05:10:44 +02:00
Eugen Wissner c268696ee9 HashTable/Set: Add proper assignment 2018-05-20 21:58:15 +02:00
Eugen Wissner 9efbc9d5e0 Make Array postblit safe if possible 2018-05-18 07:43:18 +02:00
Eugen Wissner c511b97b1b container.Set and HashTable: Fix constructors 2018-05-17 05:31:14 +02:00
Eugen Wissner 385ec19e2f hash.lookup: Reformat the docs 2018-05-17 05:30:49 +02:00
Eugen Wissner 205d7a080e Add KeyValue alias for value tuple 2018-05-14 21:55:49 +02:00
Eugen Wissner d545d6900e Make HashTable Range return Pair 2018-05-14 19:23:22 +02:00
Eugen Wissner 3ed46117d1 Port Set ranges for HashTable 2018-05-14 19:23:22 +02:00
Eugen Wissner 00dbb224f7 Move length tracking to HashArray 2018-05-14 19:23:22 +02:00
Eugen Wissner 9cf1b6f491 Use HashArray as internal storage 2018-05-14 19:23:22 +02:00
Eugen Wissner bdce5cda6a Add HashTable container 2018-05-14 19:23:22 +02:00
Eugen Wissner faf952b30e Rename Pair to Tuple 2018-05-12 06:11:24 +02:00
Eugen Wissner 53620cdddf Improve preconditions for the container.Set 2018-05-11 05:43:14 +02:00
Eugen Wissner 41a8e32351 Switch to travis-ci.com 2018-05-10 06:13:38 +02:00
Eugen Wissner 2ec750ca05 Fix math.nbtheory linkage to asm
Don't use extern for templated functions. If the function argument is
const, it gets a different mangling. So define a private function for
each floatint point length and call it from template.
2018-05-08 18:07:42 +02:00
Eugen Wissner 6ed2992862 Remove unused variables 2018-05-06 07:03:11 +02:00
Eugen Wissner 5c8c0ce4d8 Add dmd 2.080.0 support 2018-05-05 05:22:04 +02:00
Eugen Wissner cd1a38f402 Move Smallest and Largest to meta.transform
Smallest and Largest choose the smallest or largest (according to
.sizeof property) type in the list of types. These templates get a list
of types and produce a type, so they are transformations.
2018-05-02 15:50:28 +02:00
Eugen Wissner 4f6ce116bc Add documented tests for Set.empty and Set.clear() 2018-05-01 15:56:07 +02:00
Eugen Wissner c4424e7e01 Track hash Set length
Can be used later to rehash the hash table if it is full up to some
percentage.
2018-04-30 12:51:35 +02:00
Eugen Wissner 18d54b4b18 HashArray as an internal store for hash containers 2018-04-29 09:12:48 +02:00
Eugen Wissner 36646aa2c4 container.Set: Rewrite arch dependent tests 2018-04-28 18:07:41 +02:00
Eugen Wissner 702d1b02e0 Make allocator getter public 2018-04-28 17:57:07 +02:00
Eugen Wissner 8733b93ca0 container.Set: Support customizable hasher 2018-04-28 17:49:49 +02:00
Eugen Wissner 55c36d22a0 Make isType public 2018-04-27 11:32:41 +02:00