コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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])