X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fceill.c;h=54a4b50c59c5284d832e66ab0ec4187e58338aaa;hb=b344de996cd51f8a2f2558a3172016b64d99c622;hp=94ffd6fc5fecb60d3e34a08adcefe7eb81ea77e2;hpb=5657b2536d242966c41c268b9ab4fe8df727bb13;p=gnulib.git
diff --git a/lib/ceill.c b/lib/ceill.c
index 94ffd6fc5..54a4b50c5 100644
--- a/lib/ceill.c
+++ b/lib/ceill.c
@@ -1,45 +1,20 @@
-/* Emulation for ceill.
- Contributed by Paolo Bonzini
+/* Round towards positive infinity.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
- This file is part of gnulib.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- gnulib is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1, or (at your option)
- any later version.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see . */
- gnulib is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- License for more details.
+/* Written by Bruno Haible , 2007. */
- You should have received a copy of the GNU Lesser General Public License
- along with gnulib; see the file COPYING.LIB. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA.
- */
-
-#include
-
-#include "mathl.h"
-
-/* To compute the integer part of X, sum a big enough
- integer so that the precision of the floating point
- number is exactly 1. */
-
-long double
-ceill(long double x)
-{
- long double y;
- if (x < 0.0L)
- y = -(1.0L / LDBL_EPSILON - x - 1.0 / LDBL_EPSILON);
- else
- y = 1.0L / LDBL_EPSILON + x - 1.0 / LDBL_EPSILON;
-
- if (y < x)
- return y + 1.0L;
- else
- return y;
-}
+#define USE_LONG_DOUBLE
+#include "ceil.c"