Mercurial > pub > dyncall > bindings
view python/pydc/examples/atoi.py @ 46:c21d1c2c84e1
- removed pydc.py wrapper overhead (which only called pydcext.so functions, directly, anyways)
* implies renaming pydcext.* to pydc.*
* while at it, iterate directly over args that are passed in (before we did extract fptr, sig and a tuple for the args and iterated over latter afterwards); we might have a tiny perf improvement now
- added type stub as package_data
author | Tassilo Philipp |
---|---|
date | Fri, 13 Nov 2020 14:10:31 +0100 |
parents | edbbd467f50a |
children | a2125195b052 |
line wrap: on
line source
from pydc import * import sys import platform if sys.platform == "win32": libc = load("msvcrt") elif sys.platform == "darwin": libc = load("/usr/lib/libc.dylib") elif "bsd" in sys.platform: #libc = load("/usr/lib/libc.so") libc = load("/lib/libc.so.7") elif platform.architecture()[0] == "64bit": libc = load("/lib64/libc.so.6") else: libc = load("/lib/libc.so.6") fp_atoi = find(libc,"atoi") fp_atof = find(libc,"atof") def atoi(s): return call(fp_atoi,"Z)i",s) def atod(s): return call(fp_atof,"Z)d",s) print(atoi("3".join(["12","45"]))) print(atod("3".join(["12","45"])))