public void Exp() { // arrange const int NumElements = 4; var targetData = new double[NumElements]; var srcData = new[] { -1.0, 0.0, 1.0, 10.0 }; var target = new DataAndLayout <double>(targetData, new FastAccess(new Layout(new int[] { NumElements }, 0, new int[] { 1 }))); var src = new DataAndLayout <double>(srcData, new FastAccess(new Layout(new int[] { NumElements }, 0, new int[] { 1 }))); // action ScalarOps.Exp(target, src); // assert const double Epsilon = 1e-8; Assert.IsTrue(Math.Abs(targetData[0] - 0.36787944117144233) < Epsilon); Assert.IsTrue(Math.Abs(targetData[1] - 1.0) < Epsilon); Assert.IsTrue(Math.Abs(targetData[2] - 2.718281828459045) < Epsilon); Assert.IsTrue(Math.Abs(targetData[3] - 22026.465794806718) < Epsilon); }