MCPcopy Create free account
hub / github.com/numpy/numpy / buildusevars

Function buildusevars

numpy/f2py/use_rules.py:45–78  ·  view source on GitHub ↗
(m, r)

Source from the content-addressed store, hash-verified

43
44
45def buildusevars(m, r):
46 ret = {}
47 outmess(
48 '\t\tBuilding use variable hooks for module "%s" (feature only for F90/F95)...\n' % (m['name']))
49 varsmap = {}
50 revmap = {}
51 if 'map' in r:
52 for k in r['map'].keys():
53 if r['map'][k] in revmap:
54 outmess('\t\t\tVariable "%s<=%s" is already mapped by "%s". Skipping.\n' % (
55 r['map'][k], k, revmap[r['map'][k]]))
56 else:
57 revmap[r['map'][k]] = k
58 if 'only' in r and r['only']:
59 for v in r['map'].keys():
60 if r['map'][v] in m['vars']:
61
62 if revmap[r['map'][v]] == v:
63 varsmap[v] = r['map'][v]
64 else:
65 outmess('\t\t\tIgnoring map "%s=>%s". See above.\n' %
66 (v, r['map'][v]))
67 else:
68 outmess(
69 '\t\t\tNo definition for variable "%s=>%s". Skipping.\n' % (v, r['map'][v]))
70 else:
71 for v in m['vars'].keys():
72 if v in revmap:
73 varsmap[v] = revmap[v]
74 else:
75 varsmap[v] = v
76 for v in varsmap.keys():
77 ret = dictappend(ret, buildusevar(v, varsmap[v], m['vars'], m['name']))
78 return ret
79
80
81def buildusevar(name, realname, vars, usemodulename):

Callers

nothing calls this directly

Calls 4

dictappendFunction · 0.85
buildusevarFunction · 0.85
keysMethod · 0.80
outmessFunction · 0.70

Tested by

no test coverage detected