1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
/**
* \file mathMisc.h
* \brief Miscellaneous mathematical functions and macros.
* \copyright Copyright (C) 2006-2022 Ralf Hoppe <ralf.hoppe@dfcgen.de>
*/
#ifndef MATHMISC_H
#define MATHMISC_H
/* INCLUDE FILES **************************************************************/
#include "base.h" /* includes config.h (include before math.h) */
#include <math.h>
#include <float.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_errno.h>
#ifdef __cplusplus
extern "C" {
#endif
/* GLOBAL TYPE DECLARATIONS ***************************************************/
/* GLOBAL CONSTANT DECLARATIONS ***********************************************/
/* GLOBAL VARIABLE DECLARATIONS ***********************************************/
/* GLOBAL MACRO DEFINITIONS ***************************************************/
/* EXPORTED FUNCTIONS *********************************************************/
/* FUNCTION *******************************************************************/
/** Tries division \f$y=num/den\f$ wrt. overflow.
*
* \param num Numerator.
* \param den Denominator.
*
* \return \f$y=num/den\f$ or GSL_POSINF/GSL_NEGINF. Use the
* functions gsl_isinf() or gsl_finite() for result
* checking.
******************************************************************************/
double mathTryDiv(double num, double den);
/* FUNCTION *******************************************************************/
/** Swaps two double values.
*
* \param p1 Pointer to first value.
* \param p2 Pointer to second value.
*
* \return Nothing.
******************************************************************************/
void mathDoubleSwap(double *p1, double *p2);
#ifdef __cplusplus
}
#endif
#endif /* MATHMISC_H */
/******************************************************************************/
/* END OF FILE */
/******************************************************************************/
|