Historia zmian

Autor SHA1 Wiadomość Data
  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