442fa5b46a
Fix hashing scalar types
2018-03-27 05:09:22 +02:00
0d6d8f6a91
Add hash combining for ranges
2018-03-27 05:09:09 +02:00
cefc4e24b5
Add FNV-1a test vectors
2018-03-27 05:08:55 +02:00
1adc4cd868
Add hash.lookup module
2018-03-27 05:08:28 +02:00
8faccbada4
Deprecate meta.trait.hasMember
2018-03-26 20:38:57 +02:00
9fb043ba65
Fix typeof(null) being a pointer for isPointer
2018-03-25 09:19:35 +02:00
162db622ea
Add assignable-, lvalue- and swappable checks
...
... for ranges.
Also adds "put" for the output ranges.
Fix #34 .
2018-03-23 08:49:24 +01:00
a7c1e642e9
Implement moveFront, moveBack, moveAt
...
... and hasMobileElements.
2018-03-22 10:44:58 +01:00
7829b1fe06
Remove static std.range import
2018-03-22 10:44:52 +01:00
cb742eec82
meta.trait: Deprecate one-liner
...
These one-liners are useful for meta-programming but they can be easely
implemented. It isn't possible to implement all possible variants in a
generic library, so it is better they are defined in the user code.
Deprecated traits:
- isPOD
- sizeOf
- alignOf
- isSame
- isTemplate
- isInterface
- isClass
- isStruct
- isEnum
2018-03-21 10:10:55 +01:00
341068488d
meta.trait: Make unittest structs static
2018-03-21 10:04:05 +01:00
9b0bc77b7a
async: Remove unused imports
2018-03-21 08:30:47 +01:00
c9e4871fb5
algorithm.mutation: Fix param name in the docs
2018-03-21 08:15:58 +01:00
1f4ab88254
typecons.Pair: Add better documentation unittests
2018-03-21 08:14:52 +01:00
7af5b4db72
metafunction: Make Set and Tuple to structs
...
It allows to use alias this to access the elements by index.
2018-03-20 17:20:13 +01:00
629071f934
Add information that DList can be used as a queue
2018-03-10 07:17:43 +01:00
17cb592b13
Replace Queue with DList
2018-03-09 08:19:17 +01:00
82f41844b1
container.list: Document front/back preconditions
2018-03-09 08:00:28 +01:00
8fa033a49f
Fix #32
2018-03-09 05:27:32 +01:00
e77a499fa2
Annotate typecons unittests
2018-03-07 06:52:35 +01:00
54bcec216e
Deprecate MmapPool for the standard build
...
Mallocator is the default allocator now and should be used instead.
2018-03-06 05:29:15 +01:00
fbbdb36853
Use defaultAllocator in the async
...
Instead of hard-coded MmapPool.
2018-03-05 17:42:44 +01:00
b795267e75
Rename ErrorCode.text() to toString()
2018-03-04 10:43:24 +01:00
81cbb96d45
Merge remote-tracking branch 'n8sh/isRandomAccessRange-definition'
2018-03-04 09:29:09 +01:00
Nathan Sashihara
467335460e
Decouple isRandomAccessRange from isForwardRange and isBidirectionalRange
2018-03-04 03:02:18 -05:00
16c5fa12df
Implement Error.text()
...
Error.text() returns an error description.
2018-03-02 06:48:03 +01:00
9bf8754711
Fix setting new head/tail after removing in DList
2018-02-26 08:09:14 +01:00
760cea163d
Add a workaround for dmd 2.076.1 on OSX
2018-02-25 21:33:29 +01:00
03c40ecace
Fix removing all elements from DList
2018-02-25 18:25:19 +01:00
9c70e9a058
Annotate list unittests
2018-02-25 15:42:32 +01:00
5ae20512af
Fix inserting before/after a range into the string
2018-02-25 12:53:42 +01:00
d30de300d6
Fix slicing a null pointer when deallocating
2018-02-25 11:09:57 +01:00
464a0fecbb
Make math.nbtheory.ln to a template function
2018-02-25 05:38:21 +01:00
af942116e4
Merge remote-tracking branch 'n8sh/getrandom-syscall'
...
Fix #18 .
2018-02-22 05:25:59 +01:00
Nathan Sashihara
7ee4af9e79
Use correct getrandom linux syscall on non-x86_64
2018-02-21 04:49:48 -05:00
Nathan Sashihara
9876d9245c
Implement PlatformEntropySource for macOS, Microsoft Windows, NetBSD, OpenBSD, Solaris
2018-02-21 03:18:52 -05:00
2cda82eeea
Fix handling of misaligned bytes in fill
2018-02-04 07:23:56 +01:00
e9f70853c6
Fix #12
2018-02-02 16:13:55 +01:00
4aaa71a7d0
Format ranges
2018-02-02 14:34:36 +01:00
cbc68c2c43
Implement formatting for enums
2018-02-01 16:29:13 +01:00
048ddf21ff
Replace body with do
2018-01-31 12:05:06 +01:00
b69d737845
Add typeid formatting tests
2018-01-16 17:44:09 +01:00
904451ccaa
Remove moved and deprecated conv module
2018-01-14 19:13:12 +01:00
8db1851c5c
Update dmd to 2.078.0
2018-01-04 05:36:46 +01:00
12de700706
Fix formatting null class references
2017-12-16 09:42:57 +01:00
78a8afdf75
Format stringish ranges
2017-12-15 22:42:18 +01:00
3c996d7c57
Add struct formatting
2017-12-14 19:47:13 +01:00
2a68048fc1
Put real formatting code into a separate function
2017-12-09 10:02:54 +01:00
7fe69ccc5c
format: Aggregate types
2017-12-08 10:56:59 +01:00
26c3532e28
Wrap formatting into printToString
...
printToString gets the output string as argument and can be called
recursive with the same output string to format ranges.
2017-12-03 19:53:06 +01:00
9e16d84f9e
Reintroduce isStruct, isClass and isInterface
...
since they can be useful for generic programming.
2017-11-29 19:53:28 +01:00
7e7bf40f70
Move remaining to methods to tanya.conv
2017-11-29 19:09:58 +01:00
642717883e
Add boolean and null formatting
2017-11-29 18:44:51 +01:00
85be35c5e0
Make floating formatting safe
2017-11-29 07:49:20 +01:00
664298f038
Remove buffer argument from format
2017-11-28 22:11:19 +01:00
c199cdd47c
Merge changes to reals formatting from master
2017-11-28 09:32:20 +01:00
3a24e9e462
Make pointer to string conversion safer
2017-11-27 15:10:17 +01:00
f334e6a1a0
Check format specifier at compile time
2017-11-25 22:29:45 +01:00
72d5760589
Change default pointer format
2017-11-25 19:01:20 +01:00
b28dde9d8e
Remove triplet comma
2017-11-25 17:10:59 +01:00
b612e978bf
format: Add format string tests
2017-11-25 15:24:45 +01:00
02d1d8218b
Port vsprintf
2017-11-25 15:11:43 +01:00
fbf6ec5250
format: Check if the scientific form is to be used
2017-11-25 14:59:27 +01:00
ac317aa9d6
math.min: Drop useless second isFloatingPoint check
2017-11-19 22:37:15 +01:00
10022d158c
Replace aho/ali usage with HP
2017-11-16 19:28:44 +01:00
a38242d0ac
Make real2String more readable
2017-11-16 19:19:18 +01:00
a84c71f26d
Revert usage of "do" instead of "body"
...
And fix GCC build.
2017-11-16 19:15:56 +01:00
7797f0a1fe
format.conv.number2String -> format.integral2String (intern)
2017-11-12 11:57:47 +01:00
4bbc8b510a
conv: Use assertThrown to check ConvException is thrown
2017-11-12 11:44:45 +01:00
87ea1f98dc
Add range primitives that remove several elements
...
- isOutputRange
- popFrontN
- popFrontExactly
- popBackN
- popBackExactly
2017-11-05 07:00:10 +01:00
13407fcf8a
math: Add min/max
2017-11-02 06:00:11 +01:00
e06cc5a071
Fix moveEmplace for static arrays
2017-11-01 14:27:39 +01:00
12fb9ff9f6
Add algorithm.mutation.swap
2017-11-01 13:03:48 +01:00
392cdcf192
Fix moveEmplace not being pure
2017-11-01 12:30:27 +01:00
09b6655b9a
memory.op: Check for valid .ptr and .length
...
typeid(T).initializer can return an array, whose .ptr is null but the
length not. Assert that .ptr and .length are consistent.
2017-11-01 00:01:43 +01:00
7a2768340e
Add algorithm package with move and moveEmplace
2017-10-29 07:51:00 +01:00
414d7a11a8
Add meta.trait.Fields
2017-10-27 20:28:34 +02:00
0d69c7fc79
Make math.mp.Integer pure
2017-10-24 11:50:32 +02:00
d1d55be7c2
Fix lowerHexDigits string
2017-10-18 06:40:22 +02:00
7b21238db7
String: Fix byCodePoint.popFront for multibyte chars
2017-10-14 13:47:16 +02:00
e316631f6e
Add test package
2017-10-12 07:41:35 +02:00
5d6f8e5299
Implement pure onOutOfMemory
2017-10-10 06:59:34 +02:00
87bfd77373
container.string: Add missing postblit
2017-10-08 15:53:29 +02:00
17005e4ac9
Fix isInnerClass for templates, sort unittest attributes
2017-10-06 12:28:14 +02:00
85ad88bc4d
Rename isPolymorphic into isPolymorphicType
2017-10-06 12:06:47 +02:00
211f590caa
Tests and better documentation for memory.stateSize
2017-10-06 07:45:46 +02:00
2f4dd34582
Replace isInterface, isClass, isStruct with isPolymorphic
2017-10-05 07:12:27 +02:00
7e93bcdeeb
meta: Add canFind and isInnerClass
2017-10-04 06:06:26 +02:00
e4cd57a615
math.nbtheory: Implement natural logarithm
2017-10-02 14:55:30 +02:00
74b085b88d
Sort imports
2017-10-01 19:03:42 +02:00
a576c36d02
Replace memcpy/memmove with copy/copyBackward
2017-09-30 08:15:02 +02:00
1056a2984e
Fix #303
...
Allocation schema is displayed incorrectly in HTML.
Add pre-tag for the schema.
2017-09-27 17:56:15 +02:00
faebf3e4d5
Fix #304
...
Replace inline assembly with GAS.
2017-09-26 08:26:12 +02:00
ee48c25328
Replace "Ditto." with "ditto"
...
ddox doesn't recognize "Ditto.".
2017-09-22 04:08:50 +02:00
4612d5eb6d
Add tanya.encoding.ascii
2017-09-21 06:57:49 +02:00
8d3a4860e6
Add memory.op.find for looking for a byte in a memory block
2017-09-20 08:31:54 +02:00
3df6c83376
Move formatting development to the io branch
2017-09-19 15:10:24 +02:00
14f91b6942
Don't import math submodules publically
2017-09-18 12:28:13 +02:00
be551e9349
Add docs and tests for fp classificators
2017-09-18 11:31:37 +02:00
586d12b6c7
Classificators for double extended floating point numbers
2017-09-17 10:30:12 +02:00