Stan Math Library
2.15.0
reverse mode automatic differentiation
stan
math
fwd
scal
fun
multiply_log.hpp
Go to the documentation of this file.
1
#ifndef STAN_MATH_FWD_SCAL_FUN_MULTIPLY_LOG_HPP
2
#define STAN_MATH_FWD_SCAL_FUN_MULTIPLY_LOG_HPP
3
4
#include <
stan/math/fwd/core.hpp
>
5
6
#include <
stan/math/prim/scal/fun/multiply_log.hpp
>
7
8
namespace
stan
{
9
namespace
math {
10
11
template
<
typename
T>
12
inline
13
fvar<T>
14
multiply_log
(
const
fvar<T>
& x1,
const
fvar<T>
& x2) {
15
using
std::log
;
16
return
fvar<T>
(
multiply_log
(x1.
val_
, x2.
val_
),
17
x1.
d_
*
log
(x2.
val_
) + x1.
val_
* x2.
d_
/ x2.
val_
);
18
}
19
20
template
<
typename
T>
21
inline
22
fvar<T>
23
multiply_log
(
double
x1,
const
fvar<T>
& x2) {
24
using
std::log
;
25
return
fvar<T>
(
multiply_log
(x1, x2.
val_
),
26
x1 * x2.
d_
/ x2.
val_
);
27
}
28
29
template
<
typename
T>
30
inline
31
fvar<T>
32
multiply_log
(
const
fvar<T>
& x1,
double
x2) {
33
using
std::log
;
34
return
fvar<T>
(
multiply_log
(x1.
val_
, x2),
35
x1.
d_
*
log
(x2));
36
}
37
}
38
}
39
#endif
core.hpp
stan::math::fvar::d_
T d_
Definition:
fvar.hpp:16
stan
Definition:
log_sum_exp.hpp:8
stan::math::log
fvar< T > log(const fvar< T > &x)
Definition:
log.hpp:14
multiply_log.hpp
stan::math::fvar::val_
T val_
Definition:
fvar.hpp:15
stan::math::multiply_log
fvar< T > multiply_log(const fvar< T > &x1, const fvar< T > &x2)
Definition:
multiply_log.hpp:14
stan::math::fvar
Definition:
fvar.hpp:14
[
Stan Home Page
]
© 2011–2016, Stan Development Team.