Commit Graph

169 Commits

Author SHA1 Message Date
Alex Henrie 70c338c27a msvcrt: Don't set errno in _logb(f) if x is ±INF.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-31 15:04:45 +02:00
Alex Henrie 9e3b3c9bac msvcrt: Set errno in _logb(f) if x is 0.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-31 15:04:41 +02:00
Alex Henrie 417b2a4f52 msvcr120: Don't double-check error conditions in log2f.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-27 21:59:40 +02:00
Alex Henrie 79c3b610c4 msvcrt: Set ERANGE in exp functions on finite input and infinite output.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 22:14:00 +02:00
Alex Henrie eca2999113 msvcr120: Declare ret as a float in functions that return a float.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:31 +02:00
Alex Henrie f5d3ba5888 msvcrt: Don't set errno in log functions if x is positive infinity.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Alex Henrie b1230c3484 msvcr120: Set errno in log2.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Alex Henrie 31b835d0e0 msvcr120: Add log1p.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Alex Henrie 79715cce88 msvcr120: Add expm1.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:26 +02:00
Alex Henrie 26163f5cdf msvcr120: Add erfc.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:11 +02:00
Alex Henrie 860c1578e6 msvcr120: Add atanh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:44 +02:00
Alex Henrie f1dad14807 msvcr120: Add acosh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:27 +02:00
Piotr Caban 4df7ced7b0 msvcr120: Add fallback implementation of asinh.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:57 +02:00
Piotr Caban e495e25af7 msvcr120: Add fallback implementation of erf function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:55 +02:00
Alex Henrie ddff85a361 msvcr120: If erff is not available, fall back to erf.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:48 +02:00
Piotr Caban 92651b9850 msvcr120: Add fesetround implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 16:47:30 +02:00
Carlo Bramini 5f2b9d5968 msvcrt: Use return value of *printf() instead of calling strlen() and simplify code.
Signed-off-by: Carlo Bramini <carlo_bramini@users.sourceforge.net>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 16:44:33 +01:00
Jacek Caban 60c98caa94 msvcrt: Added lldiv implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 19:29:39 +01:00
Piotr Caban 10200af741 msvcr120: Add _except1 implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:54:07 +01:00
Piotr Caban 98a0c3df2e msvcrt: Add fesetenv implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 22:05:31 +01:00
Fabian Maurer 986a67ab37 msvcr120: Add fesetenv stub.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 22:05:31 +01:00
Daniel Lehman 09e4fc834d msvcrt: Implement nan.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:45 +01:00
Stefan Silviu 4d37b87219 msvcrt: Implement nearbyint and nearbyintf.
Signed-off-by: Stefan Silviu <sylviu44@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-22 16:30:40 +01:00
Daniel Lehman 28a5405968 msvcr120: Add lgamma.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:30:11 +09:00
Piotr Caban d7dd5d8fe4 msvcr100: Fix compilation on NetBSD (conflicting fenv_t definitions).
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 21:35:12 +09:00
Piotr Caban 1150c0454d msvcr120: Add fegetenv implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Piotr Caban 6b6f3406f4 ucrtbase: Add __fpe_flt_rounds implementation.
Based on a patch by Alex Henrie.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:46:38 +09:00
Francois Gouget 8e382e97e9 msvcrt: The fpclass() constants are not defines.
Solaris is the only platform that has fpclass() and it defines
the constants in the fpclass_t enum.
So this reverts commit b004771314.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:52 +09:00
Daniel Lehman d9a0c55e7e msvcr120: Add remainder.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 20:58:11 +09:00
Daniel Lehman 9acfcb0eba msvcr120: Add scalbn.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:44 +09:00
Daniel Lehman e084240415 msvcr120: Add asinh.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:49:41 +09:00
Piotr Caban 68fedc1268 msvcr120: Add _set_FMA3_enable stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 14:31:46 +09:00
Piotr Caban 4083af404b msvcr120: Add _dpcomp implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 01:59:58 +09:00
Piotr Caban 0806b06f2b msvcrt: Fix modff signature.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 01:06:46 +09:00
YongHao Hu 072f34be73 msvcr120: Enable MSVCRT__nextafterf when _MSVCR_VER>=120.
Signed-off-by: YongHao Hu <christopherwuy@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:51:59 +01:00
Paul Gofman a3c818b33d msvcrt: Rename __libm_sse2_* functions to fix compilation when using Intel compiler.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:51:32 +01:00
Piotr Caban 09a727c33c msvcr120: Add fmin implementation. 2015-09-14 16:47:52 +09:00
Daniel Lehman e89813fe3c msvcr120: Add erf functions. 2015-05-29 16:16:21 +09:00
Piotr Caban 530d269e01 msvcr120: Add _dsign implementation. 2015-05-26 22:44:52 +09:00
Piotr Caban ec2f02db0c msvcr120: Add fmax implementation. 2015-05-26 22:44:47 +09:00
Piotr Caban ccea6c6059 msvcr120: Add some missing exports on i386 architecture. 2015-03-31 14:44:49 +09:00
Zheng Chen 829e893184 msvcrt: Fix _copysign bugs for NAN/INF. 2015-03-27 00:11:42 +09:00
Zheng Chen e95dbb3b74 msvcrt: Correct atan/exp/tanh errno setting. 2015-03-25 19:46:33 +09:00
Charles Davis 7ef720f184 msvcrt: Support 64-bit platforms that don't have finitef or isnanf. 2015-01-23 11:58:14 +01:00
Piotr Caban 1109672f13 msvcr120: Add _fdtest function implementation. 2015-01-07 23:48:21 +01:00
Martin Storsjo 5f395ee8e6 msvcr120: Implement the _dclass/_fdclass/_ldclass functions. 2014-12-09 18:48:49 +01:00
Martin Storsjo 547ba7a10b msvcr120: Implement more C99 math functions. 2014-12-08 17:25:26 +01:00
Nikolay Sivov 60de49770c msvcrt: Implement llabs(). 2014-08-29 20:38:42 +02:00
Piotr Caban 153965b627 msvcrt: Fix __libm_sse2_sqrt_precise implementation. 2014-05-19 18:55:53 +02:00
Alexandre Julliard 0c496f0280 msvcrt: Update comments for non-exported functions. 2014-04-21 14:32:40 +02:00
Piotr Caban e70bf5f8c6 msvcrt: Fix compilation errors on Mingw. 2014-04-16 18:00:01 +02:00
Piotr Caban 07566faaca msvcr110: Add __libm_sse2_sqrt_precise implementation. 2014-01-07 16:34:33 +01:00
Francois Gouget 0b5b54e9f4 msvcrt: Standardize on using a comparison operator to ensure we return 0 or 1. 2013-12-02 10:49:38 +01:00
Francois Gouget e4856dbb70 libport: Add an isfinite() implementation for Solaris. 2013-11-29 17:58:40 +01:00
André Hentschel 8fab2422a8 msvcrt: Export fabsf on ARM and x86_64. 2013-09-04 14:43:45 +02:00
Alexandre Julliard 599d080220 msvcrt: Export the float math functions on ARM. 2013-03-14 13:20:13 +01:00
Austin English a79de8aa29 msvcrt: Implement _ftol in msvcrt instead of forwarding to ntdll. 2012-12-14 12:13:39 +01:00
Alexandre Julliard f80d443f5c msvcrt: Add a number of floating point functions for 64-bit. 2012-08-16 18:09:47 +02:00
Alexandre Julliard 06989a0483 msvcrt: Make sure that errno is always set when calling the invalid parameter handler. 2012-07-26 11:05:32 +02:00
Frédéric Delanoy 7bfe648666 msvcrt: Avoid superfluous cast of MSVCRT_malloc return value. 2011-10-21 12:31:36 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Piotr Caban f9de4eef75 msvcrt: Fix mingw compilation issues. 2011-06-03 17:44:06 +02:00
Alexandre Julliard abe0823b72 msvcrt: Implemented a few trivial math functions. 2011-05-01 12:52:35 +02:00
Piotr Caban f48cfa2be0 msvcrt: Fix buffer size in _ecvt_s. 2011-03-31 12:31:54 +02:00
Nikolay Sivov 7a57f02b8d msvcrt: Implement _fcvt_s(). 2011-01-31 12:31:22 +01:00
Alexandre Julliard 7c95b251e0 msvcrt: Add a non-optimized implementation for the SSE2 math functions. 2011-01-26 20:48:48 +01:00
Alexandre Julliard 658eaeb3e0 msvcrt: Implemented _set_controlfp. 2011-01-26 15:00:10 +01:00
Alexandre Julliard c74f6ca570 msvcrt: Implemented _fpreset for SSE2 and x86_64. 2011-01-26 14:59:59 +01:00
Alexandre Julliard 98d7a021d6 msvcrt: Implemented _clearfp for SSE2 and x86_64. 2011-01-26 14:59:10 +01:00
Alexandre Julliard 4b17ec7405 msvcrt: Implemented _statusfp2. 2011-01-26 14:57:31 +01:00
Alexandre Julliard a8d8e4a367 msvcrt: Implemented __control87_2. 2011-01-26 14:57:15 +01:00
Eryk Wieliczko 1ade6c2bc8 msvcrt: Implement ecvt_s. 2010-12-10 15:46:06 +01:00
Alexandre Julliard f53d82b4f4 msvcrt: Fix controlfp_s parameter checks, with tests. 2010-11-27 20:40:14 +01:00
Alexandre Julliard 4dba956ea6 msvcrt: Add parameter checking in _controlfp_s. 2010-11-26 14:58:39 +01:00
Piotr Caban 3a25d7d9aa msvcrt: Added _gcvt_s implementation. 2010-08-27 12:06:43 +02:00
Piotr Caban 76058b14eb msvcrt: Added _set_SSE2_enable stub. 2010-08-25 17:37:37 +02:00
Marcus Meissner f10af18f28 msvcrt: Add some missing CDECL. 2010-05-13 11:51:00 +02:00
Maarten Lankhorst af9f9cb361 msvcrt: Add float functions based on their double versions. 2010-05-04 13:14:58 +02:00
Alexandre Julliard da840f57e5 msvcrt: Fix an unused variable warning. 2010-04-07 14:25:19 +02:00
Piotr Caban bfd0866be8 msvcrt: Added implementation of _controlfp_s. 2010-04-01 18:12:58 +02:00
Piotr Caban 8a57f501c8 msvcrt: Avoid using scalb function. 2010-03-29 15:50:19 +02:00
Piotr Caban b90320652d msvcrt: Rename functions conflicting with mingw headers. 2010-03-29 15:50:19 +02:00
André Hentschel fbe6b57b74 msvcrt: Do not overlap in strcpy (Valgrind). 2009-11-04 12:22:23 +01:00
Alexandre Julliard f2b3df6371 msvcrt: The floating point adjust functions only make sense on i386. 2009-08-24 15:17:33 +02:00
Alexandre Julliard 82f175e9b5 msvcrt: Replace long by MSVCRT_long. 2009-05-23 11:57:39 +02:00
Rein Klazes 1ab5f4191d msvcrt: Correct implementation of _ecvt() with tests. 2009-04-14 14:50:07 -05:00
Alexandre Julliard bcfd7dd3ff msvcrt: The _CI* math functions are only exported on i386. 2008-12-15 15:40:45 +01:00
Francois Gouget ade1326480 msvcrt: Remove _adjust_fdiv() as it is unused. 2008-12-12 11:41:24 +01:00
Austin English 8efc3fec1d msvcrt: Fix a compiler warning. 2008-11-21 10:04:03 +01:00
Henri Verbeet 71aa14af99 msvcrt: Don't depend on the system's implementation of acos() & asin(). 2008-08-29 14:26:37 +02:00
Karl Relton 260fd8a4a9 msvcrt: New implementation of fcvt. 2007-09-25 12:37:32 +02:00
Alexandre Julliard 24beabfd4e msvcrt: Explicitly specify CDECL calling convention on exported functions. 2006-06-13 11:40:23 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard b34ac466b1 msvcrt: Added wrappers for a few functions instead of linking them
directly to libc.
2006-01-14 17:40:29 +01:00
Alexandre Julliard 78412005e1 msvcrt: Set errno in the standard math functions too, not only in the
_CI* variants.
2006-01-14 17:36:23 +01:00
Dimitrie O. Paun 0377462460 Split the MSVCRT implementation headers from the public headers.
Fix some naming conventions aberrations.
Add tests to ensure consistency between the two sets of symbols.
2004-06-25 01:19:15 +00:00
Alexandre Julliard 8f7c2bc6a5 Fixed the prototypes of the _adj_fdiv_* functions. 2004-05-12 23:22:36 +00:00
Alexandre Julliard b004771314 Portability fix. 2004-04-08 19:49:49 +00:00
Hans Leidekker 821f4775a3 - Prefix many more functions, types, structs, etc. with MSVCRT_.
- Correct prototypes for _memccpy()/_memicmp().
- "define before use" reordering in file.c.
- Use the new math.h/float.h.
2004-03-16 19:17:11 +00:00
Alexandre Julliard dec198afe0 Implemented the remaining 64-bit file functions, and added a few other
functions and exported variables.
Removed the almost empty lconv.c file.
2004-01-13 05:45:05 +00:00