diff options
Diffstat (limited to 'vendor/github.com/byzantine-lab/mcl/ffi/python/pairing.py')
-rw-r--r-- | vendor/github.com/byzantine-lab/mcl/ffi/python/pairing.py | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/vendor/github.com/byzantine-lab/mcl/ffi/python/pairing.py b/vendor/github.com/byzantine-lab/mcl/ffi/python/pairing.py deleted file mode 100644 index 88b729176..000000000 --- a/vendor/github.com/byzantine-lab/mcl/ffi/python/pairing.py +++ /dev/null @@ -1,80 +0,0 @@ -from ctypes import * -from ctypes.wintypes import LPWSTR, LPCSTR, LPVOID - -g_lib = None - -def BN256_init(): - global g_lib - g_lib = cdll.LoadLibrary("../../bin/bn256.dll") - ret = g_lib.BN256_init() - if ret: - print "ERR BN256_init" - -class Fr(Structure): - _fields_ = [("v", c_ulonglong * 4)] - def setInt(self, v): - g_lib.BN256_Fr_setInt(self.v, v) - def setStr(self, s): - ret = g_lib.BN256_Fr_setStr(self.v, c_char_p(s)) - if ret: - print("ERR Fr:setStr") - def __str__(self): - svLen = 1024 - sv = create_string_buffer('\0' * svLen) - ret = g_lib.BN256_Fr_getStr(sv, svLen, self.v) - if ret: - print("ERR Fr:getStr") - return sv.value - def isZero(self, rhs): - return g_lib.BN256_Fr_isZero(self.v) != 0 - def isOne(self, rhs): - return g_lib.BN256_Fr_isOne(self.v) != 0 - def __eq__(self, rhs): - return g_lib.BN256_Fr_isEqual(self.v, rhs.v) != 0 - def __ne__(self, rhs): - return not(P == Q) - def __add__(self, rhs): - ret = Fr() - g_lib.BN256_Fr_add(ret.v, self.v, rhs.v) - return ret - def __sub__(self, rhs): - ret = Fr() - g_lib.BN256_Fr_sub(ret.v, self.v, rhs.v) - return ret - def __mul__(self, rhs): - ret = Fr() - g_lib.BN256_Fr_mul(ret.v, self.v, rhs.v) - return ret - def __div__(self, rhs): - ret = Fr() - g_lib.BN256_Fr_div(ret.v, self.v, rhs.v) - return ret - def __neg__(self): - ret = Fr() - g_lib.BN256_Fr_neg(ret.v, self.v) - return ret - -def Fr_add(z, x, y): - g_lib.BN256_Fr_add(z.v, x.v, y.v) - -def Fr_sub(z, x, y): - g_lib.BN256_Fr_sub(z.v, x.v, y.v) - -def Fr_mul(z, x, y): - g_lib.BN256_Fr_mul(z.v, x.v, y.v) - -def Fr_div(z, x, y): - g_lib.BN256_Fr_div(z.v, x.v, y.v) - -BN256_init() - -P = Fr() -Q = Fr() -print P == Q -print P != Q -P.setInt(5) -Q.setStr("34982034824") -print Q -R = Fr() -Fr_add(R, P, Q) -print R |