1. 17 8月, 2020 1 次提交
  2. 13 9月, 2018 2 次提交
    • R
      reduce spurious inclusion of libc.h · 5ce37379
      Rich Felker 提交于
      libc.h was intended to be a header for access to global libc state and
      related interfaces, but ended up included all over the place because
      it was the way to get the weak_alias macro. most of the inclusions
      removed here are places where weak_alias was needed. a few were
      recently introduced for hidden. some go all the way back to when
      libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
      cancellation points had to include it.
      
      remaining spurious users are mostly callers of the LOCK/UNLOCK macros
      and files that use the LFS64 macro to define the awful *64 aliases.
      
      in a few places, new inclusion of libc.h is added because several
      internal headers no longer implicitly include libc.h.
      
      declarations for __lockfile and __unlockfile are moved from libc.h to
      stdio_impl.h so that the latter does not need libc.h. putting them in
      libc.h made no sense at all, since the macros in stdio_impl.h are
      needed to use them correctly anyway.
      5ce37379
    • R
      move lgamma-related internal declarations to libm.h · 59d88940
      Rich Felker 提交于
      59d88940
  3. 12 3月, 2015 1 次提交
    • S
      math: add dummy implementations of 128 bit long double functions · f4e4632a
      Szabolcs Nagy 提交于
      This is in preparation for the aarch64 port only to have the long
      double math symbols available on ld128 platforms. The implementations
      should be fixed up later once we have proper tests for these functions.
      
      Added bigendian handling for ld128 bit manipulations too.
      f4e4632a
  4. 21 11月, 2013 1 次提交
    • S
      math: lgamma cleanup (simpler sin(pi*x) for the negative case) · ebbaf218
      Szabolcs Nagy 提交于
      * simplify sin_pi(x) (don't care about inexact here, the result is
        inexact anyway, and x is not so small to underflow)
      * in lgammal add the previously removed special case for x==1 and
        x==2 (to fix the sign of zero in downward rounding mode)
      * only define lgammal on supported long double platforms
      * change tgamma so the generated code is a bit smaller
      ebbaf218
  5. 05 10月, 2013 1 次提交
  6. 05 9月, 2013 2 次提交
  7. 28 3月, 2012 1 次提交
  8. 20 3月, 2012 1 次提交
    • N
      code cleanup of named constants · 0cbb6547
      nsz 提交于
      zero, one, two, half are replaced by const literals
      The policy was to use the f suffix for float consts (1.0f),
      but don't use suffix for long double consts (these consts
      can be exactly represented as double).
      0cbb6547
  9. 17 3月, 2012 2 次提交
  10. 15 3月, 2012 1 次提交
  11. 13 3月, 2012 1 次提交
    • R
      first commit of the new libm! · b69f695a
      Rich Felker 提交于
      thanks to the hard work of Szabolcs Nagy (nsz), identifying the best
      (from correctness and license standpoint) implementations from freebsd
      and openbsd and cleaning them up! musl should now fully support c99
      float and long double math functions, and has near-complete complex
      math support. tgmath should also work (fully on gcc-compatible
      compilers, and mostly on any c99 compiler).
      
      based largely on commit 0376d44a890fea261506f1fc63833e7a686dca19 from
      nsz's libm git repo, with some additions (dummy versions of a few
      missing long double complex functions, etc.) by me.
      
      various cleanups still need to be made, including re-adding (if
      they're correct) some asm functions that were dropped.
      b69f695a