summaryrefslogtreecommitdiff
path: root/benchmark/tb_grextras_math.py
blob: 4f8d2ad77dd542b8253db1a4bb2e22d7e9fbdd08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
try:
    import gras
    import grextras
except ImportError: pass
import gnuradio
from gnuradio import gr
from gnuradio import blocks as grblocks
import sys

if __name__ == '__main__':

    duration = float(sys.argv[1])
    what = sys.argv[2]

    tb = gr.top_block()
    src0 = gr.null_source(8)
    src1 = gr.null_source(8)
    sink = gr.null_sink(8)

    if what == 'extras_add': math_op = grextras.Add.fc32_fc32()
    if what == 'blocks_add': math_op = grblocks.add_cc()
    if what == 'extras_mult': math_op = grextras.Multiply.fc32_fc32()
    if what == 'blocks_mult': math_op = grblocks.multiply_cc()

    tb.connect(src0, (math_op, 0))
    tb.connect(src1, (math_op, 1))
    tb.connect(math_op, sink)

    import time
    tb.start()
    time.sleep(duration)
    print '##RESULT##', sink.nitems_read(0)/duration
    import sys; sys.stdout.flush()
    tb.stop()
    tb.wait()