Skip to content

Commit 612cfc8

Browse files
committed
[clad] Power can take arguments of different types.
1 parent 36383bb commit 612cfc8

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

math/mathcore/inc/Math/CladDerivator.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ void Min_pullback(T a, T b, U p, clad::array_ref<T> d_a, clad::array_ref<T> d_b)
191191
*d_b += p;
192192
}
193193

194-
template <typename T>
195-
ValueAndPushforward<T, T> Power_pushforward(T x, T y, T d_x, T d_y)
194+
template <typename T, typename U>
195+
ValueAndPushforward<T, T> Power_pushforward(T x, U y, T d_x, U d_y)
196196
{
197197
T pushforward = y * ::TMath::Power(x, y - 1) * d_x;
198198
if (d_y) {
@@ -201,8 +201,8 @@ ValueAndPushforward<T, T> Power_pushforward(T x, T y, T d_x, T d_y)
201201
return {::TMath::Power(x, y), pushforward};
202202
}
203203

204-
template <typename T, typename U>
205-
void Power_pullback(T x, T y, U p, clad::array_ref<T> d_x, clad::array_ref<T> d_y)
204+
template <typename T, typename U, typename V>
205+
void Power_pullback(T x, U y, V p, clad::array_ref<T> d_x, clad::array_ref<U> d_y)
206206
{
207207
auto t = pow_pushforward(x, y, 1, 0);
208208
*d_x += t.pushforward * p;

0 commit comments

Comments
 (0)