sergei
|
161f812113
* Explicitly typecast (-longint) to longint, otherwise it becomes an int64 on 64-bit targets, causing wrong result of sign(longint). Mantis #29649.
|
9 lat temu |
sergei
|
9b84581f4c
+ function copysign(x,y), calculates abs(x)*sign(y), private for unit math (not in interface).
|
9 lat temu |
sergei
|
a4ed9f3b54
* Improved sign(x) functions to be branchless in most cases. Resolves #14206.
|
9 lat temu |
michael
|
88957c62e3
* Add Ceil64 and Floor64, patch from Bart Broersma (bug ID 28370)
|
9 lat temu |
michael
|
b9fa0d0934
* Mimic minfloat for fpdoc
|
10 lat temu |
michael
|
bb7e0f645f
* Fake some types when running under FPDOC
|
10 lat temu |
marco
|
3a7cde492e
* finance functions by wp, mantis #26459
|
11 lat temu |
sergei
|
f767d9017c
* Fixed sin(-0.0) to return -0.0 (was returning 0.0)
|
11 lat temu |
sergei
|
57c762c8d2
+ Inserted license header for AMath routines.
|
11 lat temu |
sergei
|
bd58adfcc9
+ Added credits for functions reused from AMath/DAMath libraries.
|
11 lat temu |
michael
|
d45ced0221
* Added DegNormalize
|
11 lat temu |
sergei
|
94a045aa3d
* Moved declarations of TFPURoundingMode,TFPUExceptionMask and TFPUPrecisionMode to System unit. Declarations in Math unit changed to aliases.
|
11 lat temu |
sergei
|
0255eb880e
- Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.
|
11 lat temu |
nickysn
|
19a39cde4a
* 16-bit objpas.integer type fixes in Math.DivMod
|
11 lat temu |
nickysn
|
4eb9043ac7
* x87 optimized version of math.log2() for i8086, i386 and x86_64
|
11 lat temu |
nickysn
|
90b69184f1
* use a {$if defined()} sequence, instead of nested ifdefs for selecting the
|
11 lat temu |
sergei
|
141b2f7066
* arcsin and arccos: improve accuracy at small arguments by replacing sqr(1-x*x) with sqr((1-x)*(1+x)).
|
11 lat temu |
sergei
|
636736dda6
* log2() and log10(): replaced division by ln(base) with multiplication by reciprocal constant, this executes faster and somehow provides slightly better accuracy.
|
11 lat temu |
sergei
|
c7213b7ff1
- Math unit: don't raise EInvalidArgument exception in general math functions, this is Delphi-compatible. Delphi raises EInvalidArgument only in statistical/financial functions; general math functions execute code which causes EInvalidOp raised by hardware (or low-level system routines).
|
11 lat temu |
sergei
|
5206584805
* lnxp1 function fixed to be accurate near zero argument values, using code from AMath library by Wolfgang Ehrhardt.
|
11 lat temu |
sergei
|
437b3755d1
* math.hypot(): factor larger argument out of expression in order to avoid loss of precision.
|
11 lat temu |
sergei
|
d981861433
* IsNan(single): can be written much simpler, because representation of single casted to longint is the same on big-endian and little-endian targets.
|
12 lat temu |
florian
|
1da4c0c3ce
* SinCos overloads added, resolves #22663
|
13 lat temu |
florian
|
2677187b2f
* inline several math methods (though a lot won't be inlined yet because they take open array parameters), resolves #21040
|
13 lat temu |
marco
|
ae1ece93e5
* fix for #21199, changing epsilon to 0.0 instead of 0 helps overload selection of the
|
13 lat temu |
florian
|
d7f7a9bb76
* patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
|
14 lat temu |
Jonas Maebe
|
0a88009059
* comment and formatting fixes by Christian Budde (mantis #19919)
|
14 lat temu |
florian
|
37b8b791d5
* overloaded versions of IsNan, resolves #14351
|
14 lat temu |
Jonas Maebe
|
60f8b7fcb1
+ int64 version of randomrange() (mantis #16108)
|
15 lat temu |
florian
|
0c153a46df
* math.power/intpower(0,0) return 1, this is as recommended in IEEE 754
|
15 lat temu |