mirror of
https://github.com/dlang/phobos.git
synced 2025-04-30 15:10:46 +03:00
Remove unneeded .dup of arrays
See comments from #2974, specifically https://github.com/D-Programming-Language/phobos/pull/2974#discussion_r24388654
This commit is contained in:
parent
1129a2cd7f
commit
a15d9be6fd
3 changed files with 27 additions and 27 deletions
|
@ -1871,9 +1871,9 @@ unittest
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto lowEnt = ([ 1.0, 0, 0 ]).dup,
|
auto lowEnt = [ 1.0, 0, 0 ],
|
||||||
midEnt = ([ 0.1, 0.1, 0.8 ]).dup,
|
midEnt = [ 0.1, 0.1, 0.8 ],
|
||||||
highEnt = ([ 0.31, 0.29, 0.4 ]).dup;
|
highEnt = [ 0.31, 0.29, 0.4 ];
|
||||||
auto arr = new double[][3];
|
auto arr = new double[][3];
|
||||||
arr[0] = midEnt;
|
arr[0] = midEnt;
|
||||||
arr[1] = lowEnt;
|
arr[1] = lowEnt;
|
||||||
|
@ -1904,9 +1904,9 @@ unittest
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto lowEnt = ([ 1.0, 0, 0 ]).dup,
|
auto lowEnt = [ 1.0, 0, 0 ],
|
||||||
midEnt = ([ 0.1, 0.1, 0.8 ]).dup,
|
midEnt = [ 0.1, 0.1, 0.8 ],
|
||||||
highEnt = ([ 0.31, 0.29, 0.4 ]).dup;
|
highEnt = [ 0.31, 0.29, 0.4 ];
|
||||||
auto arr = new double[][3];
|
auto arr = new double[][3];
|
||||||
arr[0] = midEnt;
|
arr[0] = midEnt;
|
||||||
arr[1] = lowEnt;
|
arr[1] = lowEnt;
|
||||||
|
@ -2020,31 +2020,31 @@ void topN(alias less = "a < b",
|
||||||
debug(std_algorithm) scope(success)
|
debug(std_algorithm) scope(success)
|
||||||
writeln("unittest @", __FILE__, ":", __LINE__, " done.");
|
writeln("unittest @", __FILE__, ":", __LINE__, " done.");
|
||||||
//scope(failure) writeln(stderr, "Failure testing algorithm");
|
//scope(failure) writeln(stderr, "Failure testing algorithm");
|
||||||
//auto v = ([ 25, 7, 9, 2, 0, 5, 21 ]).dup;
|
//auto v = [ 25, 7, 9, 2, 0, 5, 21 ];
|
||||||
int[] v = [ 7, 6, 5, 4, 3, 2, 1, 0 ];
|
int[] v = [ 7, 6, 5, 4, 3, 2, 1, 0 ];
|
||||||
ptrdiff_t n = 3;
|
ptrdiff_t n = 3;
|
||||||
topN!("a < b")(v, n);
|
topN!("a < b")(v, n);
|
||||||
assert(reduce!max(v[0 .. n]) <= v[n]);
|
assert(reduce!max(v[0 .. n]) <= v[n]);
|
||||||
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
||||||
//
|
//
|
||||||
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
|
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
|
||||||
n = 3;
|
n = 3;
|
||||||
topN(v, n);
|
topN(v, n);
|
||||||
assert(reduce!max(v[0 .. n]) <= v[n]);
|
assert(reduce!max(v[0 .. n]) <= v[n]);
|
||||||
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
||||||
//
|
//
|
||||||
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
|
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
|
||||||
n = 1;
|
n = 1;
|
||||||
topN(v, n);
|
topN(v, n);
|
||||||
assert(reduce!max(v[0 .. n]) <= v[n]);
|
assert(reduce!max(v[0 .. n]) <= v[n]);
|
||||||
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
assert(reduce!min(v[n + 1 .. $]) >= v[n]);
|
||||||
//
|
//
|
||||||
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
|
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
|
||||||
n = v.length - 1;
|
n = v.length - 1;
|
||||||
topN(v, n);
|
topN(v, n);
|
||||||
assert(v[n] == 7);
|
assert(v[n] == 7);
|
||||||
//
|
//
|
||||||
v = ([3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]).dup;
|
v = [3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5];
|
||||||
n = 0;
|
n = 0;
|
||||||
topN(v, n);
|
topN(v, n);
|
||||||
assert(v[n] == 1);
|
assert(v[n] == 1);
|
||||||
|
|
|
@ -243,7 +243,7 @@ arrays as long as keys and values can in turn be converted.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
-------------------------
|
-------------------------
|
||||||
int[] a = ([1, 2, 3]).dup;
|
int[] a = [1, 2, 3];
|
||||||
auto b = to!(float[])(a);
|
auto b = to!(float[])(a);
|
||||||
assert(b == [1.0f, 2, 3]);
|
assert(b == [1.0f, 2, 3]);
|
||||||
string str = "1 2 3 4 5 6";
|
string str = "1 2 3 4 5 6";
|
||||||
|
@ -1432,7 +1432,7 @@ T toImpl(T, S)(S value)
|
||||||
import std.exception;
|
import std.exception;
|
||||||
|
|
||||||
// array to array conversions
|
// array to array conversions
|
||||||
uint[] a = ([ 1u, 2, 3 ]).dup;
|
uint[] a = [ 1u, 2, 3 ];
|
||||||
auto b = to!(float[])(a);
|
auto b = to!(float[])(a);
|
||||||
assert(b == [ 1.0f, 2, 3 ]);
|
assert(b == [ 1.0f, 2, 3 ]);
|
||||||
|
|
||||||
|
|
28
std/getopt.d
28
std/getopt.d
|
@ -981,12 +981,12 @@ unittest
|
||||||
|
|
||||||
enum Color { no, yes }
|
enum Color { no, yes }
|
||||||
Color color;
|
Color color;
|
||||||
args = (["program.name", "--color=yes",]).dup;
|
args = ["program.name", "--color=yes",];
|
||||||
getopt(args, "color", &color);
|
getopt(args, "color", &color);
|
||||||
assert(color, to!(string)(color));
|
assert(color, to!(string)(color));
|
||||||
|
|
||||||
color = Color.no;
|
color = Color.no;
|
||||||
args = (["program.name", "--color", "yes",]).dup;
|
args = ["program.name", "--color", "yes",];
|
||||||
getopt(args, "color", &color);
|
getopt(args, "color", &color);
|
||||||
assert(color, to!(string)(color));
|
assert(color, to!(string)(color));
|
||||||
|
|
||||||
|
@ -1015,7 +1015,7 @@ unittest
|
||||||
|
|
||||||
outputFiles = [];
|
outputFiles = [];
|
||||||
arraySep = ",";
|
arraySep = ",";
|
||||||
args = (["program.name", "--output", "myfile.txt,yourfile.txt"]).dup;
|
args = ["program.name", "--output", "myfile.txt,yourfile.txt"];
|
||||||
getopt(args, "output", &outputFiles);
|
getopt(args, "output", &outputFiles);
|
||||||
assert(outputFiles.length == 2
|
assert(outputFiles.length == 2
|
||||||
&& outputFiles[0] == "myfile.txt" && outputFiles[1] == "yourfile.txt");
|
&& outputFiles[0] == "myfile.txt" && outputFiles[1] == "yourfile.txt");
|
||||||
|
@ -1049,10 +1049,10 @@ unittest
|
||||||
verbosityLevel = 2;
|
verbosityLevel = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
args = (["program.name", "--quiet"]).dup;
|
args = ["program.name", "--quiet"];
|
||||||
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
|
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
|
||||||
assert(verbosityLevel == 0);
|
assert(verbosityLevel == 0);
|
||||||
args = (["program.name", "--verbose"]).dup;
|
args = ["program.name", "--verbose"];
|
||||||
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
|
getopt(args, "verbose", &myHandler, "quiet", &myHandler);
|
||||||
assert(verbosityLevel == 2);
|
assert(verbosityLevel == 2);
|
||||||
|
|
||||||
|
@ -1062,7 +1062,7 @@ unittest
|
||||||
assert(option == "verbose");
|
assert(option == "verbose");
|
||||||
verbosityLevel = 2;
|
verbosityLevel = 2;
|
||||||
}
|
}
|
||||||
args = (["program.name", "--verbose", "2"]).dup;
|
args = ["program.name", "--verbose", "2"];
|
||||||
getopt(args, "verbose", &myHandler2);
|
getopt(args, "verbose", &myHandler2);
|
||||||
assert(verbosityLevel == 2);
|
assert(verbosityLevel == 2);
|
||||||
|
|
||||||
|
@ -1071,12 +1071,12 @@ unittest
|
||||||
{
|
{
|
||||||
verbosityLevel = 2;
|
verbosityLevel = 2;
|
||||||
}
|
}
|
||||||
args = (["program.name", "--verbose"]).dup;
|
args = ["program.name", "--verbose"];
|
||||||
getopt(args, "verbose", &myHandler3);
|
getopt(args, "verbose", &myHandler3);
|
||||||
assert(verbosityLevel == 2);
|
assert(verbosityLevel == 2);
|
||||||
|
|
||||||
bool foo, bar;
|
bool foo, bar;
|
||||||
args = (["program.name", "--foo", "--bAr"]).dup;
|
args = ["program.name", "--foo", "--bAr"];
|
||||||
getopt(args,
|
getopt(args,
|
||||||
std.getopt.config.caseSensitive,
|
std.getopt.config.caseSensitive,
|
||||||
std.getopt.config.passThrough,
|
std.getopt.config.passThrough,
|
||||||
|
@ -1086,7 +1086,7 @@ unittest
|
||||||
|
|
||||||
// test stopOnFirstNonOption
|
// test stopOnFirstNonOption
|
||||||
|
|
||||||
args = (["program.name", "--foo", "nonoption", "--bar"]).dup;
|
args = ["program.name", "--foo", "nonoption", "--bar"];
|
||||||
foo = bar = false;
|
foo = bar = false;
|
||||||
getopt(args,
|
getopt(args,
|
||||||
std.getopt.config.stopOnFirstNonOption,
|
std.getopt.config.stopOnFirstNonOption,
|
||||||
|
@ -1094,7 +1094,7 @@ unittest
|
||||||
"bar", &bar);
|
"bar", &bar);
|
||||||
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--bar");
|
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--bar");
|
||||||
|
|
||||||
args = (["program.name", "--foo", "nonoption", "--zab"]).dup;
|
args = ["program.name", "--foo", "nonoption", "--zab"];
|
||||||
foo = bar = false;
|
foo = bar = false;
|
||||||
getopt(args,
|
getopt(args,
|
||||||
std.getopt.config.stopOnFirstNonOption,
|
std.getopt.config.stopOnFirstNonOption,
|
||||||
|
@ -1102,7 +1102,7 @@ unittest
|
||||||
"bar", &bar);
|
"bar", &bar);
|
||||||
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--zab");
|
assert(foo && !bar && args[1] == "nonoption" && args[2] == "--zab");
|
||||||
|
|
||||||
args = (["program.name", "--fb1", "--fb2=true", "--tb1=false"]).dup;
|
args = ["program.name", "--fb1", "--fb2=true", "--tb1=false"];
|
||||||
bool fb1, fb2;
|
bool fb1, fb2;
|
||||||
bool tb1 = true;
|
bool tb1 = true;
|
||||||
getopt(args, "fb1", &fb1, "fb2", &fb2, "tb1", &tb1);
|
getopt(args, "fb1", &fb1, "fb2", &fb2, "tb1", &tb1);
|
||||||
|
@ -1138,17 +1138,17 @@ unittest
|
||||||
}
|
}
|
||||||
|
|
||||||
static void myStaticHandler1() { throw new MyEx(); }
|
static void myStaticHandler1() { throw new MyEx(); }
|
||||||
args = (["program.name", "--verbose"]).dup;
|
args = ["program.name", "--verbose"];
|
||||||
try { getopt(args, "verbose", &myStaticHandler1); assert(0); }
|
try { getopt(args, "verbose", &myStaticHandler1); assert(0); }
|
||||||
catch (MyEx ex) { assert(ex.option is null && ex.value is null); }
|
catch (MyEx ex) { assert(ex.option is null && ex.value is null); }
|
||||||
|
|
||||||
static void myStaticHandler2(string option) { throw new MyEx(option); }
|
static void myStaticHandler2(string option) { throw new MyEx(option); }
|
||||||
args = (["program.name", "--verbose"]).dup;
|
args = ["program.name", "--verbose"];
|
||||||
try { getopt(args, "verbose", &myStaticHandler2); assert(0); }
|
try { getopt(args, "verbose", &myStaticHandler2); assert(0); }
|
||||||
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value is null); }
|
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value is null); }
|
||||||
|
|
||||||
static void myStaticHandler3(string option, string value) { throw new MyEx(option, value); }
|
static void myStaticHandler3(string option, string value) { throw new MyEx(option, value); }
|
||||||
args = (["program.name", "--verbose", "2"]).dup;
|
args = ["program.name", "--verbose", "2"];
|
||||||
try { getopt(args, "verbose", &myStaticHandler3); assert(0); }
|
try { getopt(args, "verbose", &myStaticHandler3); assert(0); }
|
||||||
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value == "2"); }
|
catch (MyEx ex) { assert(ex.option == "verbose" && ex.value == "2"); }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue