Mercurial > cpython-lru_cache-weakref
view Python/fmod.c @ 16893:f1c8ea92ee85 legacy-trunk
Suppress a compiler warning under OpenVMS; time_t is unsigned on (at least)
the more recent versions of that platform, so we use the value (time_t)(-1)
as the error value. This is the type used in the OpenVMS documentation:
http://www.openvms.compaq.com/commercial/c/5763p048.htm#inde
This closes SF tracker bug #404240.
Also clean up an exception message when detecting overflow of time_t values
beyond 4 bytes.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Thu, 01 Mar 2001 06:33:32 +0000 |
| parents | 6f6f965c5e2d |
| children | 2dea40e40d9d |
line wrap: on
line source
/* Portable fmod(x, y) implementation for systems that don't have it */ #include "config.h" #include "pyport.h" #include <errno.h> double fmod(double x, double 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; }
