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

Function getpydocsign

numpy/f2py/capi_maps.py:343–412  ·  view source on GitHub ↗
(a, var)

Source from the content-addressed store, hash-verified

341
342
343def getpydocsign(a, var):
344 global lcb_map
345 if isfunction(var):
346 if 'result' in var:
347 af = var['result']
348 else:
349 af = var['name']
350 if af in var['vars']:
351 return getpydocsign(af, var['vars'][af])
352 else:
353 errmess(f'getctype: function {af} has no return value?!\n')
354 return '', ''
355 sig, sigout = a, a
356 opt = ''
357 if isintent_in(var):
358 opt = 'input'
359 elif isintent_inout(var):
360 opt = 'in/output'
361 out_a = a
362 if isintent_out(var):
363 for k in var['intent']:
364 if k[:4] == 'out=':
365 out_a = k[4:]
366 break
367 init = ''
368 ctype = getctype(var)
369
370 if hasinitvalue(var):
371 init, showinit = getinit(a, var)
372 init = f', optional\\n Default: {showinit}'
373 if isscalar(var):
374 if isintent_inout(var):
375 sig = (f"{a} : {opt} rank-0 array({c2py_map[ctype]},"
376 f"'{c2pycode_map[ctype]}'){init}")
377 else:
378 sig = f'{a} : {opt} {c2py_map[ctype]}{init}'
379 sigout = f'{out_a} : {c2py_map[ctype]}'
380 elif isstring(var):
381 if isintent_inout(var):
382 sig = (f"{a} : {opt} rank-0 array(string(len={getstrlength(var)}),"
383 f"'c'){init}")
384 else:
385 sig = f'{a} : {opt} string(len={getstrlength(var)}){init}'
386 sigout = f'{out_a} : string(len={getstrlength(var)})'
387 elif isarray(var):
388 dim = var['dimension']
389 rank = repr(len(dim))
390 dim_str = ','.join(dim)
391 sig = (f"{a} : {opt} rank-{rank} array('{c2pycode_map[ctype]}') with "
392 f"bounds ({dim_str}){init}")
393 if a == out_a:
394 sigout = (f"{a} : rank-{rank} array('{c2pycode_map[ctype]}') with "
395 f"bounds ({dim_str})")
396 else:
397 sigout = (f"{out_a} : rank-{rank} array('{c2pycode_map[ctype]}') with "
398 f"bounds ({dim_str}) and {a} storage")
399 elif isexternal(var):
400 ua = ''

Callers 5

sign2mapFunction · 0.85
routsign2mapFunction · 0.85
cb_sign2mapFunction · 0.85
cb_routsign2mapFunction · 0.85
common_sign2mapFunction · 0.85

Calls 14

errmessFunction · 0.85
isintent_inFunction · 0.85
isintent_inoutFunction · 0.85
isintent_outFunction · 0.85
getctypeFunction · 0.85
hasinitvalueFunction · 0.85
getinitFunction · 0.85
isstringFunction · 0.85
getstrlengthFunction · 0.85
isarrayFunction · 0.85
isexternalFunction · 0.85
joinMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…