diff options
| author | Yong He <yonghe@outlook.com> | 2022-10-24 22:19:38 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-24 22:19:38 -0700 |
| commit | 41cb7c13e37ec32ffb6557d21da079d77151e136 (patch) | |
| tree | 38d2c44938e2679c42c5c0e73f5411e59015df93 /tests/autodiff/getter-setter-multi.slang | |
| parent | 1093218d6f0e114eb9fa52d60ca525bf9dd9f98a (diff) | |
Rework differentiation of member access through `[DerivativeMember(DiffType.field)]` (#2460)
* wip: remove auto-diff for member access, add diff through property accessors.
* Fix getter-setter test.
* Fix getter-setter-multi test.
* Fix nested-jvp test.
* Use [DerivativeMember] attribute to differentiate through member access.
* Clean up.
* More cleanup.
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/autodiff/getter-setter-multi.slang')
| -rw-r--r-- | tests/autodiff/getter-setter-multi.slang | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/tests/autodiff/getter-setter-multi.slang b/tests/autodiff/getter-setter-multi.slang index 61cb96a07..c19a3f6bb 100644 --- a/tests/autodiff/getter-setter-multi.slang +++ b/tests/autodiff/getter-setter-multi.slang @@ -13,23 +13,13 @@ struct B struct A : IDifferentiable { typedef B Differential; - + + [DerivativeMember(B.z)] float3 x; + [DerivativeMember(B.k)] float y[10]; [__unsafeForceInlineEarly] - static Ptr<float3.Differential> __getDifferentialFor_x(inout Differential b) - { - return &(b.z); - } - - [__unsafeForceInlineEarly] - static Ptr<float.Differential[10]> __getDifferentialFor_y(inout Differential b) - { - return &(b.k); - } - - [__unsafeForceInlineEarly] static Differential zero() { B b = {0.0}; |
