forked from dlang/phobos
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchangelog.dd
More file actions
86 lines (70 loc) · 3.12 KB
/
Copy pathchangelog.dd
File metadata and controls
86 lines (70 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Ddoc
$(COMMENT Pending changelog for 2.071. This will get copied to dlang.org and
cleared when master gets merged into stable prior to 2.071.
)
$(BUGSTITLE Library Changes,
$(LI $(NXREF experimental_allocator_gc_allocator, GCAllocator.goodAllocSize)
was added.)
$(LI High-level API of $(STDMODREF net_curl, std.net.curl) now uses $(XREF array, Appender)
for received content. Which generally makes all calls slightly faster. Up to 200ms for large
amounts of data.)
$(LI $(XREF meta, Repeat) was added to obtain a repeating
$(XREF meta, AliasSeq) consisting of template arguments.)
$(LI $(XREF algorithm_iteration, fold) was added as an alternative to $(XREF algorithm_iteration, reduce)
with argument order swapped.)
$(LI $(RELATIVE_LINK2 nextPow2, Added nextPow2 and truncPow2 to std.math.))
$(LI $(CXREF bitop, bsf), $(CXREF bitop, bsr), and $(CXREF bitop, popcnt) now
work with ulongs on 32 bit systems.)
$(LI $(XREF algorithm_sorting, topN) is now 5% - 7% faster.)
$(LI $(RELATIVE_LINK2 unary, Unary overloads of `startsWith` and `endsWith` were added.))
$(LI $(RELATIVE_LINK2 maxCount, $(XREF algorithm_searching, maxCount) and
$(XREF algorithm_searching, maxPos) were added.))
$(LI Range support for the convenience wrapper $(XREF container_rbtree, redBlackTree)
was added.)
)
$(BUGSTITLE Library Changes,
$(LI $(LNAME2 nextPow2, Added nextPow2 and truncPow2 to std.math.)
$(P $(XREF math, nextPow2) and $(XREF math, truncPow2) are functions for
rounding numbers to powers of two.
)
------
import std.math;
assert(nextPow2(10) == 16);
assert(nextPow2(4000) == 4096);
assert(truncPow2(10) == 8);
assert(truncPow2(4000) == 2048);
------
)
$(LI $(LNAME2 unary, Unary overloads of `startsWith` and `endsWith` were added.)
$(P $(XREF algorithm_searching, startsWith) and $(XREF algorithm_searching, endsWith)
can now be used just with a predicate.
)
------
import std.algorithm.searching;
import std.ascii : isAlpha;
assert("abc".endsWith!isAlpha);
assert(!"ab1".endsWith!(a => a.isAlpha));
assert("abc".startsWith!isAlpha);
assert(!"1ab".startsWith!isAlpha);
------
)
$(LI $(LNAME2 maxPos, $(XREF algorithm_searching, maxCount) and
$(XREF algorithm_searching, maxPos) were added.)
$(P Previous to this addition, in order to get the number of the greatest
elements, you had to use `minCount!"a > b"`, which was very confusing.
This change adds convenience functions to fix this issue.)
)
)
Macros:
TITLE=Change Log
BUGSTITLE = <div class="bugsfixed">$(H4 $1) $(OL $2 )</div>
RELATIVE_LINK2=<a href="#$1">$+</a>
LNAME2=<a class="anchor" title="Permalink to this section" id="$1" href="#$1">$+</a>
STDMODREF = <a href="phobos/std_$1.html">$2</a>
XREF = <a href="phobos/std_$1.html#$2">$2</a>
CXREF = <a href="phobos/core_$1.html#$2">$2</a>
OXREF = <a href="phobos/object.html#$2">$2</a>
NXREF = <a href="phobos/std_$1.html#.$2">$2</a>
NCXREF = <a href="phobos/core_$1.html#.$2">$2</a>
NOXREF = <a href="phobos/object.html#.$2">$2</a>
BOOKTABLE = <table><caption>$1</caption>$+</table>