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
sqrt.hpp
Go to the documentation of this file.
1
#ifndef __STAN__AGRAD__REV__SQRT_HPP__
2
#define __STAN__AGRAD__REV__SQRT_HPP__
3
4
#include <cmath>
5
#include <
stan/agrad/rev/var.hpp
>
6
#include <
stan/agrad/rev/op/v_vari.hpp
>
7
8
namespace
stan {
9
namespace
agrad {
10
11
namespace
{
12
class
sqrt_vari :
public
op_v_vari {
13
public
:
14
sqrt_vari(vari* avi) :
15
op_v_vari(std::
sqrt
(avi->val_),avi) {
16
}
17
void
chain() {
18
avi_
->adj_ += adj_ / (2.0 * val_);
19
}
20
};
21
}
22
33
inline
var
sqrt
(
const
var& a) {
34
return
var(
new
sqrt_vari(a.vi_));
35
}
36
37
}
38
}
39
#endif
[
Stan Home Page
]
© 2011–2013, Stan Development Team.