diff --git a/Compiler/types.py b/Compiler/types.py index a1c2e61c..c54b05c1 100644 --- a/Compiler/types.py +++ b/Compiler/types.py @@ -456,6 +456,9 @@ class cint(_clear, _int): def __neg__(self): return 0 - self + def __abs__(self): + return (self >= 0).if_else(self, -self) + @vectorize def __invert__(self): res = cint() @@ -1041,6 +1044,10 @@ class sint(_secret, _int): def __neg__(self): return 0 - self + @vectorize + def __abs__(self): + return (self >= 0).if_else(self, -self) + @read_mem_value @vectorize def __lt__(self, other, bit_length=None, security=None): @@ -1956,6 +1963,7 @@ class sfloat(_number): s: sign bit """ __slots__ = ['v', 'p', 'z', 's', 'size'] + # single precision vlen = 24 plen = 8