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

Function assubr

numpy/f2py/func2subr.py:296–329  ·  view source on GitHub ↗
(rout)

Source from the content-addressed store, hash-verified

294
295
296def assubr(rout):
297 if isfunction_wrap(rout):
298 fortranname = getfortranname(rout)
299 name = rout['name']
300 outmess('\t\tCreating wrapper for Fortran function '
301 f'"{name}"("{fortranname}")...\n')
302 rout = copy.copy(rout)
303 fname = name
304 rname = fname
305 if 'result' in rout:
306 rname = rout['result']
307 rout['vars'][fname] = rout['vars'][rname]
308 fvar = rout['vars'][fname]
309 if not isintent_out(fvar):
310 if 'intent' not in fvar:
311 fvar['intent'] = []
312 fvar['intent'].append('out')
313 flag = 1
314 for i in fvar['intent']:
315 if i.startswith('out='):
316 flag = 0
317 break
318 if flag:
319 fvar['intent'].append(f'out={rname}')
320 rout['args'][:] = [fname] + rout['args']
321 return rout, createfuncwrapper(rout)
322 if issubroutine_wrap(rout):
323 fortranname = getfortranname(rout)
324 name = rout['name']
325 outmess('\t\tCreating wrapper for Fortran subroutine '
326 f'"{name}"("{fortranname}")...\n')
327 rout = copy.copy(rout)
328 return rout, createsubrwrapper(rout)
329 return rout, ''

Callers

nothing calls this directly

Calls 9

isfunction_wrapFunction · 0.85
getfortrannameFunction · 0.85
isintent_outFunction · 0.85
createfuncwrapperFunction · 0.85
issubroutine_wrapFunction · 0.85
createsubrwrapperFunction · 0.85
startswithMethod · 0.80
outmessFunction · 0.70
copyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…