WPILibC++
2025.0.0-alpha-1-14-g3b6f38d
lbeta.hpp
Go to the documentation of this file.
1
/*################################################################################
2
##
3
## Copyright (C) 2016-2023 Keith O'Hara
4
##
5
## This file is part of the GCE-Math C++ library.
6
##
7
## Licensed under the Apache License, Version 2.0 (the "License");
8
## you may not use this file except in compliance with the License.
9
## You may obtain a copy of the License at
10
##
11
## http://www.apache.org/licenses/LICENSE-2.0
12
##
13
## Unless required by applicable law or agreed to in writing, software
14
## distributed under the License is distributed on an "AS IS" BASIS,
15
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
## See the License for the specific language governing permissions and
17
## limitations under the License.
18
##
19
################################################################################*/
20
21
#ifndef _gcem_lbeta_HPP
22
#define _gcem_lbeta_HPP
23
24
namespace
gcem
25
{
26
27
/**
28
* Compile-time log-beta function
29
*
30
* @param a a real-valued input.
31
* @param b a real-valued input.
32
* @return the log-beta function using \f[ \ln \text{B}(\alpha,\beta) := \ln \int_0^1 t^{\alpha - 1} (1-t)^{\beta - 1} dt = \ln \Gamma(\alpha) + \ln \Gamma(\beta) - \ln \Gamma(\alpha + \beta) \f]
33
* where \f$ \Gamma \f$ denotes the gamma function.
34
*/
35
36
template
<
typename
T1,
typename
T2>
37
constexpr
38
common_return_t<T1,T2>
39
lbeta
(
const
T1 a,
const
T2
b
)
40
noexcept
41
{
42
return
( (
lgamma
(a) +
lgamma
(
b
)) -
lgamma
(a+
b
) );
43
}
44
45
}
46
47
#endif
gcem
Definition:
hypot.hpp:35
gcem::lgamma
constexpr return_t< T > lgamma(const T x) noexcept
Compile-time log-gamma function.
Definition:
lgamma.hpp:135
gcem::lbeta
constexpr common_return_t< T1, T2 > lbeta(const T1 a, const T2 b) noexcept
Compile-time log-beta function.
Definition:
lbeta.hpp:39
units::b
b
Definition:
data.h:44
thirdparty
gcem
include
gcem_incl
lbeta.hpp
Generated on Wed Jul 3 2024 17:20:03 for WPILibC++ by
1.9.4