Extend interface with masking operations.

Issue #35 new
edanor repo owner created an issue

As for other interfaces, masks should also implement MFI functions with masking operand. An example where it causes problems comes from VecGeom:

VECGEOM_FORCE_INLINE void MaskedAssign(UmesimdBool_v const &cond, UmesimdBool_v const &thenval, UmesimdBool_v const output) { //output->assign(cond, thenval); UmesimdBool_v out_v; out_v.assign(output); UmesimdBool_v t0 = cond.land(thenval); UmesimdBool_v t1 = (!cond).land(out_v); UmesimdBool_v t2 = t0 || t1; output->assign(t2); }

here the overloaded 'MaskedAssign' operation tries to perform blending between two masks.

If usage model comes from the users it should be provided automatically.

Comments (0)

  1. Log in to comment