private static void LoadPairScalarVector64NonTemporal_Single() { var test = new LoadPairScalarVector64NonTemporal_Single(); if (test.IsSupported) { // Validates basic functionality works test.RunBasicScenario(); // Validates calling via reflection works test.RunReflectionScenario(); // Validates loading to a static member works test.RunClsVarScenario(); // Validates loading to the field of a local class works test.RunClassLclFldScenario(); // Validates loading to the field of a local struct works test.RunStructLclFldScenario(); // Validates loading to an instance member of a struct works test.RunStructFldScenario(); } else { // Validates we throw on unsupported hardware test.RunUnsupportedScenario(); } if (!test.Succeeded) { throw new Exception("One or more scenarios did not complete as expected."); } }
public void RunStructFldScenario(LoadPairScalarVector64NonTemporal_Single testClass) { _fld = AdvSimd.Arm64.LoadPairScalarVector64NonTemporal((Single *)(testClass._dataTable.inArrayPtr)); Unsafe.Write(testClass._dataTable.outArrayPtr, _fld); testClass.ValidateResult(testClass._dataTable.inArrayPtr, testClass._dataTable.outArrayPtr); }