mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
Initial revision
This commit is contained in:
parent
c636014c43
commit
85a5fbbdfe
78 changed files with 13589 additions and 0 deletions
27
Python/fmod.c
Normal file
27
Python/fmod.c
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* Portable fmod(x, y) implementation for systems that don't have it */
|
||||
|
||||
#include <math.h>
|
||||
#include <errno.h>
|
||||
|
||||
extern int errno;
|
||||
|
||||
double
|
||||
fmod(x, y)
|
||||
double x, y;
|
||||
{
|
||||
double i, f;
|
||||
|
||||
if (y == 0.0) {
|
||||
errno = EDOM;
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
/* return f such that x = i*y + f for some integer i
|
||||
such that |f| < |y| and f has the same sign as x */
|
||||
|
||||
i = floor(x/y);
|
||||
f = x - i*y;
|
||||
if ((x < 0.0) != (y < 0.0))
|
||||
f = f-y;
|
||||
return f;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue