Plan sounds good to me. Thanks for your great work, Don. A couple of
comments below.
On 11/17/10 1:09 PM, Don Clugston wrote:
(1) Add two necessary functions to std.math:
// Rounds x to the nearest int or long using the currently selected
rounding mode
// (MUCH faster than cast(int)).
int rndint(real x)
long rndlong(real x)
To an uninitiated reader this may look like "random int" and "random
long". Could we define this instead?
N roundTo(N)(real x) if (isIntegral!N);
Then use will be self-explanatory:
auto m = roundTo!int((a + b) / 2);
Feel free to constrain further to only e.g. int and long, or (at best)
generalize to unsigned types and to types narrower than int.
(2) Delete etc.gamma
(3) Create a new module std.mathspecial.
Move the following functions from std.math into std.mathspecial:
erf()
erfc()
lgamma() -----> name changes to logGamma(real x)
tgamma() ---> name changes to gamma(real x).
BTW The 't' in the C name exists for extremely silly historical reasons.
std.math will retain alias for these functions, before they are
eventually deprecated.
deprecated("Please use the homonym functions in std.mathspecial.")
:o)
Andrei
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos