From eef7e208bf7436a4f111a9290f37204e3220d82b Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 12 Mar 2024 15:10:06 -0700 Subject: Fix derivative implementation of `clamp`. (#3750) --- source/slang/diff.meta.slang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/slang') diff --git a/source/slang/diff.meta.slang b/source/slang/diff.meta.slang index 8a46f7d60..5817ac7cf 100644 --- a/source/slang/diff.meta.slang +++ b/source/slang/diff.meta.slang @@ -1548,7 +1548,7 @@ DifferentialPair __d_clamp(DifferentialPair dpx, DifferentialPair dpMin { return DifferentialPair( clamp(dpx.p, dpMin.p, dpMax.p), - dpx.p < dpMin.p ? (dpx.p > dpMax.p ? dpMax.d : dpx.d) : dpMin.d); + dpx.p < dpMin.p ? dpMin.d : (dpx.p > dpMax.p ? dpMax.d : dpx.d)); } __generic [BackwardDifferentiable] @@ -1558,7 +1558,7 @@ void __d_clamp(inout DifferentialPair dpx, inout DifferentialPair dpMin, i { dpx = diffPair(dpx.p, dpx.p > dpMin.p && dpx.p < dpMax.p ? dOut : T.dzero()); dpMin = diffPair(dpMin.p, dpx.p <= dpMin.p ? dOut : T.dzero()); - dpMax = diffPair(dpMin.p, dpx.p >= dpMax.p ? dOut : T.dzero()); + dpMax = diffPair(dpMax.p, dpx.p >= dpMax.p ? dOut : T.dzero()); } VECTOR_MATRIX_TERNARY_DIFF_IMPL(clamp) -- cgit v1.2.3