예제 #1
0
            public void RunStructFldScenario(SimpleBinaryOpTest__AddHighNarrowLower_Vector64_UInt16 testClass)
            {
                var result = AdvSimd.AddHighNarrowLower(_fld1, _fld2);

                Unsafe.Write(testClass._dataTable.outArrayPtr, result);
                testClass.ValidateResult(_fld1, _fld2, testClass._dataTable.outArrayPtr);
            }
예제 #2
0
            public void RunStructFldScenario_Load(SimpleBinaryOpTest__AddHighNarrowLower_Vector64_UInt16 testClass)
            {
                fixed(Vector128 <UInt32> *pFld1 = &_fld1)
                fixed(Vector128 <UInt32> *pFld2 = &_fld2)
                {
                    var result = AdvSimd.AddHighNarrowLower(
                        AdvSimd.LoadVector128((UInt32 *)(pFld1)),
                        AdvSimd.LoadVector128((UInt32 *)(pFld2))
                        );

                    Unsafe.Write(testClass._dataTable.outArrayPtr, result);
                    testClass.ValidateResult(_fld1, _fld2, testClass._dataTable.outArrayPtr);
                }
            }