From 30b5335fed9524101d980618b0749dcaf546c319 Mon Sep 17 00:00:00 2001 From: winmad Date: Fri, 2 Dec 2022 01:01:58 -0800 Subject: Add helper functions to update DifferentialPair (#2547) --- source/slang/diff.meta.slang | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source') diff --git a/source/slang/diff.meta.slang b/source/slang/diff.meta.slang index 033c173ab..a97ab9eaf 100644 --- a/source/slang/diff.meta.slang +++ b/source/slang/diff.meta.slang @@ -92,6 +92,24 @@ struct DifferentialPair : IDifferentiable } }; +[ForceInline] +void updatePrimal(inout DifferentialPair p, T newPrimal) +{ + p = DifferentialPair(newPrimal, p.d); +} + +[ForceInline] +void updateDiff(inout DifferentialPair p, T.Differential newDiff) +{ + p = DifferentialPair(p.p, newDiff); +} + +[ForceInline] +void updatePair(inout DifferentialPair p, T newPrimal, T.Differential newDiff) +{ + p = DifferentialPair(newPrimal, newDiff); +} + #define VECTOR_MAP_D_UNARY(TYPE, COUNT, D_FUNC, VALUE) \ vector result; \ -- cgit v1.2.3