Commit graph

152 commits

Author SHA1 Message Date
Iain Buclaw
5c0855de5c exp, expm1, exp2 return 'inf' for targets that don't use iasm. 2012-09-03 16:21:00 +01:00
Brad Roberts
b6ab5b6e04 remove BOM from std/math.d 2012-08-18 21:08:37 -07:00
Don Clugston
03927df872 Merge pull request #667 from alexrp/std-math-exp
std.math.exp() should be @trusted because it can fall back to core.stdc.math.exp().
2012-07-08 00:17:38 -07:00
alexrp
3e2a071f79 std.math.exp() should be @trusted because it can fall back to core.stdc.math.exp(). 2012-07-08 03:48:20 +02:00
alexrp
f44bfa1bfe Make std.math compile on non-x86 by stubbing/asserting things out. 2012-07-08 00:38:50 +02:00
Jonathan M Davis
b6f43d5e95 Merge pull request #610 from donc/deprecateGamma
Remove deprecated tgamma and erfc from math
2012-05-29 00:42:14 -07:00
Don Clugston
09a0801b0a Remove deprecated tgamma and erfc from math
Improved versions have been in std.mathspecial for 1.5 years.
2012-05-25 18:23:02 +02:00
Don Clugston
a8aa8cdcd6 Implement feqrel!(float) + fix code formatting 2012-05-22 07:34:38 +02:00
Daniel Murphy
bcd85585d6 Missed one. 2012-02-20 23:05:49 +11:00
Daniel Murphy
3ba8e17d99 There is no two argument version of fstp. 2012-02-20 17:00:41 +11:00
Jonathan M Davis
5de415c4e1 Merge pull request #349 from donc/killsqrthack
Remove the undocumented sqrt(2) hack
2012-01-20 22:49:24 -08:00
Brad Roberts
d538a2733c enable std.math tests on 64 bit platforms, disabling just the three failing tests instead 2012-01-01 21:14:33 -08:00
Walter Bright
380ae65511 remove empty statements 2011-12-29 00:05:45 -08:00
Don Clugston
68926058a8 Remove the undocumented sqrt(2) hack
As discussed in the newsgroup:
http://www.digitalmars.com/d/archives/digitalmars/D/sqrt_2_must_go_146998.html
2011-12-05 15:07:25 +01:00
David Nadlinger
e312f9898b Strict @property syntax compliance.
This enables the test suite to build with the -property switch enabled.

std.cpuid: vendor()/processor() have not been converted to properties in accordance to core.cpuid.
std.xml: Element.text() cannot be a property due to the optional parameter.
2011-12-04 09:56:14 +01:00
Lars T. Kyllingstad
32dadd0286 std.math: Fix modf() documentation, add fmod()
The documentation for std.math.modf() actually describes the fmod()
function of C's math.h, which doesn't have a counterpart in std.math.
This commit adds fmod() and fixes the documentation for modf().

