Use system copy of cbrt() if available.
Also move the replacement inline into miarc.c, since that's the only user.
This commit is contained in:
parent
8dcc37520d
commit
20c5250e48
|
@ -182,6 +182,7 @@ AC_CHECK_FUNC([mmap], AC_DEFINE(HAS_MMAP, 1, [Have the `mmap' function.]))
|
||||||
|
|
||||||
dnl Find the math libary
|
dnl Find the math libary
|
||||||
AC_CHECK_LIB(m, sqrt)
|
AC_CHECK_LIB(m, sqrt)
|
||||||
|
AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function]))
|
||||||
|
|
||||||
AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
|
AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,9 @@
|
||||||
/* Define to 1 if you have the <byteswap.h> header file. */
|
/* Define to 1 if you have the <byteswap.h> header file. */
|
||||||
#undef HAVE_BYTESWAP_H
|
#undef HAVE_BYTESWAP_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have cbrt */
|
||||||
|
#undef HAVE_CBRT
|
||||||
|
|
||||||
/* Define to 1 if you have the <dbm.h> header file. */
|
/* Define to 1 if you have the <dbm.h> header file. */
|
||||||
#undef HAVE_DBM_H
|
#undef HAVE_DBM_H
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ endif
|
||||||
AM_CFLAGS = $(DIX_CFLAGS)
|
AM_CFLAGS = $(DIX_CFLAGS)
|
||||||
|
|
||||||
libmi_la_SOURCES = \
|
libmi_la_SOURCES = \
|
||||||
cbrt.c \
|
|
||||||
mi.h \
|
mi.h \
|
||||||
miarc.c \
|
miarc.c \
|
||||||
mibank.c \
|
mibank.c \
|
||||||
|
|
46
mi/cbrt.c
46
mi/cbrt.c
|
@ -1,46 +0,0 @@
|
||||||
/*
|
|
||||||
|
|
||||||
Copyright 1990, 1998 The Open Group
|
|
||||||
|
|
||||||
Permission to use, copy, modify, distribute, and sell this software and its
|
|
||||||
documentation for any purpose is hereby granted without fee, provided that
|
|
||||||
the above copyright notice appear in all copies and that both that
|
|
||||||
copyright notice and this permission notice appear in supporting
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included
|
|
||||||
in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
||||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
Except as contained in this notice, the name of The Open Group shall
|
|
||||||
not be used in advertising or otherwise to promote the sale, use or
|
|
||||||
other dealings in this Software without prior written authorization
|
|
||||||
from The Open Group.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* simple cbrt, in case your math library doesn't have a good one */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Would normally include <math.h> for this, but for the sake of compiler
|
|
||||||
* warnings, we don't want to get duplicate declarations for cbrt().
|
|
||||||
*/
|
|
||||||
|
|
||||||
double pow(double, double);
|
|
||||||
double cbrt(double);
|
|
||||||
|
|
||||||
double
|
|
||||||
cbrt(double x)
|
|
||||||
{
|
|
||||||
if (x > 0.0)
|
|
||||||
return pow(x, 1.0/3.0);
|
|
||||||
else
|
|
||||||
return -pow(-x, 1.0/3.0);
|
|
||||||
}
|
|
19
mi/miarc.c
19
mi/miarc.c
|
@ -51,14 +51,7 @@ SOFTWARE.
|
||||||
#include <dix-config.h>
|
#include <dix-config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \
|
|
||||||
|| (defined(sun) && defined(__SVR4))
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#else
|
|
||||||
#define _XOPEN_SOURCE /* to get prototype for hypot on some systems */
|
|
||||||
#include <math.h>
|
|
||||||
#undef _XOPEN_SOURCE
|
|
||||||
#endif
|
|
||||||
#include <X11/X.h>
|
#include <X11/X.h>
|
||||||
#include <X11/Xprotostr.h>
|
#include <X11/Xprotostr.h>
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
@ -75,7 +68,17 @@ static double miDsin(double a);
|
||||||
static double miDcos(double a);
|
static double miDcos(double a);
|
||||||
static double miDasin(double v);
|
static double miDasin(double v);
|
||||||
static double miDatan2(double dy, double dx);
|
static double miDatan2(double dy, double dx);
|
||||||
double cbrt(double);
|
|
||||||
|
#ifndef HAVE_CBRT
|
||||||
|
static double
|
||||||
|
cbrt(double x)
|
||||||
|
{
|
||||||
|
if (x > 0.0)
|
||||||
|
return pow(x, 1.0/3.0);
|
||||||
|
else
|
||||||
|
return -pow(-x, 1.0/3.0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* some interesting sematic interpretation of the protocol:
|
* some interesting sematic interpretation of the protocol:
|
||||||
|
|
Loading…
Reference in New Issue