1#
2# Copyright 2004 Free Software Foundation, Inc.
3#
4# This file is part of GNU Radio
5#
6# GNU Radio is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3, or (at your option)
9# any later version.
10#
11# GNU Radio is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with GNU Radio; see the file COPYING.  If not, write to
18# the Free Software Foundation, Inc., 51 Franklin Street,
19# Boston, MA 02110-1301, USA.
20#
21
22def i_code (code3):
23    return code3[0]
24
25def o_code (code3):
26    if len (code3) >= 2:
27        return code3[1]
28    else:
29        return code3[0]
30
31def tap_code (code3):
32    if len (code3) >= 3:
33        return code3[2]
34    else:
35        return code3[0]
36
37def i_type (code3):
38    return char_to_type[i_code (code3)]
39
40def o_type (code3):
41    return char_to_type[o_code (code3)]
42
43def tap_type (code3):
44    return char_to_type[tap_code (code3)]
45
46
47char_to_type = {}
48char_to_type['s'] = 'short'
49char_to_type['i'] = 'int'
50char_to_type['f'] = 'float'
51char_to_type['c'] = 'gr_complex'
52char_to_type['b'] = 'unsigned char'
53