Commit graph

16804 commits

Author SHA1 Message Date
Martin Nowak
e3f2a83f2a Merge remote-tracking branch 'upstream/stable' into merge_stable 2018-08-17 01:29:19 +02:00
Martin Nowak
8231e779e0 Merge remote-tracking branch 'upstream/master' into stable 2018-08-17 00:02:24 +02:00
Sebastian Wilzbach
e832f8ebce Add a changelog entry for each's early stopping 2018-08-16 12:58:41 +02:00
Sebastian Wilzbach
cf20c18ece Add a special buildkite Makefile target that can be used to run Phobos testsuite on Buildkite 2018-08-16 11:59:50 +02:00
The Dlang Bot
4b98bd8b44
Merge pull request #6666 from schveiguy/fix19171
Fix issue 19171 - Fix invalid assert in Array!bool slicing
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2018-08-16 07:24:50 +02:00
The Dlang Bot
a56be52abb
Merge pull request #6272 from kinke/atan_generic
Implement std.math.{atan[2],tan,exp[2],expm1} for single- and double-precision
merged-on-behalf-of: David Nadlinger <code@klickverbot.at>
2018-08-16 03:29:37 +02:00
Andrei Alexandrescu
a12d990924
Merge pull request #5268 from andralex/each-with-early-stopping
Make `each` capable of early stopping
2018-08-15 19:12:17 -04:00
Steven Schveighoffer
5a3a181922 Fix issue 19171 - Fix invalid assert in Array!bool slicing 2018-08-15 14:24:51 -04:00
Martin
97a491b7c2 Add changelog entry 2018-08-15 18:32:33 +02:00
Martin
77376fcf56 Add std.math.expm1(float) overload (using double precision) 2018-08-15 18:32:33 +02:00
Martin
21468e788b Forward to (builtin) real version for CTFE in single/double precision overloads 2018-08-15 18:32:33 +02:00
Martin
0288386001 Streamline Cephes implementations for single precision
I.e., use poly() as for the other precisions (unlike the C source).
With enabled compiler optimizations, it should be inlined anyway.
2018-08-15 18:32:33 +02:00
Martin
63254627ca Avoid ldexp() for static exponents
Prefer an arithmetic multiply by the according power-of-two constant, as
that's much faster. E.g., this makes tan(double) run 2.05x faster on an
Intel i5-3550.
2018-08-15 18:32:33 +02:00
Martin
e1d987dda6 Improve performance of std.math.poly()
Add a statically unrolled version for 1..10 coefficients.

Results on Linux x86_64 and with an Intel i5-3550 for:

  static immutable T[6] coeffs = [ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 ];
  std.math.poly(cast(T) 0.43685, coeffs);

