def test_add_const_float32(self): gras.jit_factory(ADD_CONST_F32_SOURCE, ["-O3", "-I"+gras_inc, "-I"+pmc_inc]) op = gras.make("/tests/my_add_const_f32") offset = 42. op.set_value(offset) #set offset for test self.assertAlmostEqual(op.get_value(), offset) vec = numpy.array(numpy.random.randint(-150, +150, 10000), numpy.float32) src = TestUtils.VectorSource(numpy.float32, vec) dst = TestUtils.VectorSink(numpy.float32) self.tb.connect(src, op, dst) self.tb.run() expected_result = list(vec + offset) actual_result = list(dst.data()) self.assertEqual(expected_result, actual_result)
def test_add_float32(self): gras.jit_factory(ADD_F32_SOURCE, ["-O3", "-I"+gras_inc, "-I"+pmc_inc]) op = gras.make("/tests/my_add_f32") vec0 = numpy.array(numpy.random.randint(-150, +150, 10000), numpy.float32) vec1 = numpy.array(numpy.random.randint(-150, +150, 10000), numpy.float32) src0 = TestUtils.VectorSource(numpy.float32, vec0) src1 = TestUtils.VectorSource(numpy.float32, vec1) dst = TestUtils.VectorSink(numpy.float32) self.tb.connect(src0, (op, 0)) self.tb.connect(src1, (op, 1)) self.tb.connect(op, dst) self.tb.run() expected_result = list(vec0 + vec1) actual_result = list(dst.data()) self.assertEqual(expected_result, actual_result)
def test_jit_compile_special(self): SOURCE = """ #include <gras/block.hpp> #include <gras/factory.hpp> #include <iostream> struct FooBar : gras::Block { FooBar(void): gras::Block("FooBar") { } void work(const InputItems &ins, const OutputItems &outs) { gras::SBufferConfig c0; gras::SBuffer b0 = gras::SBuffer(c0); gras::SBuffer i0 = this->get_input_buffer(0); } }; GRAS_REGISTER_FACTORY0("/tests/my_foo_bar", FooBar) """ gras.jit_factory(SOURCE, ["-O3", "-I"+gras_inc, "-I"+pmc_inc])