Commit Graph

625 Commits

Author SHA1 Message Date
Eugen Wissner d62f29abd1 Rename meta.metafunction.Tuple into Pack
typecons.Tuples and meta.metafunction.Tuples are often used together,
from the same module. So it is reasonable give them different names.
2018-07-24 20:16:21 +02:00
Eugen Wissner f2eb99bab0 Format fixed-point numbers 2018-07-22 15:28:17 +02:00
Eugen Wissner 531cae51a3 Stringish to integral type conversion. Fix #44 2018-07-18 06:33:45 +02:00
Eugen Wissner 1b203507f6 conv: Fix overflow hanndling in readIntegral 2018-07-17 16:03:05 +02:00
Eugen Wissner 99e06e0d04 format: Support text in the format string
Fix  #25.
2018-07-14 19:09:21 +02:00
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