Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f80d443f
Commit
f80d443f
authored
Aug 16, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Add a number of floating point functions for 64-bit.
parent
5dfc2a34
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
97 additions
and
11 deletions
+97
-11
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+29
-0
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+5
-5
math.c
dlls/msvcrt/math.c
+57
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+6
-6
No files found.
dlls/msvcr100/msvcr100.spec
View file @
f80d443f
...
...
@@ -532,6 +532,7 @@
@ cdecl _chdir(str) msvcrt._chdir
@ cdecl _chdrive(long) msvcrt._chdrive
@ cdecl _chgsign(double) msvcrt._chgsign
@ cdecl -arch=x86_64 _chgsignf(float) msvcrt._chgsignf
@ cdecl -i386 -norelay _chkesp() msvcrt._chkesp
@ cdecl _chmod(str long) msvcrt._chmod
@ cdecl _chsize(long long) msvcrt._chsize
...
...
@@ -545,6 +546,7 @@
@ cdecl _controlfp(long long) msvcrt._controlfp
@ cdecl _controlfp_s(ptr long long) msvcrt._controlfp_s
@ cdecl _copysign(double double) msvcrt._copysign
@ cdecl -arch=x86_64 _copysignf(float float) msvcrt._copysignf
@ varargs _cprintf(str) msvcrt._cprintf
@ stub _cprintf_l
@ stub _cprintf_p
...
...
@@ -627,10 +629,12 @@
@ cdecl _findnext64(long ptr) msvcrt._findnext64
@ cdecl _findnext64i32(long ptr) msvcrt._findnext64i32
@ cdecl _finite(double) msvcrt._finite
@ cdecl -arch=x86_64 _finitef(float) msvcrt._finitef
@ cdecl _flsbuf(long ptr) msvcrt._flsbuf
@ cdecl _flushall() msvcrt._flushall
@ extern _fmode msvcrt._fmode
@ cdecl _fpclass(double) msvcrt._fpclass
# stub -arch=x86_64 _fpclassf
@ cdecl _fpieee_flt(long ptr ptr) msvcrt._fpieee_flt
@ cdecl _fpreset() msvcrt._fpreset
@ stub _fprintf_l
...
...
@@ -815,6 +819,7 @@
@ cdecl _ismbstrail(ptr ptr) msvcrt._ismbstrail
@ stub _ismbstrail_l
@ cdecl _isnan(double) msvcrt._isnan
@ cdecl -arch=x86_64 _isnanf(float) msvcrt._isnanf
@ cdecl _isprint_l(long ptr) msvcrt._isprint_l
@ stub _ispunct_l
@ cdecl _isspace_l(long ptr) msvcrt._isspace_l
...
...
@@ -856,6 +861,7 @@
@ cdecl _lock_file(ptr) msvcrt._lock_file
@ cdecl _locking(long long long) msvcrt._locking
@ cdecl _logb(double) msvcrt._logb
@ cdecl -arch=x86_64 _logbf(float) msvcrt._logbf
@ cdecl -i386 _longjmpex(ptr long) msvcrt._longjmpex
@ cdecl _lrotl(long long) msvcrt._lrotl
@ cdecl _lrotr(long long) msvcrt._lrotr
...
...
@@ -1018,6 +1024,7 @@
@ cdecl _mktime64(ptr) msvcrt._mktime64
@ cdecl _msize(ptr) msvcrt._msize
@ cdecl _nextafter(double double) msvcrt._nextafter
@ cdecl -arch=x86_64 _nextafterf(float float) msvcrt._nextafterf
@ cdecl _onexit(ptr) msvcrt._onexit
@ varargs _open(str long) msvcrt._open
@ cdecl _open_osfhandle(long long) msvcrt._open_osfhandle
...
...
@@ -1055,6 +1062,7 @@
@ cdecl _rotr(long long) msvcrt._rotr
@ cdecl -ret64 _rotr64(int64 long) msvcrt._rotr64
@ cdecl _scalb(double long) msvcrt._scalb
@ cdecl -arch=x86_64 _scalbf(float long) msvcrt._scalbf
@ varargs _scanf_l(str ptr) msvcrt._scanf_l
@ varargs _scanf_s_l(str ptr) msvcrt._scanf_s_l
@ varargs _scprintf(str) msvcrt._scprintf
...
...
@@ -1084,6 +1092,7 @@
@ cdecl _seterrormode(long) msvcrt._seterrormode
@ cdecl -arch=i386,x86_64 -norelay _setjmp(ptr) msvcrt._setjmp
@ cdecl -arch=i386 -norelay _setjmp3(ptr long) msvcrt._setjmp3
@ cdecl -arch=x86_64 -norelay _setjmpex(ptr ptr) msvcrt._setjmpex
@ cdecl _setmaxstdio(long) msvcrt._setmaxstdio
@ cdecl _setmbcp(long) msvcrt._setmbcp
@ cdecl _setmode(long long) msvcrt._setmode
...
...
@@ -1424,11 +1433,15 @@
@ cdecl abort() msvcrt.abort
@ cdecl abs(long) msvcrt.abs
@ cdecl acos(double) msvcrt.acos
@ cdecl -arch=x86_64 acosf(float) msvcrt.acosf
@ cdecl asctime(ptr) msvcrt.asctime
@ cdecl asctime_s(ptr long ptr) msvcrt.asctime_s
@ cdecl asin(double) msvcrt.asin
@ cdecl -arch=x86_64 asinf(float) msvcrt.asinf
@ cdecl atan(double) msvcrt.atan
@ cdecl -arch=x86_64 atanf(float) msvcrt.atanf
@ cdecl atan2(double double) msvcrt.atan2
@ cdecl -arch=x86_64 atan2f(float float) msvcrt.atan2f
@ cdecl atexit(ptr) msvcrt.atexit
@ cdecl atof(str) msvcrt.atof
@ cdecl atoi(str) msvcrt.atoi
...
...
@@ -1438,14 +1451,18 @@
@ cdecl btowc(long) msvcrt.btowc
@ cdecl calloc(long long) msvcrt.calloc
@ cdecl ceil(double) msvcrt.ceil
@ cdecl -arch=x86_64 ceilf(float) msvcrt.ceilf
@ cdecl clearerr(ptr) msvcrt.clearerr
@ stub clearerr_s
@ cdecl clock() msvcrt.clock
@ cdecl cos(double) msvcrt.cos
@ cdecl -arch=x86_64 cosf(float) msvcrt.cosf
@ cdecl cosh(double) msvcrt.cosh
@ cdecl -arch=x86_64 coshf(float) msvcrt.coshf
@ cdecl -ret64 div(long long) msvcrt.div
@ cdecl exit(long) msvcrt.exit
@ cdecl exp(double) msvcrt.exp
@ cdecl -arch=x86_64 expf(float) msvcrt.expf
@ cdecl fabs(double) msvcrt.fabs
@ cdecl fclose(ptr) msvcrt.fclose
@ cdecl feof(ptr) msvcrt.feof
...
...
@@ -1457,7 +1474,9 @@
@ cdecl fgetwc(ptr) msvcrt.fgetwc
@ cdecl fgetws(ptr long ptr) msvcrt.fgetws
@ cdecl floor(double) msvcrt.floor
@ cdecl -arch=x86_64 floorf(float) msvcrt.floorf
@ cdecl fmod(double double) msvcrt.fmod
@ cdecl -arch=x86_64 fmodf(float float) msvcrt.fmodf
@ cdecl fopen(str str) msvcrt.fopen
@ cdecl fopen_s(ptr str str) msvcrt.fopen_s
@ varargs fprintf(ptr str) msvcrt.fprintf
...
...
@@ -1523,7 +1542,9 @@
@ stub lldiv
@ cdecl localeconv() msvcrt.localeconv
@ cdecl log(double) msvcrt.log
@ cdecl -arch=x86_64 logf(float) msvcrt.logf
@ cdecl log10(double) msvcrt.log10
@ cdecl -arch=x86_64 log10f(float) msvcrt.log10f
@ cdecl -arch=i386,x86_64 longjmp(ptr long) msvcrt.longjmp
@ cdecl malloc(long) msvcrt.malloc
@ cdecl mblen(ptr long) msvcrt.mblen
...
...
@@ -1542,8 +1563,10 @@
@ cdecl memmove_s(ptr long ptr long) msvcrt.memmove_s
@ cdecl memset(ptr long long) msvcrt.memset
@ cdecl modf(double ptr) msvcrt.modf
@ cdecl -arch=x86_64 modff(float ptr) msvcrt.modff
@ cdecl perror(str) msvcrt.perror
@ cdecl pow(double double) msvcrt.pow
@ cdecl -arch=x86_64 powf(float float) msvcrt.powf
@ varargs printf(str) msvcrt.printf
@ varargs printf_s(str) msvcrt.printf_s
@ cdecl putc(long ptr) msvcrt.putc
...
...
@@ -1563,14 +1586,18 @@
@ varargs scanf(str) msvcrt.scanf
@ varargs scanf_s(str) msvcrt.scanf_s
@ cdecl setbuf(ptr ptr) msvcrt.setbuf
@ cdecl -arch=x86_64 -norelay -private setjmp(ptr) msvcrt.setjmp
@ cdecl setlocale(long str) msvcrt.setlocale
@ cdecl setvbuf(ptr str long long) msvcrt.setvbuf
@ cdecl signal(long long) msvcrt.signal
@ cdecl sin(double) msvcrt.sin
@ cdecl -arch=x86_64 sinf(float) msvcrt.sinf
@ cdecl sinh(double) msvcrt.sinh
@ cdecl -arch=x86_64 sinhf(float) msvcrt.sinhf
@ varargs sprintf(ptr str) msvcrt.sprintf
@ varargs sprintf_s(ptr long str) msvcrt.sprintf_s
@ cdecl sqrt(double) msvcrt.sqrt
@ cdecl -arch=x86_64 sqrtf(float) msvcrt.sqrtf
@ cdecl srand(long) msvcrt.srand
@ varargs sscanf(str str) msvcrt.sscanf
@ varargs sscanf_s(str str) msvcrt.sscanf_s
...
...
@@ -1607,7 +1634,9 @@
@ varargs swscanf_s(wstr wstr) msvcrt.swscanf_s
@ cdecl system(str) msvcrt.system
@ cdecl tan(double) msvcrt.tan
@ cdecl -arch=x86_64 tanf(float) msvcrt.tanf
@ cdecl tanh(double) msvcrt.tanh
@ cdecl -arch=x86_64 tanhf(float) msvcrt.tanhf
@ cdecl tmpfile() msvcrt.tmpfile
@ cdecl tmpfile_s(ptr) msvcrt.tmpfile_s
@ cdecl tmpnam(ptr) msvcrt.tmpnam
...
...
dlls/msvcr90/msvcr90.spec
View file @
f80d443f
...
...
@@ -376,7 +376,7 @@
@ cdecl _controlfp(long long) msvcrt._controlfp
@ cdecl _controlfp_s(ptr long long) msvcrt._controlfp_s
@ cdecl _copysign(double double) msvcrt._copysign
# stub -arch=win64 _copysignf(float float)
@ cdecl -arch=x86_64 _copysignf(float float) msvcrt._copysignf
@ varargs _cprintf(str) msvcrt._cprintf
@ stub _cprintf_l
@ stub _cprintf_p
...
...
@@ -461,7 +461,7 @@
@ cdecl _findnext64(long ptr) msvcrt._findnext64
@ cdecl _findnext64i32(long ptr) msvcrt._findnext64i32
@ cdecl _finite(double) msvcrt._finite
# stub -arch=win64 _finitef(float)
@ cdecl -arch=x86_64 _finitef(float) msvcrt._finitef
@ cdecl _flsbuf(long ptr) msvcrt._flsbuf
@ cdecl _flushall() msvcrt._flushall
@ extern _fmode msvcrt._fmode
...
...
@@ -652,7 +652,7 @@
@ cdecl _ismbstrail(ptr ptr) msvcrt._ismbstrail
@ stub _ismbstrail_l
@ cdecl _isnan(double) msvcrt._isnan
# stub -arch=win64 _isnanf(float)
@ cdecl -arch=x86_64 _isnanf(float) msvcrt._isnanf
@ cdecl _isprint_l(long ptr) msvcrt._isprint_l
@ stub _ispunct_l
@ cdecl _isspace_l(long ptr) msvcrt._isspace_l
...
...
@@ -694,7 +694,7 @@
@ cdecl _lock_file(ptr) msvcrt._lock_file
@ cdecl _locking(long long long) msvcrt._locking
@ cdecl _logb(double) msvcrt._logb
# stub _logbf(float)
@ cdecl -arch=x86_64 _logbf(float) msvcrt._logbf
@ cdecl -i386 _longjmpex(ptr long) msvcrt._longjmpex
@ cdecl _lrotl(long long) msvcrt._lrotl
@ cdecl _lrotr(long long) msvcrt._lrotr
...
...
@@ -857,7 +857,7 @@
@ cdecl _mktime64(ptr) msvcrt._mktime64
@ cdecl _msize(ptr) msvcrt._msize
@ cdecl _nextafter(double double) msvcrt._nextafter
# stub -arch=win64 _nextafterf(float float)
@ cdecl -arch=x86_64 _nextafterf(float float) msvcrt._nextafterf
@ cdecl _onexit(ptr) msvcrt._onexit
@ varargs _open(str long) msvcrt._open
@ cdecl _open_osfhandle(long long) msvcrt._open_osfhandle
...
...
dlls/msvcrt/math.c
View file @
f80d443f
...
...
@@ -71,6 +71,63 @@ int CDECL MSVCRT__set_SSE2_enable(int flag)
#ifdef __x86_64__
/*********************************************************************
* _chgsignf (MSVCRT.@)
*/
float
CDECL
MSVCRT__chgsignf
(
float
num
)
{
/* FIXME: +-infinity,Nan not tested */
return
-
num
;
}
/*********************************************************************
* _copysignf (MSVCRT.@)
*/
float
CDECL
MSVCRT__copysignf
(
float
num
,
float
sign
)
{
/* FIXME: Behaviour for Nan/Inf? */
if
(
sign
<
0
.
0
)
return
num
<
0
.
0
?
num
:
-
num
;
return
num
<
0
.
0
?
-
num
:
num
;
}
/*********************************************************************
* _finitef (MSVCRT.@)
*/
int
CDECL
MSVCRT__finitef
(
float
num
)
{
return
finitef
(
num
)
!=
0
;
/* See comment for _isnan() */
}
/*********************************************************************
* _isnanf (MSVCRT.@)
*/
INT
CDECL
MSVCRT__isnanf
(
float
num
)
{
/* Some implementations return -1 for true(glibc), msvcrt/crtdll return 1.
* Do the same, as the result may be used in calculations
*/
return
isnanf
(
num
)
!=
0
;
}
/*********************************************************************
* _logbf (MSVCRT.@)
*/
float
CDECL
MSVCRT__logbf
(
float
num
)
{
if
(
!
finitef
(
num
))
*
MSVCRT__errno
()
=
MSVCRT_EDOM
;
return
logbf
(
num
);
}
/*********************************************************************
* _nextafterf (MSVCRT.@)
*/
float
CDECL
MSVCRT__nextafterf
(
float
num
,
float
next
)
{
if
(
!
finitef
(
num
)
||
!
finitef
(
next
))
*
MSVCRT__errno
()
=
MSVCRT_EDOM
;
return
nextafterf
(
num
,
next
);
}
/*********************************************************************
* MSVCRT_acosf (MSVCRT.@)
*/
float
CDECL
MSVCRT_acosf
(
float
x
)
...
...
dlls/msvcrt/msvcrt.spec
View file @
f80d443f
...
...
@@ -325,7 +325,7 @@
@ cdecl _chdir(str) MSVCRT__chdir
@ cdecl _chdrive(long) MSVCRT__chdrive
@ cdecl _chgsign(double) MSVCRT__chgsign
# stub -arch=win64 _chgsignf(float)
@ cdecl -arch=x86_64 _chgsignf(float) MSVCRT__chgsignf
@ cdecl -i386 -norelay _chkesp()
@ cdecl _chmod(str long) MSVCRT__chmod
@ cdecl _chsize(long long) MSVCRT__chsize
...
...
@@ -340,7 +340,7 @@
@ cdecl _controlfp(long long)
@ cdecl _controlfp_s(ptr long long)
@ cdecl _copysign(double double) MSVCRT__copysign
# stub -arch=win64 _copysignf(float float)
@ cdecl -arch=x86_64 _copysignf(float float) MSVCRT__copysignf
@ varargs _cprintf(str)
# stub _cprintf_l(str ptr)
# stub _cprintf_p(str)
...
...
@@ -423,7 +423,7 @@
@ cdecl _findnext64i32(long ptr) MSVCRT__findnext64i32
@ cdecl _findnexti64(long ptr) MSVCRT__findnexti64
@ cdecl _finite(double) MSVCRT__finite
# stub -arch=win64 _finitef(float)
@ cdecl -arch=x86_64 _finitef(float) MSVCRT__finitef
@ cdecl _flsbuf(long ptr) MSVCRT__flsbuf
@ cdecl _flushall() MSVCRT__flushall
@ extern _fmode MSVCRT__fmode
...
...
@@ -599,7 +599,7 @@
@ cdecl _ismbstrail(ptr ptr)
# stub _ismbstrail_l(long ptr)
@ cdecl _isnan(double) MSVCRT__isnan
# stub -arch=win64 _isnanf(float)
@ cdecl -arch=x86_64 _isnanf(float) MSVCRT__isnanf
@ cdecl _isprint_l(long ptr) MSVCRT__isprint_l
@ cdecl _isspace_l(long ptr) MSVCRT__isspace_l
@ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
...
...
@@ -638,7 +638,7 @@
@ cdecl _lock_file(ptr) MSVCRT__lock_file
@ cdecl _locking(long long long) MSVCRT__locking
@ cdecl _logb(double) MSVCRT__logb
# stub _logbf(float)
@ cdecl -arch=x86_64 _logbf(float) MSVCRT__logbf
@ cdecl -i386 _longjmpex(ptr long) MSVCRT_longjmp
@ cdecl _lrotl(long long) MSVCRT__lrotl
@ cdecl _lrotr(long long) MSVCRT__lrotr
...
...
@@ -808,7 +808,7 @@
# stub -arch=win32 _msize_debug(ptr long)
# stub -arch=win64 _msize_dbg(ptr long)
@ cdecl _nextafter(double double) MSVCRT__nextafter
# stub -arch=win64 _nextafterf(float float)
@ cdecl -arch=x86_64 _nextafterf(float float) MSVCRT__nextafterf
@ cdecl _onexit(ptr) MSVCRT__onexit
@ varargs _open(str long) MSVCRT__open
@ cdecl _open_osfhandle(long long) MSVCRT__open_osfhandle
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment