Skip to content

Commit 741abe6

Browse files
authored
Merge pull request #130 from gjkennedy/main
Added log function for adscalar.h
2 parents 25833fe + 24b3e4e commit 741abe6

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

include/adscalar.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,17 @@ A2D_FUNCTION inline ADScalar<X, M> exp(const ADScalar<X, M> &r) {
349349
return out;
350350
}
351351

352+
template <class X, int M>
353+
A2D_FUNCTION inline ADScalar<X, M> log(const ADScalar<X, M> &r) {
354+
// device compatible log
355+
ADScalar<X, M> out(::log(r.value));
356+
X inv = 1.0 / r.value;
357+
for (int i = 0; i < M; i++) {
358+
out.deriv[i] = inv * r.deriv[i];
359+
}
360+
return out;
361+
}
362+
352363
template <class X, int M>
353364
A2D_FUNCTION inline ADScalar<X, M> sin(const ADScalar<X, M> &r) {
354365
// device compatible sin, cos

0 commit comments

Comments
 (0)