This fixes issue 4765.
2011-11-28 23:38:30 +01:00
Denis Shelomovskij
e8712ed9e1 Documentation and struct staticness in std.algorithm fixes 2011-11-14 17:10:19 +03:00
Lars T. Kyllingstad
69e8663fc1 Add sin(), cos() and sqrt() to std.complex
This also requires std.math.coshisinh() to be accessible to std.complex,
so I changed its protection attribute to "package".
2011-08-24 14:55:45 +02:00
Don Clugston
d790dfa102 Deprecate gamma and error functions from std.math
Their replacements in std.mathspecial have been available for almost one year.
2011-08-05 14:11:38 +02:00
KennyTM~
8cb450d36c Improve the precision of the std.math constants. 2011-07-06 19:41:11 +08:00
Don Clugston
ea8e37d350 denormalizedException -> subnormalException
The term "denormal" is deprecated by IEEE, and should be replaced by
"subnormal" in all cases. Fix all the comments to make sure this confusion
doesn't happen again.
2011-07-05 08:06:23 +02:00
Don Clugston
e3c1185692 IEEE exceptions and status flags are properties
They are all global properties of the processor, so it makes a lot of sense
for them to look like global variables.
2011-06-30 02:12:57 +02:00
Jens K. Mueller
77aa890a72 Add denormalizedException
The denormalizedException is set whenever a denormalized value is
manipulated or created. It is useful to know that denormalized values
are generated because it indicates that precision is low.
Further performance of denormalized number can be up to 100 times slower
even when handled in hardware (see Table 2 in "Quantifying the
Interference Caused by Subnormal Floating-Point Values" by Isaac Dooley
and Laxmikant Kale).
2011-06-30 02:12:57 +02:00
Walter Bright
f2cca2a761 remove 64 bit dependence on sahf 2011-02-19 23:07:13 -08:00
Walter Bright
046e1b36db add source links 2011-02-06 15:46:50 -08:00
Andrei Alexandrescu
2c8d824173 unconditionalized unittest for round 2011-01-09 20:47:20 +00:00
Andrei Alexandrescu
0d68ef4531 conditionalized unittest for round 2011-01-09 20:43:19 +00:00
Don Clugston
87cee7103a Fix broken math unittest build on Windows 2011-01-09 19:56:04 +00:00
Andrei Alexandrescu
0efff7fcee Added unittests for http://d.puremagic.com/issues/show_bug.cgi?id=2944 2011-01-09 16:38:15 +00:00
Don Clugston
87e2382a36 Fix 64-bit segfaults in std.math. 2011-01-04 22:15:32 +00:00
Andrei Alexandrescu
fc8603304c approxEqual misses -infinity 2011-01-03 02:06:28 +00:00
Brad Roberts
069efcb49b Integrate changes from the d1 branch, still not enough to pass the std/math.d unit tests. 2011-01-01 23:25:59 +00:00
Walter Bright
b67b3a86ec start on 64 bit math by Don 2010-12-31 09:38:01 +00:00
Brad Roberts
53f7fa5b2d Check in x86_64 code paths as not implemented yet for the std.math routines that require purity, which isn't provided by the libc versions of the math functions. 2010-12-08 09:23:40 +00:00
Don Clugston
719be00105 Fix svn 2212, for x86_64. 2010-12-08 05:15:04 +00:00
Don Clugston
22c8beec58 5321: std.math: assumes X86 or X86_64 on FPU control word code 2010-12-08 00:47:29 +00:00
Don Clugston
ea766d9f71 5322 std.math: version(Sparc) should be SPARC 2010-12-08 00:41:01 +00:00
Don Clugston
b020b39837 5330 Druntime/Phobos: remove special treatment for GDC 2010-12-07 14:12:16 +00:00
Don Clugston
9cd7f3bcb8 Fixes 5293: std.math: Error: shift by -48 is outside the range 0..32 2010-12-03 03:25:13 +00:00
Don Clugston
0c3fa93cab Improved math summary comment 2010-11-24 07:58:00 +00:00
Don Clugston
a01b125a99 Make lrint() pure 2010-11-18 19:33:48 +00:00
Don Clugston
5ede508f0e Minor ddoc fixes for std.math and std.bigint 2010-11-17 20:42:28 +00:00
Masahiro Nakagawa
b18edad5eb std.math.remquo marked as @trusted because this method calls system function. 2010-11-12 18:42:26 +00:00
Don Clugston
9fec44b8f9 Remove the "NotImplemented" exception, and turn it into a simple assert. This allows all functions to be marked as nothrow. I have marked them all as @safe/@trusted as well. 2010-11-12 08:00:53 +00:00
Don Clugston
b6890792bf D implementation of pow(), avoiding dependence on C. The big benefit is that pow() is now pure, but also improved accuracy of corner cases.
All math functions are now @safe or @trusted, and all are pure nothrow except where implemented by C functions.
2010-11-11 22:52:37 +00:00
Andrei Alexandrescu
3973b5e4cc Fix for bugzilla 2944 2010-09-27 01:10:12 +00:00
Andrei Alexandrescu
05bf376c17 Fix for bugzilla 2944 2010-09-26 22:45:48 +00:00
Andrei Alexandrescu
3f2b8c12ea 64-bit compatibility work 2010-08-22 20:55:22 +00:00
Andrei Alexandrescu
cca7ba835a versioned out failing asserts on OSX 2010-08-17 15:11:26 +00:00
Shin Fujishiro
caa561b3b2 std.math: ddoc fix 2010-08-16 18:57:05 +00:00