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

Reply via email to