public void RunStructFldScenario(SimpleTernaryOpTest__MultiplyDoublingWideningLowerAndSubtractSaturate_Vector64_Int32 testClass) { var result = AdvSimd.MultiplyDoublingWideningLowerAndSubtractSaturate(_fld1, _fld2, _fld3); Unsafe.Write(testClass._dataTable.outArrayPtr, result); testClass.ValidateResult(_fld1, _fld2, _fld3, testClass._dataTable.outArrayPtr); }
public void RunStructFldScenario_Load(SimpleTernaryOpTest__MultiplyDoublingWideningLowerAndSubtractSaturate_Vector64_Int32 testClass) { fixed (Vector128<Int64>* pFld1 = &_fld1) fixed (Vector64<Int32>* pFld2 = &_fld2) fixed (Vector64<Int32>* pFld3 = &_fld3) { var result = AdvSimd.MultiplyDoublingWideningLowerAndSubtractSaturate( AdvSimd.LoadVector128((Int64*)(pFld1)), AdvSimd.LoadVector64((Int32*)(pFld2)), AdvSimd.LoadVector64((Int32*)(pFld3)) ); Unsafe.Write(testClass._dataTable.outArrayPtr, result); testClass.ValidateResult(_fld1, _fld2, _fld3, testClass._dataTable.outArrayPtr); } }