Commit c299138a authored by Sebastian Dröge's avatar Sebastian Dröge 🍵
Browse files

Check for sinh(), cosh() and asinh() and define our own implementations if...

Check for sinh(), cosh() and asinh() and define our own implementations if they're not available. Fixes bug #520880.

Original commit message from CVS:
* configure.ac:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiochebband.c:
* gst/audiofx/audiocheblimit.c:
* gst/audiofx/math_compat.h:
Check for sinh(), cosh() and asinh() and define our own
implementations if they're not available. Fixes bug #520880.
parent 7f9ddba0
2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
* configure.ac:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiochebband.c:
* gst/audiofx/audiocheblimit.c:
* gst/audiofx/math_compat.h:
Check for sinh(), cosh() and asinh() and define our own
implementations if they're not available. Fixes bug #520880.
2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
 
Patch by: Olivier Crete <tester at tester dot ca>
......
......@@ -180,7 +180,7 @@ dnl *** checks for library functions ***
LIBS_SAVE=$LIBS
LIBS="$LIBS $LIBM"
AC_CHECK_FUNCS(rint)
AC_CHECK_FUNCS(rint sinh cosh asinh)
LIBS=$LIBS_SAVE
dnl Check for mmap (needed by electricfence plugin)
......
......@@ -34,5 +34,6 @@ noinst_HEADERS = audiopanorama.h \
audiocheblimit.h \
audiochebband.h \
audiowsincband.h \
audiowsinclimit.h
audiowsinclimit.h \
math_compat.h
......@@ -85,6 +85,8 @@
#include <math.h>
#include "math_compat.h"
#include "audiochebband.h"
#define GST_CAT_DEFAULT gst_audio_cheb_band_debug
......
......@@ -81,6 +81,8 @@
#include <math.h>
#include "math_compat.h"
#include "audiocheblimit.h"
#define GST_CAT_DEFAULT gst_audio_cheb_limit_debug
......
/*
* GStreamer
* Copyright (C) 2008 Sebastian Dröge <slomo@circular-chaos.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __MATH_COMPAT_H__
#define __MATH_COMPAT_H__
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <glib.h>
#include <math.h>
#ifndef HAVE_ASINH
static inline gdouble
asinh (gdouble x)
{
return log(x + sqrt (x * x + 1));
}
#endif
#ifndef HAVE_SINH
static inline gdouble
sinh (gdouble x)
{
return 0.5 * (exp (x) - exp (-x));
}
#endif
#ifndef HAVE_COSH
static inline gdouble
cosh (gdouble x)
{
return 0.5 * (exp (x) + exp (-x));
}
#endif
#endif /* __MATH_COMPAT_H__ */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment