You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementation of mulsign_neg was changed recently in 8d7346e - for floating point types it now calls detail::andnot_ which deeper down in the call stack ends up calling drjit-core's jitc_var_not. This method starts with jitc_var_check<IsIntOrBool>("jit_var_not", a0); check which fails on type mismatch (float vs IsIntOrBool) resulting in exception being raised in debug builds (type checks are in !defined(NDEBUG) block).
Either jitc_var_not can in addition to int and bool types also handle floating point types and therefore the type check should be adjusted (e.g., something like IsArithmeticOrBool?) or it can not and then higher level functions like mulsign_neg should not use it when handling floating point types. I have not observed any practical issues on release (with type checks skipped) yet, but if mulsign_neg implementation would have to be adjusted, then additionally also copysign_neg (changed in the same commit) exhibits the same problem.
The text was updated successfully, but these errors were encountered:
Implementation of
mulsign_neg
was changed recently in 8d7346e - for floating point types it now callsdetail::andnot_
which deeper down in the call stack ends up calling drjit-core's jitc_var_not. This method starts withjitc_var_check<IsIntOrBool>("jit_var_not", a0);
check which fails on type mismatch (float vs IsIntOrBool) resulting in exception being raised in debug builds (type checks are in!defined(NDEBUG)
block).Either
jitc_var_not
can in addition to int and bool types also handle floating point types and therefore the type check should be adjusted (e.g., something like IsArithmeticOrBool?) or it can not and then higher level functions likemulsign_neg
should not use it when handling floating point types. I have not observed any practical issues on release (with type checks skipped) yet, but ifmulsign_neg
implementation would have to be adjusted, then additionally alsocopysign_neg
(changed in the same commit) exhibits the same problem.The text was updated successfully, but these errors were encountered: