@@ -959,7 +959,7 @@ namespace class_functions {
959959constructor_reverse_forw (::clad ::Tag < ptrClass > , double * mptr , double * d_mptr ) elidable_reverse_forw ;
960960}}}
961961
962- // CHECK: clad::ValueAndAdjoint<double &, double &> operator_star_reverse_forw(ptrClass *_d_this, clad::restore_tracker &_tracker0 ) {
962+ // CHECK: clad::ValueAndAdjoint<double &, double &> operator_star_reverse_forw(ptrClass *_d_this) {
963963// CHECK-NEXT: return {*this->ptr, *_d_this->ptr};
964964// CHECK-NEXT: }
965965
@@ -974,12 +974,8 @@ double fn26(double x, double y) {
974974// CHECK: void fn26_grad(double x, double y, double *_d_x, double *_d_y) {
975975// CHECK-NEXT: ptrClass p(&x);
976976// CHECK-NEXT: ptrClass _d_p(_d_x);
977- // CHECK-NEXT: clad::restore_tracker _tracker0 = {};
978- // CHECK-NEXT: clad::ValueAndAdjoint<double &, double &> _t0 = p.operator_star_reverse_forw(&_d_p, _tracker0);
979- // CHECK-NEXT: {
980- // CHECK-NEXT: _t0.adjoint += 1;
981- // CHECK-NEXT: _tracker0.restore();
982- // CHECK-NEXT: }
977+ // CHECK-NEXT: clad::ValueAndAdjoint<double &, double &> _t0 = p.operator_star_reverse_forw(&_d_p);
978+ // CHECK-NEXT: _t0.adjoint += 1;
983979// CHECK-NEXT: }
984980
985981struct MyStructWrapper {
@@ -1120,7 +1116,7 @@ MyStruct& objRef(MyStruct& s) {
11201116 return s ;
11211117}
11221118
1123- // CHECK: clad::ValueAndAdjoint<MyStruct &, MyStruct &> objRef_reverse_forw(MyStruct &s, MyStruct &_d_s, clad::restore_tracker &_tracker0 ) {
1119+ // CHECK: clad::ValueAndAdjoint<MyStruct &, MyStruct &> objRef_reverse_forw(MyStruct &s, MyStruct &_d_s) {
11241120// CHECK-NEXT: return {s, _d_s};
11251121// CHECK-NEXT: }
11261122
@@ -1135,12 +1131,8 @@ double fn30(double x, double y) {
11351131// CHECK: void fn30_grad(double x, double y, double *_d_x, double *_d_y) {
11361132// CHECK-NEXT: MyStruct _d_a = {0., 0.};
11371133// CHECK-NEXT: MyStruct a{x, y};
1138- // CHECK-NEXT: clad::restore_tracker _tracker0 = {};
1139- // CHECK-NEXT: clad::ValueAndAdjoint<MyStruct &, MyStruct &> _t0 = objRef_reverse_forw(a, _d_a, _tracker0);
1140- // CHECK-NEXT: {
1141- // CHECK-NEXT: _tracker0.restore();
1142- // CHECK-NEXT: _t0.adjoint.b += 1;
1143- // CHECK-NEXT: }
1134+ // CHECK-NEXT: clad::ValueAndAdjoint<MyStruct &, MyStruct &> _t0 = objRef_reverse_forw(a, _d_a);
1135+ // CHECK-NEXT: _t0.adjoint.b += 1;
11441136// CHECK-NEXT: {
11451137// CHECK-NEXT: *_d_x += _d_a.a;
11461138// CHECK-NEXT: *_d_y += _d_a.b;
@@ -1248,7 +1240,7 @@ struct structToConvert {
12481240 return data ;
12491241 }
12501242
1251- // CHECK: clad::ValueAndAdjoint<otherStruct, otherStruct> conversion_operator_reverse_forw(clad::Tag<otherStruct>, structToConvert *_d_this, clad::restore_tracker &_tracker0 ) {
1243+ // CHECK: clad::ValueAndAdjoint<otherStruct, otherStruct> conversion_operator_reverse_forw(clad::Tag<otherStruct>, structToConvert *_d_this) {
12521244 // CHECK-NEXT: return {{[{][{]}}2 * this->data, &this->data}, {0., &_d_this->data{{[}][}]}};
12531245 // CHECK-NEXT:}
12541246
@@ -1260,7 +1252,7 @@ struct structToConvert {
12601252 return {2 * data , & data };
12611253 }
12621254
1263- // CHECK: clad::ValueAndAdjoint<double &, double &> conversion_operator_reverse_forw(clad::Tag<double &>, structToConvert *_d_this, clad::restore_tracker &_tracker0 ) {
1255+ // CHECK: clad::ValueAndAdjoint<double &, double &> conversion_operator_reverse_forw(clad::Tag<double &>, structToConvert *_d_this) {
12641256 // CHECK-NEXT: return {this->data, _d_this->data};
12651257 // CHECK-NEXT:}
12661258
@@ -1280,21 +1272,15 @@ double fn34(double x, double y) {
12801272// CHECK-NEXT: structToConvert obj_x{x};
12811273// CHECK-NEXT: structToConvert _d_obj_y = {0.};
12821274// CHECK-NEXT: structToConvert obj_y{y};
1283- // CHECK-NEXT: clad::restore_tracker _tracker0 = {};
1284- // CHECK-NEXT: clad::ValueAndAdjoint<otherStruct, otherStruct> _t0 = obj_y.conversion_operator_reverse_forw(clad::Tag<otherStruct>(), &_d_obj_y, _tracker0);
1275+ // CHECK-NEXT: clad::ValueAndAdjoint<otherStruct, otherStruct> _t0 = obj_y.conversion_operator_reverse_forw(clad::Tag<otherStruct>(), &_d_obj_y);
12851276// CHECK-NEXT: otherStruct _d_conv = (otherStruct)_t0.adjoint;
12861277// CHECK-NEXT: otherStruct conv = (otherStruct)_t0.value;
1287- // CHECK-NEXT: clad::restore_tracker _tracker1 = {};
1288- // CHECK-NEXT: clad::ValueAndAdjoint<double &, double &> _t1 = obj_x.conversion_operator_reverse_forw(clad::Tag<double &>(), &_d_obj_x, _tracker1);
1278+ // CHECK-NEXT: clad::ValueAndAdjoint<double &, double &> _t1 = obj_x.conversion_operator_reverse_forw(clad::Tag<double &>(), &_d_obj_x);
12891279// CHECK-NEXT: {
12901280// CHECK-NEXT: _t1.adjoint += 1;
1291- // CHECK-NEXT: _tracker1.restore();
12921281// CHECK-NEXT: _d_conv.val += 1;
12931282// CHECK-NEXT: }
1294- // CHECK-NEXT: {
1295- // CHECK-NEXT: _tracker0.restore();
1296- // CHECK-NEXT: obj_y.conversion_operator_pullback(_d_conv, &_d_obj_y);
1297- // CHECK-NEXT: }
1283+ // CHECK-NEXT: obj_y.conversion_operator_pullback(_d_conv, &_d_obj_y);
12981284// CHECK-NEXT: *_d_y += _d_obj_y.data;
12991285// CHECK-NEXT: *_d_x += _d_obj_x.data;
13001286// CHECK-NEXT:}
0 commit comments