From 0936dc353e45a64dce81f9b60317acfee3cafda8 Mon Sep 17 00:00:00 2001 From: Andika Wasisto Date: Tue, 18 Aug 2020 19:29:29 +0700 Subject: [PATCH] Support 32-bit Linux --- libqwqng-wrapper-x86-64.so | Bin 0 -> 17560 bytes libqwqng-wrapper.so | Bin 17560 -> 7904 bytes quanttp/data/qng_wrapper_linux.py | 3 ++- 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 libqwqng-wrapper-x86-64.so diff --git a/libqwqng-wrapper-x86-64.so b/libqwqng-wrapper-x86-64.so new file mode 100644 index 0000000000000000000000000000000000000000..d1c01cf2b8465364ef2edde0ed425c2aabdcfce6 GIT binary patch literal 17560 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 literal 0 HcmV?d00001 diff --git a/libqwqng-wrapper.so b/libqwqng-wrapper.so index d1c01cf2b8465364ef2edde0ed425c2aabdcfce6..9fe8fd84380a50978dcf3a820db2e151c7ad9557 100644 GIT binary patch literal 7904 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 CuTZN1 literal 17560 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 diff --git a/quanttp/data/qng_wrapper_linux.py b/quanttp/data/qng_wrapper_linux.py index 4333974..84be756 100644 --- a/quanttp/data/qng_wrapper_linux.py +++ b/quanttp/data/qng_wrapper_linux.py @@ -18,13 +18,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +import platform from ctypes import cdll, c_void_p, c_int, c_double, POINTER, c_char class QngWrapperLinux: def __init__(self): - self.libqwqng_wrapper = cdll.LoadLibrary('./libqwqng-wrapper.so') + self.libqwqng_wrapper = cdll.LoadLibrary('./libqwqng-wrapper-x86-64.so' if platform.machine().endswith('64') else './libqwqng-wrapper.so') self.libqwqng_wrapper.GetQwqngInstance.restype = c_void_p self.libqwqng_wrapper.RandInt32.argtypes = [c_void_p] self.libqwqng_wrapper.RandInt32.restype = c_int