Stan
1.3
probability, sampling & optimization
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerator
Friends
Macros
Pages
src
stan
agrad
rev
Phi.hpp
Go to the documentation of this file.
1
#ifndef __STAN__AGRAD__REV__PHI_HPP__
2
#define __STAN__AGRAD__REV__PHI_HPP__
3
4
#include <
stan/agrad/rev/var.hpp
>
5
#include <
stan/math/functions/Phi.hpp
>
6
#include <
stan/agrad/rev/op/v_vari.hpp
>
7
8
namespace
stan {
9
namespace
agrad {
10
11
namespace
{
12
class
Phi_vari :
public
op_v_vari {
13
public
:
14
Phi_vari(vari* avi) :
15
op_v_vari(stan::math::
Phi
(avi->val_), avi) {
16
}
17
void
chain() {
18
static
const
double
NEG_HALF = -0.5;
19
avi_
->adj_ += adj_
20
*
stan::math::INV_SQRT_TWO_PI
*
std::exp
(NEG_HALF *
avi_
->val_ *
avi_
->val_);
21
}
22
};
23
}
24
37
inline
var
Phi
(
const
stan::agrad::var
& a) {
38
return
var
(
new
Phi_vari(a.
vi_
));
39
}
40
41
}
42
}
43
#endif
[
Stan Home Page
]
© 2011–2013, Stan Development Team.