Commit graph

61 commits

Author SHA1 Message Date
Sebastian Wilzbach
8b60ec24b0 add external imports to documented unittests in std.algorithm 2016-06-15 03:42:28 +02:00
Sebastian Wilzbach
823203fc4f fix slipped through style violations 2016-06-05 01:30:55 +02:00
Andreas Zwinkau
9d77777941 Removed outdated comment
Slipped through pull request #4362. Since "above" is a different
algorithm the removed comment is misleading. It did make sense in
previous versions of PR #4362.
2016-06-02 22:59:40 +02:00
Andreas Zwinkau
a9d5b8ca77 Improve speed of find for random access needles (strings)
For find a string within a string, std.algorithm.searching.find was
unnecessarily slow. The reason is it created intermediate slices. A
naively written nested-for-loop implementation was a few times
faster.

For random access ranges (which strings are) this uses an index based
algorithm, which does not need to create an intermediate slice. Speed
is now comparable to the nested-for-loop implementation even in rather
pathological cases.

This might help with issue 9646.
2016-06-02 21:44:50 +02:00
Steven Schveighoffer
e216c10b2c Merge pull request #4383 from JackStouffer/issue16073
Partial Fix for Issue 16073
2016-06-02 14:30:24 -04:00
Jack Stouffer
74398e70cf [Issue 16073] Fix incorrect uses of random access range primitives in std.algorithm.searching 2016-06-02 09:31:07 -04:00
Sebastian Wilzbach
1d34a121e9 apply all-man braces in Phobos
// find common cases
sed -E "s/^(\s*)((if|static if|for|foreach|foreach_reverse|while|unittest|switch|else|version).*)\s*\{$/\1\2\n\1{/" -i **/*.d
// catch else-if
sed -E "s/^(\s*)} (else static if| if|else if|else)(.*)\s*\{$/\1}\n\1\2\3\n\1{/" -i **/*.d
// remove created trailing whitespace
sed -i 's/[ \t]*$//' **/*.d
2016-05-31 13:07:53 +02:00
Sebastian Wilzbach
2dfbc51f17 Standardize whitespace after imports
Unified with:

sed -E "s/import\s*([^ ]+)\s*:\s*(.*(,|;))/import \1 : \2/" -i **/*.d
2016-05-29 22:09:56 +02:00
anonymous
641d6ff8d7 clean up remaining XREFs (manual)
Found by: grep -r '$(XREF'

std.experimental.allocator has a custom XREF2. Leaving that as is for now.
2016-05-27 21:40:46 +02:00
anonymous
ef9722928c XREF_PACK_NAMED -> REF_ALTTEXT (sed)
Done by:

arg='\s*([^(),]*)'
from='\$\(XREF_PACK_NAMED\s'$arg','$arg','$arg','$arg'\)'
to='$(REF_ALTTEXT \4, \3, std,\1,\2)'
(find . -type f -name "*.d" -print0; \
    find . -type f -name "*.dd" -print0) | \
xargs -0 sed -i -r "s/$from/$to/g"
2016-05-27 21:32:46 +02:00
anonymous
764caefa36 XREF -> REF (sed)
Done by:

(find . -type f -name "*.d" -print0; \
    find . -type f -name "*.dd" -print0) | \
xargs -0 sed -i -r \
    's/\$\(XREF\s+([^(),]*),\s*([^(),]*)\)/$(REF \2, std,\1)/g'
