Thread overview | ||||||
---|---|---|---|---|---|---|
|
November 13 [Issue 24858] maxIndex but not minIndex sometimes returns the index as an array with a single element | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24858 pabuond@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pabuond@gmail.com -- |
November 15 [Issue 24858] maxIndex but not minIndex sometimes returns the index as an array with a single element | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24858 Nick Treleaven <nick@geany.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nick@geany.org --- Comment #1 from Nick Treleaven <nick@geany.org> --- Are you sure? With 2.109.0 the last line does give `0`. -- |
November 15 [Issue 24858] maxIndex but not minIndex sometimes returns the index as an array with a single element | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24858 kdevel <kdevel@vogtner.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kdevel@vogtner.de --- Comment #2 from kdevel <kdevel@vogtner.de> --- WORKSFORME compilable version (mi.d): ``` import std.stdio : writeln; import std.algorithm : map; import std.math: fabs; import std.algorithm: minIndex, maxIndex; unittest { double[] u = [-9, 3, 2, 8, 4]; writeln(u.maxIndex); // => 3, OK writeln(u.map!fabs.minIndex); // => 2, OK writeln(u.map!fabs.maxIndex); // => [0] ??? Expected: 0 } ``` $ dmd --version DMD64 D Compiler v2.109.1 Copyright (C) 1999-2024 by The D Language Foundation, All Rights Reserved written by Walter Bright $ dmd -unittest -main -run mi.d 3 2 0 1 modules passed unittests (also works under dmd 2.098, GDC 12.1, GDC 11.3) -- |
November 15 [Issue 24858] maxIndex but not minIndex sometimes returns the index as an array with a single element | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24858 --- Comment #3 from pabuond@gmail.com --- Aw, my bad - I was doing some tests, but in combination with mir.ndslice and it turns out it's due to a clash with mir.ndslice's maxIndex/minIndex that I didn't realise I was importing too. So not a bug in std.algorithm :) sorry for the false alarm! Not too sure exactly what creates the issue, some import combinations work, but one doesn't. (Of course, it's bad to import homonyms into the namespace - the compiler seemed to deal with it, so I thought it was fine, but obviously it creates some issues. There doesn't seem to be a way to use UFCS with full module names, is there?) ``` import std.stdio: writeln; import std.math: fabs; /* OK */ // import std.algorithm: maxIndex, minIndex, map; /* OK */ // import std.algorithm: maxIndex, minIndex; // import mir.ndslice: map; /* OK */ // import std.algorithm: maxIndex, minIndex, map; // import mir.ndslice: maxIndex, minIndex; /* Not OK */ import std.algorithm: maxIndex, minIndex; import mir.ndslice: maxIndex, minIndex, map; void main() { double[] u = [-9, 3, 2, 8, 4]; writeln(u.maxIndex); // => 3, OK writeln(u.minIndex); // => 0, OK writeln(u.map!fabs.minIndex); // => [2] ??? writeln(u.map!fabs.maxIndex); // => [0] ??? } ``` -- |
Copyright © 1999-2021 by the D Language Foundation