win: libm: add implementation for round/fmin/fmax and variants
commit9d33388b290d12676246eba4f03b28dbba342402
authorAvi Halachmi (:avih) <avihpit@yahoo.com>
Sat, 7 Nov 2015 20:24:31 +0000 (7 22:24 +0200)
committerAvi Halachmi (:avih) <avihpit@yahoo.com>
Sat, 7 Nov 2015 20:31:57 +0000 (7 22:31 +0200)
tree9054ebe63c4525b8b4478517172a3d4c3941ecb8
parent9c52ba48b347998abfe0ef544961bbaf88daee11
win: libm: add implementation for round/fmin/fmax and variants

round and fmin/fmax are relatively commonly used functions but were not
implemented anywhere in the tcc Windows distribution package. Newer mingw(64)
math.h stil doesn't include these implementations.

Add C implementations for these functions and place it as inline functions at
win32/include/tcc/tcc_libm.h - which is already included from math.h .

The code is mostly taken from musl-libc rs-1.0 (MIT) [*],

musl-libc: http://git.musl-libc.org/cgit/musl/tree/src/math?h=rs-1.0
license:   http://git.musl-libc.org/cgit/musl/tree/COPYRIGHT?h=rs-1.0

Potential enhancements:
- Check how many useful libm implementations are still missing and consider
  adding them (some of them already work via the MS runtime).
- Consider putting libm implementations in an actual libm.a file, or add a dummy
  one such that build processes which try to link with libm will not fail.
win32/include/tcc/tcc_libm.h