=> real:   ~1.2x faster
=> double: ~3.2x faster
=> float:  ~3.0x faster
2018-08-15 18:32:33 +02:00
Martin
adc30e7756 Implement std.math.exp2() for single- and double-precision 2018-08-15 18:32:33 +02:00
Martin
a08c986a42 Implement std.math.expm1() for double-precision
And make the x87 `real` version CTFE-able.
I couldn't find the single-precision version in Cephes.
2018-08-15 18:32:33 +02:00
Martin
d17cda4c77 Implement std.math.exp() for single- and double-precision 2018-08-15 18:32:33 +02:00
Martin
d3f5005568 Implement std.math.tan() for single- and double-precision
And make the x87 `real` version CTFE-able.
2018-08-15 18:32:33 +02:00
Martin
83e0a95468 Implement std.math.atan2() for single- and double-precision
And make the x87 `real` version CTFE-able.
2018-08-15 18:32:33 +02:00
Martin
ef21892f52 Implement std.math.atan() for single- and double-precision
And make the x87 `real` version CTFE-able.
2018-08-15 18:32:32 +02:00
The Dlang Bot
1e3272746a
Merge pull request #6143 from wilzbach/skipOver
Fix Issue 12335 - std.algorithm.skipOver should support multiple args like startsWith
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2018-08-15 17:06:39 +02:00
Sebastian Wilzbach
6ef73fb360 Another merge 2018-08-15 15:05:16 +02:00
Sebastian Wilzbach
e1d37201f7 Fix early stopping PR 2018-08-15 11:06:43 +02:00
Andrei Alexandrescu
8ef426d772 More doc fixes 2018-08-15 11:06:43 +02:00
Andrei Alexandrescu
b803ffabd4 It's Yes... 2018-08-15 11:06:43 +02:00
Andrei Alexandrescu
662acd4cf6 Make each capable of early stopping 2018-08-15 11:06:43 +02:00
The Dlang Bot
bb769cfaf5
Merge pull request #4990 from wilzbach/fix-15357-each-foreach
Fix issue 17019: `each` should be usable with parallel (and behave like foreach)
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2018-08-14 21:19:55 +02:00
The Dlang Bot
a26ccc6f4c
Merge pull request #6649 from FeepingCreature/fix/issue-19135-rewrite-json_type-to-match-style-guidelines
Fix Issue 19135: Rename std.json.JSON_TYPE to JsonType with lowercase attributes
merged-on-behalf-of: Petar Kirov <ZombineDev@users.noreply.github.com>
2018-08-14 20:04:28 +02:00
Sebastian Wilzbach
f67c43d93d
Merge pull request #6115 from wilzbach/13121
Issue 13121 - std.algorithm.joiner should return a bidirectional range if possible
2018-08-14 15:23:03 +02:00
Sebastian Wilzbach
91c9973d72
Merge pull request #6657 from n8sh/std-random-14001-19156
Fix Issue 14001 & Issue 19156 - `@nogc` std.random.randomCover and std.random.randomShuffle
2018-08-14 13:54:44 +02:00
The Dlang Bot
a707cde95a
Merge pull request #6661 from n8sh/duplicate-DOUBLEPAIR_MSB
Remove duplicate definitions of DOUBLEPAIR_MSB & DOUBLEPAIR_LSB for IBM doubledouble
merged-on-behalf-of: Iain Buclaw <ibuclaw@gdcproject.org>
2018-08-13 23:25:21 +02:00
The Dlang Bot
007d85a4fb
Merge pull request #6662 from wilzbach/dscanner-gdb
Don't run DScanner in GDB anymore
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2018-08-13 22:40:00 +02:00
Sebastian Wilzbach
4f47af9dd6
Merge pull request #6653 from n8sh/issue-19138
Fix Issue 19138 - std.uuid.randomUUID should not depend on std.random.Random being Mt19937
2018-08-13 20:18:02 +02:00
Sebastian Wilzbach
b04721db42 Don't run DScanner in GDB anymore 2018-08-13 18:40:47 +02:00
Nathan Sashihara
7f1301c3a7 Remove duplicate definitions of DOUBLEPAIR_MSB & DOUBLEPAIR_LSB for IBM doubledouble 2018-08-13 12:34:08 -04:00
Sebastian Wilzbach
a86b2d05ca
Merge pull request #6658 from MartinNowak/merge_stable
Merge remote-tracking branch 'upstream/stable' into merge_stable
2018-08-13 17:27:44 +02:00
Martin Nowak
050464eda6 Merge remote-tracking branch 'upstream/stable' into merge_stable
# Conflicts:
#	std/conv.d
2018-08-12 16:36:44 +02:00
Nathan Sashihara
3a212c0c72 Fix Issue 14001 - Optionally @nogc std.random.randomCover
Fix Issue 19156 - `@nogc` std.random.randomShuffle

Solution is to use a private `_randomIndex` function that is guaranteed
to be called only with valid bounds.
2018-08-10 18:24:34 -04:00
The Dlang Bot
565a51f8c6
Merge pull request #6656 from n8sh/issue-19147-complex-antibloat
Fix Issue 19147 - Reduce template bloat in std.complex by using const arguments
merged-on-behalf-of: Petar Kirov <ZombineDev@users.noreply.github.com>
2018-08-10 22:59:00 +02:00
Sebastian Wilzbach
ded9b797eb
Merge pull request #6655 from kinke/wasm_upstream2
[stable] Remove superfluous core.stdc.* dependencies in std.{conv,random}
2018-08-08 15:44:52 +02:00
Mathis Beer
fbd094737f Fix Issue 19135
Rewrite std.json.JSON_TYPE to be CamelCase with lowercase members, with underscore attached to avoid keyword collision.
Deprecate the old type via alias.
2018-08-08 08:34:00 +02:00
Sebastian Wilzbach
2a3eed6574
Merge pull request #6654 from MartinNowak/merge_stable
Merge remote-tracking branch 'upstream/stable' into merge_stable
2018-08-07 17:36:17 +02:00
The Dlang Bot
1201b7458e
Merge pull request #6633 from joakim-noah/parse_real
Extend std.conv.parse for strings to full ieeeQuadruple precision and other fixes
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2018-08-07 02:27:19 +02:00
Nathan Sashihara
043ef8f753 Fix Issue 19147 - Reduce template bloat in std.complex by using const arguments
Labeling variably-typed arguments of templated functions as const
causes the same type to be inferred when the argument is const,
non-const, and immutable.
2018-08-06 18:51:50 -04:00
Nathan Sashihara
202a837b7d Fix Issue 19138 - std.uuid.randomUUID should not depend on std.random.Random being Mt19937 2018-08-06 17:55:18 -04:00
Martin Kinkelin
4de15cec63 Remove superfluous core.stdc.* dependencies in std.{conv,random} 2018-08-06 21:40:38 +02:00
Martin Nowak
f8bd6e7c14 Merge remote-tracking branch 'upstream/stable' into merge_stable 2018-08-06 18:25:48 +02:00
Joakim
650951472e std.conv: Fix error message and doc comment that changed in #5015. 2018-08-06 10:57:34 +05:30
Joakim
6f151c5359 std.conv: add more tests for string to floating-point parser. 2018-08-06 10:57:34 +05:30
Joakim
4c77ff8632 std.conv: refactor string parser for reals so decimal and hex strings use the same code path. 2018-08-06 10:57:34 +05:30