Updated PCI IDs to latest snapshot.
[tangerine.git] / rom / mathieeesingbas / ieeespceil.c
blob825d677d08d5edd23144ddfc4fae51eb5c87a348
1 /*
2 Copyright © 1995-2004, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include "mathieeesingbas_intern.h"
8 /*
9 FUNCTION
10 Calculate the least integer ieeesp-number greater than or equal to
13 RESULT
14 Flags:
15 zero : result is zero
16 negative : result is negative
17 overflow : 0
19 NOTES
21 EXAMPLE
23 BUGS
25 SEE ALSO
26 @Math.Floor@
28 INTERNALS
29 ALGORITHM:
30 Ceil(y) = - Floor(-y)
32 HISTORY
35 AROS_LH1(float, IEEESPCeil,
36 AROS_LHA(float, y, D0),
37 struct LibHeader *, MathIeeeSingBasBase, 16, Mathieeesingbas
40 AROS_LIBFUNC_INIT
42 if (y == 0x7f880000) return y;
44 /* Ceil(y) = -Floor(-y); */
45 y = IEEESPFloor(y ^ IEEESPSign_Mask);
46 if (y == 0) return 0;
47 else return (y ^ IEEESPSign_Mask);
49 AROS_LIBFUNC_EXIT