From: Bruno Haible Date: Mon, 28 Aug 2006 12:54:10 +0000 (+0000) Subject: New module 'imaxabs'. X-Git-Tag: cvs-readonly~1981 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=42229495e0fb29587a361a8d9346ec925dee8edc;p=gnulib.git New module 'imaxabs'. --- diff --git a/lib/imaxabs.c b/lib/imaxabs.c new file mode 100644 index 000000000..7d22c711f --- /dev/null +++ b/lib/imaxabs.c @@ -0,0 +1,29 @@ +/* imaxabs() function: absolute value of 'intmax_t'. + Copyright (C) 2006 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 2, or (at your option) + any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +/* Specification. */ +#include + +intmax_t +imaxabs (intmax_t x) +{ + return (x >= 0 ? x : - x); +} diff --git a/m4/imaxabs.m4 b/m4/imaxabs.m4 new file mode 100644 index 000000000..d26e56fcc --- /dev/null +++ b/m4/imaxabs.m4 @@ -0,0 +1,17 @@ +# imaxabs.m4 serial 1 +dnl Copyright (C) 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_IMAXABS], +[ + AC_REQUIRE([gl_INTTYPES_H]) + if test "$ac_cv_have_decl_imaxabs" != yes; then + AC_LIBOBJ([imaxabs]) + gl_PREREQ_IMAXABS + fi +]) + +# Prerequisites of lib/imaxabs.c. +AC_DEFUN([gl_PREREQ_IMAXABS], [:]) diff --git a/modules/imaxabs b/modules/imaxabs new file mode 100644 index 000000000..1b0b50c8b --- /dev/null +++ b/modules/imaxabs @@ -0,0 +1,23 @@ +Description: +imaxabs() function: absolute value of 'intmax_t'. + +Files: +lib/imaxabs.c +m4/imaxabs.m4 + +Depends-on: +inttypes + +configure.ac: +gl_FUNC_IMAXABS + +Makefile.am: + +Include: + + +License: +LGPL + +Maintainer: +Bruno Haible