s_truncl.c (176246) | s_truncl.c (176280) |
---|---|
1/* 2 * ==================================================== 3 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 * 5 * Developed at SunPro, a Sun Microsystems, Inc. business. 6 * Permission to use, copy, modify, and distribute this 7 * software is freely granted, provided that this notice 8 * is preserved. 9 * ==================================================== 10 * 11 * From: @(#)s_floor.c 5.1 93/09/24 12 */ 13 14#include <sys/cdefs.h> | 1/* 2 * ==================================================== 3 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 * 5 * Developed at SunPro, a Sun Microsystems, Inc. business. 6 * Permission to use, copy, modify, and distribute this 7 * software is freely granted, provided that this notice 8 * is preserved. 9 * ==================================================== 10 * 11 * From: @(#)s_floor.c 5.1 93/09/24 12 */ 13 14#include <sys/cdefs.h> |
15__FBSDID("$FreeBSD: head/lib/msun/src/s_truncl.c 176245 2008-02-13 17:38:16Z bde $"); | 15__FBSDID("$FreeBSD: head/lib/msun/src/s_truncl.c 176280 2008-02-14 15:10:34Z bde $"); |
16 17/* 18 * truncl(x) 19 * Return x rounded toward 0 to integral value 20 * Method: 21 * Bit twiddling. 22 * Exception: 23 * Inexact flag raised if x not equal to truncl(x). --- 37 unchanged lines hidden (view full) --- 61 uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1); 62 if ((u.bits.manl & m) == 0) 63 return (x); /* x is integral */ 64 if (huge + x > 0.0) /* raise inexact flag */ 65 u.bits.manl &= ~m; 66 } 67 return (u.e); 68} | 16 17/* 18 * truncl(x) 19 * Return x rounded toward 0 to integral value 20 * Method: 21 * Bit twiddling. 22 * Exception: 23 * Inexact flag raised if x not equal to truncl(x). --- 37 unchanged lines hidden (view full) --- 61 uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1); 62 if ((u.bits.manl & m) == 0) 63 return (x); /* x is integral */ 64 if (huge + x > 0.0) /* raise inexact flag */ 65 u.bits.manl &= ~m; 66 } 67 return (u.e); 68} |
69 70#if LDBL_MANT_DIG == 53 71__weak_reference(trunc, truncl); 72#endif | |