public void ViennaHostProvider_AbsSumWithRollingArray() { var provider = new VclHostTensorMath(); var x = new double[20]; for (int i = 0; i < x.Length; i++) { x[i] = -i; } var results = new double[10]; for (int i = 0; i < results.Length; i++) { var y = new ArraySlice <double> (x, i, results.Length); results[i] = provider.Asum(x); } double cpu = 0; for (int i = 0; i < 10; i++) { cpu += Math.Abs(x[i]); } Assert.All(results, r => MathHelpers.Equality(r, cpu)); }
public void ViennaHostProvider_AbsSum() { var provider = new VclHostTensorMath(); var x = new ArraySlice <double>(10); for (int i = 0; i < x.Length; i++) { x[i] = -i; } var y = new ArraySlice <double>(10); double asum = provider.Asum(x); double cpu = 0; for (int i = 0; i < x.Length; i++) { cpu += Math.Abs(x[i]); } Assert.True(MathHelpers.Equality(cpu, asum)); }