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

Function assubr

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

Source from the content-addressed store, hash-verified

288
289
290def assubr(rout):
291 if isfunction_wrap(rout):
292 fortranname = getfortranname(rout)
293 name = rout['name']
294 outmess('\t\tCreating wrapper for Fortran function "%s"("%s")...\n' % (
295 name, fortranname))
296 rout = copy.copy(rout)
297 fname = name
298 rname = fname
299 if 'result' in rout:
300 rname = rout['result']
301 rout['vars'][fname] = rout['vars'][rname]
302 fvar = rout['vars'][fname]
303 if not isintent_out(fvar):
304 if 'intent' not in fvar:
305 fvar['intent'] = []
306 fvar['intent'].append('out')
307 flag = 1
308 for i in fvar['intent']:
309 if i.startswith('out='):
310 flag = 0
311 break
312 if flag:
313 fvar['intent'].append('out=%s' % (rname))
314 rout['args'][:] = [fname] + rout['args']
315 return rout, createfuncwrapper(rout)
316 if issubroutine_wrap(rout):
317 fortranname = getfortranname(rout)
318 name = rout['name']
319 outmess('\t\tCreating wrapper for Fortran subroutine "%s"("%s")...\n'
320 % (name, fortranname))
321 rout = copy.copy(rout)
322 return rout, createsubrwrapper(rout)
323 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