예제 #1
0
        public void TestCustomInitialiserInitialise()
        {
            CustomInitialiser initialiser = new CustomInitialiser((i, s, r) => 5);

            ADNDArray <float> array = new ADNDArray <float>(2, 3);

            initialiser.Initialise(array, new CpuFloat32Handler(), new Random());

            foreach (var value in array.GetDataAs <float>())
            {
                Assert.AreEqual(5, value);
            }
        }
예제 #2
0
파일: TestNDArray.cs 프로젝트: hnjm/Sigma
        public void TestNdArrayCreate()
        {
            ADNDArray <int> intArray = new ADNDArray <int>(data: new[] { 1, 2, 3, 4, 5, 6, 7, 8 }, shape: new long[] { 2, 4 });

            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 6, 7, 8 }, intArray.GetDataAs <int>().GetValuesArrayAs <int>(0, 8));
            Assert.AreEqual(new long[] { 2, 4 }, intArray.Shape);
            Assert.AreEqual(new long[] { 4, 1 }, intArray.Strides);

            ADNDArray <float> floatArray = new ADNDArray <float>(new DataBuffer <float>(new[] { 1.1f, 2.2f, 3.3f, 4.4f }));

            Assert.AreEqual(new[] { 1.1f, 2.2f, 3.3f, 4.4f }, floatArray.GetDataAs <float>().GetValuesArray(0, 4));
            Assert.AreEqual(new long[] { 1, 4 }, floatArray.Shape);
            Assert.AreEqual(new long[] { 4, 1 }, floatArray.Strides);
        }