source: vendor/python/2.5/Python/fmod.c

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 435 bytes
Line 
1
2/* Portable fmod(x, y) implementation for systems that don't have it */
3
4#include "pyconfig.h"
5
6#include "pyport.h"
7#include <errno.h>
8
9double
10fmod(double x, double y)
11{
12 double i, f;
13
14 if (y == 0.0) {
15 errno = EDOM;
16 return 0.0;
17 }
18
19 /* return f such that x = i*y + f for some integer i
20 such that |f| < |y| and f has the same sign as x */
21
22 i = floor(x/y);
23 f = x - i*y;
24 if ((x < 0.0) != (y < 0.0))
25 f = f-y;
26 return f;
27}
Note: See TracBrowser for help on using the repository browser.