2016-05-27 21:32:46 +02:00
Sebastian Wilzbach
614294cd70 remove whitespace in ddoc output of std/algorithm 2016-05-25 03:57:01 +02:00
Andrei Alexandrescu
8f24656082 Merge pull request #4349 from nordlow/findSplit-opAssign
Fix Issue 15918
2016-05-24 09:04:48 -04:00
Per Nordlöw
54f05971e4 Fix Issue 15918 2016-05-24 09:37:36 +02:00
Vladimir Panteleev
38a6370788 Merge pull request #4303 from wilzbach/mref_phobos
use mref macro instead of link2
2016-05-24 03:12:08 +03:00
Robert Schadek
836a905833 Merge pull request #4312 from wilzbach/public_document_algorithms
std.algorithms: document public methods
2016-05-23 19:15:23 +02:00
Sebastian Wilzbach
89a2dd5f11 use mref macro instead of link2 2016-05-16 03:30:08 +03:00
Ilya Yaroshenko
b59ac8c2a8 remove useless CT branch 2016-05-12 17:29:49 +02:00
Sebastian Wilzbach
b8f17e2531 std.algorithms: document public methods 2016-05-12 17:53:03 +03:00
Sebastian Wilzbach
cc5e36d1b4 std.algorithm.searching - fix weird bug in Travis 2016-04-28 17:30:05 +03:00
Dmitry Olshansky
18dfffa07d Merge pull request #4221 from wilzbach/min_max_element
std.algorithm: {min,max}Element for a single range
2016-04-28 17:13:24 +04:00
Sebastian Wilzbach
e3d0aa9724 std.algorithm: {min,max}Element for a single range 2016-04-27 04:40:11 +03:00
Sebastian Wilzbach
3d67cd228c style fix: space between operators 2016-04-26 22:26:20 +03:00
Per Nordlöw
74deecc374 Update searching.d
Tag code with D ddoc tag.
2016-02-24 16:23:01 +01:00
Steven Schveighoffer
b0acb7a394 Fix remaining import deprecation messages 2016-02-22 16:03:12 -05:00
Jonathan M Davis
747135d6d6 Merge pull request #3954 from quickfur/canfind_docs
Add example of how to use a custom predicate with canFind.
2016-02-02 04:38:40 -08:00
H. S. Teoh
02c0083e1c Merge pull request #3942 from andralex/maxPos
Add maxCount and maxPos
2016-01-27 21:18:43 -08:00
H. S. Teoh
6a98d6ba03 Better variable naming. 2016-01-26 16:47:43 -08:00
H. S. Teoh
5517fe1bcd Add example of how to use a custom predicate. 2016-01-26 15:52:45 -08:00
Andrei Alexandrescu
eba4817874 Add maxCount and maxPos 2016-01-20 12:12:41 -05:00
Per Nordlöw
f7f48475f2 Review updates 2016-01-18 12:45:01 +01:00
Per Nordlöw
bfebdc7ecc Add alternative commenting 2016-01-17 21:21:39 +01:00
Per Nordlöw
0b934852c3 Add unary overloads for startsWith and endsWith 2016-01-17 21:21:39 +01:00
Andrei Alexandrescu
a505de3b51 Always return range.save 2016-01-11 13:32:30 -05:00
Andrei Alexandrescu
d95d96f05d No need to test if range is empty in minPos 2016-01-11 13:05:35 -05:00
Andrei Alexandrescu
19288618af Bug fix: swap must happen 2016-01-11 13:03:10 -05:00
Andrei Alexandrescu
b6a61d9e71 Merge pull request #3288 from nordlow/struct-returned-findSplit
Struct Returned findSplit*() with implicit bool conversion
2015-10-29 14:37:39 -04:00
Dragos Carp
d698887729 Remove obsolete TypeTuple references
Replace following names:
std.typetuple      -> std.meta
TypeTuple          -> AliasSeq
ParameterTypeTuple -> Parameters
FieldTypeTuple     -> Fields

std.traits requires more work than search/replace and is left unchanged.
2015-10-13 20:37:44 +02:00
Per Nordlöw
100e7a485b Struct returned findSplits with bool conversion 2015-10-05 21:56:33 +02:00
H. S. Teoh
754a259c93 Add Params:, Returns:, to minPos(). 2015-09-10 21:16:25 -07:00
H. S. Teoh
14bb8ad2f5 Add Params:, Returns:, to minCount(). 2015-09-10 21:15:17 -07:00
H. S. Teoh
4ac555c870 Add Params:, Returns:, to findSplitxx(). 2015-09-09 21:21:45 -07:00
H. S. Teoh
89d9653f77 Add Params:, Returns: to count(). 2015-09-09 20:48:48 -07:00
H. S. Teoh
44264b30d0 Add Params:, Returns: to balancedParens. 2015-09-09 20:37:45 -07:00
Luís Marques
3730d77c04 Fix issue 14880 2015-08-10 14:38:22 +01:00
anonymous
b28962635f fix package XREFs
Also add escaping underscores in some places, and rewrap to 80 columns
where touching anyway.
2015-06-15 22:30:41 +02:00
Walter Bright
d9a9826e55 Revert "Introducing std.meta package" 2015-05-06 14:36:45 -07:00
Dicebot
1c9ae027ef Rename old std.typetuple symbols inside Phobos
staticIndexOf -> indexOf
allSatisfy -> all
anySatisfy -> any
staticMap -> Map
2015-05-05 22:22:11 +03:00
Dicebot
82f54a38d3 TypeTuple -> MetaList inside Phobos 2015-05-05 22:22:11 +03:00
Dicebot
73f773838d import std.typetuple -> import std.meta 2015-05-05 22:22:10 +03:00