MCPcopy Index your code
hub / github.com/numpy/numpy / buildusevars

Function buildusevars

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

dictappendFunction · 0.85
buildusevarFunction · 0.85
outmessFunction · 0.70
keysMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…