Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALInference
4.1.9.1-5e288d3
LALSuite
LAL
LALFrame
LALMetaIO
LALSimulation
LALBurst
LALInspiral
LALInference
LALPulsar
LALApps
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
logaddexp.h
Go to the documentation of this file.
1
/*
2
* logaddexp, adapted from numpy/core/src/npymath/npy_math.c.src.
3
*
4
* Copyright (c) 2005-2011, NumPy Developers.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are
9
* met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
*
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
*
19
* * Neither the name of the NumPy Developers nor the names of any
20
* contributors may be used to endorse or promote products derived
21
* from this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
37
static
double
logaddexp
(
double
x
,
double
y)
38
{
39
const
double
tmp =
x
-
y
;
40
if
(tmp > 0) {
41
return
x
+ log1p(exp(-tmp));
42
}
43
else
if
(tmp <= 0) {
44
return
y
+ log1p(exp(tmp));
45
}
46
else
{
47
/* NaNs, or infinities of the same sign involved */
48
return
x
+
y
;
49
}
50
}
logaddexp
static double logaddexp(double x, double y)
Definition:
logaddexp.h:37
y
list y
imrtgr_imr_consistency_test.x
x
Definition:
imrtgr_imr_consistency_test.py:455
lib
logaddexp.h
Generated on Fri Jun 20 2025 05:17:04 for LALInference by
1.9.4