public void Abs(IFrontend <T> trgt, IFrontend <T> src) { var(dataLayoutTrgt, dataLayout) = ElemwiseDataAndLayout(trgt, src); if (VectorOps.CanUse(dataLayoutTrgt, dataLayout)) { VectorOps.Abs(dataLayoutTrgt, dataLayout); } else { ScalarOps.Abs(dataLayoutTrgt, dataLayout); } }