www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DMD 0.136 release

reply "Walter Bright" <newshound digitalmars.com> writes:
Bug fix rollup.

http://www.digitalmars.com/d/changelog.html
Oct 17 2005
next sibling parent pragma <pragma_member pathlink.com> writes:
In article <divlv7$2o0g$1 digitaldaemon.com>, Walter Bright says...
Bug fix rollup.

http://www.digitalmars.com/d/changelog.html

/observes changelog Walter, I certainly wouldn't want to be a cockroach in /your/ home. Your bug-smashing capabilities are staggering. I don't say this enough: Thanks for the update! - Eric Anderton
Oct 17 2005
prev sibling next sibling parent reply pragma <pragma_member pathlink.com> writes:
In article <divlv7$2o0g$1 digitaldaemon.com>, Walter Bright says...
Bug fix rollup.

http://www.digitalmars.com/d/changelog.html

/observes changelog Walter, I certainly wouldn't want to be a cockroach in /your/ home. Your bug-smashing capabilities are staggering. I don't say this enough: Thanks for the update! - Eric Anderton
Oct 17 2005
parent "Walter Bright" <newshound digitalmars.com> writes:
"pragma" <pragma_member pathlink.com> wrote in message
news:dj154q$111k$1 digitaldaemon.com...
 Walter, I certainly wouldn't want to be a cockroach in /your/ home.  Your
 bug-smashing capabilities are staggering.

LOL. I pay a monthly tribute to the Ant-Man, and he maintains the Line Of Death around the house.
 I don't say this enough: Thanks for the update!

You're welcome. Bugs bug me.
Oct 17 2005
prev sibling parent reply Don Clugston <dac nospam.com.au> writes:
Walter Bright wrote:
 Bug fix rollup.
 
 http://www.digitalmars.com/d/changelog.html
 

Walter - With lgamma and tgamma, something was lost in translation. Both functions are returning incorrect values for small x. Test program follows. (Perhaps it would be worth having a seperate file including unit tests for all the built-in C functions). Also, the changelog for 0.136 could mention that you added std.math.poly. (which can now be commented out of std.math2, I don't know if having both polys included will cause problems?). BTW, any chance of getting those asinh, acosh, atanh functions into std.math? If you like, I could make ddocs for them so that you could just paste them in. If you did this, then std.math2 could be deprecated (now that poly() and trunc() are in std.math, the only things left in math2 are avg, sum, min, max, which should be templates anyway, and probably do not belong in std.math at all; and abs(), which is a trivial overload of fabs and iabs). -Don. ===================================================== import std.math; import std.stdio; real loggamma(real x) { return lgamma(x); } unittest { // x, correct loggamma(x), correct d/dx loggamma(x). static real[] testpoints = [ 8.0L, 8.525146484375L + 1.48766904143001655310E-5, 2.01564147795560999654E0L, 8.99993896484375e-1L, 6.6375732421875e-2L + 5.11505711292524166220E-6L, -7.54938684259372234258E-1, 7.31597900390625e-1L, 2.2369384765625e-1 + 5.21506341809849792422E-6L, -1.13355566660398608343E0L, 2.31639862060546875e-1L, 1.3686676025390625L + 1.12609441752996145670E-5L, -4.56670961813812679012E0, 1.73162841796875L, -8.88214111328125e-2L + 3.36207740803753034508E-6L, 2.33339034686200586920E-1L, 1.23162841796875L, -9.3902587890625e-2L + 1.28765089229009648104E-5L, -2.49677345775751390414E-1L, 7.3786976294838206464e19L, 3.301798506038663053312e21L - 1.656137564136932662487046269677E5L, 4.57477139169563904215E1L, 1.08420217248550443401E-19L, 4.36682586669921875e1L + 1.37082843669932230418E-5L, -9.22337203685477580858E18L, // 1.0L, 0.0L, -5.77215664901532860607E-1L, // 2.0L, 0.0L, 4.22784335098467139393E-1L, -0.5L, 1.2655029296875L + 9.19379714539648894580E-6L, 3.64899739785765205590E-2L, -1.5L, 8.6004638671875e-1L + 6.28657731014510932682E-7L, 7.03156640645243187226E-1L, -2.5L, -5.6243896484375E-2L + 1.79986700949327405470E-7, 1.10315664064524318723E0L, -3.5L, -1.30902099609375L + 1.43111007079536392848E-5L, 1.38887092635952890151E0L ]; for (int i=0; i<testpoints.length; i+=3) { assert( feqrel(loggamma(testpoints[i]), testpoints[i+1]) > real.mant_dig-5); } } int main() { return 0; }
Oct 20 2005
next sibling parent reply "Walter Bright" <newshound digitalmars.com> writes:
"Don Clugston" <dac nospam.com.au> wrote in message
news:dj7j0d$13h5$1 digitaldaemon.com...
 Walter Bright wrote:
 Bug fix rollup.

 http://www.digitalmars.com/d/changelog.html

Walter - With lgamma and tgamma, something was lost in translation. Both functions are returning incorrect values for small x.

Aggh!
 Test program follows.
 (Perhaps it would be worth having a seperate file including unit tests
 for all the built-in C functions).

 Also, the changelog for 0.136 could mention that you added std.math.poly.
 (which can now be commented out of std.math2, I don't know if having
 both polys included will cause problems?).

No, it won't be a problem having both, as they have different mangled names.
 BTW, any chance of getting those asinh, acosh, atanh functions into
 std.math?

Absolutely. I haven't incorporated them yet due to sloth on my part.
 If you like, I could make ddocs for them so that you could
 just paste them in.

I can't pass up an offer like that!
 If you did this, then std.math2 could be deprecated (now that poly() and
 trunc() are in std.math, the only things left in math2 are avg, sum,
 min, max, which should be templates anyway, and probably do not belong
 in std.math at all; and abs(), which is a trivial overload of fabs and
 iabs).

I agree. P.S. I also think I agree with your proposal to not allow floating promotions to complex.
Oct 20 2005
parent Don Clugston <dac nospam.com.au> writes:
Walter Bright wrote:
BTW, any chance of getting those asinh, acosh, atanh functions into
std.math?

Absolutely. I haven't incorporated them yet due to sloth on my part.
If you like, I could make ddocs for them so that you could
just paste them in.

I can't pass up an offer like that!
If you did this, then std.math2 could be deprecated (now that poly() and
trunc() are in std.math, the only things left in math2 are avg, sum,
min, max, which should be templates anyway, and probably do not belong
in std.math at all; and abs(), which is a trivial overload of fabs and
iabs).

I agree. P.S. I also think I agree with your proposal to not allow floating promotions to complex.

Fantastisch! I've just set up a 'MathExtra' project on DSource, where I'm putting all the stuff I've ported from Cephes. It's getting far to big to post here. Right now, it only has the first draft of the statistical stuff. I'll include the hyp trig stuff there as well, and if those implicit conversions are removed, I can easily throw in complex trig. It should not take long to overtake C++ and C99 on mathematics.
Oct 21 2005
prev sibling parent Ivan Senji <ivan.senji_REMOVE_ _THIS__gmail.com> writes:
Don Clugston wrote:
 If you did this, then std.math2 could be deprecated (now that poly() and 
 trunc() are in std.math, the only things left in math2 are avg, sum, 
 min, max, which should be templates anyway, and probably do not belong 
 in std.math at all; and abs(), which is a trivial overload of fabs and 
 iabs).
 
 -Don.

Who ever writes these templates can they please accept T[] ... instead of T[] as argument please.
Oct 22 2005