# Path: native_tags/decorators.py
# def tag(bucket, doc):
#     def wrapped(inner, **options):


import operator
from native_tags.decorators import comparison, function
ne = comparison(ne, doc=operator.ne.__doc__)
    
def ge(a, b):
    return operator.ge(a, b)
ge = comparison(ge, doc=operator.ge.__doc__)
    
def gt(a, b):
    return operator.gt(a, b)
gt = comparison(gt, doc=operator.gt.__doc__)

def not_(a):
    return operator.not_(a)
not_ = comparison(not_, name='not', doc=operator.not_.__doc__)

def is_(a):
    return operator.is_(a)
is_ = comparison(is_, name='is', doc=operator.is_.__doc__)

def is_not(a):
    return operator.is_not(a)
is_not = comparison(is_not, doc=operator.is_not.__doc__)

# Mathematical and bitwise operators

def abs(a):
    return operator.abs(a)
abs = function(comparison(abs), doc=operator.abs.__doc__)

def add(a, b):
    return operator.add(a, b)

# Path: native_tags/decorators.py
# def tag(bucket, doc):
#     def wrapped(inner, **options):


# Path: native_tags/contrib/op.py
import operator
from native_tags.decorators import comparison, function

ne = comparison(ne, doc=operator.ne.__doc__)
    
def ge(a, b):
    return operator.ge(a, b)
ge = comparison(ge, doc=operator.ge.__doc__)
    
def gt(a, b):
    return operator.gt(a, b)
gt = comparison(gt, doc=operator.gt.__doc__)

def not_(a):
    return operator.not_(a)
not_ = comparison(not_, name='not', doc=operator.not_.__doc__)

def is_(a):
    return operator.is_(a)
is_ = comparison(is_, name='is', doc=operator.is_.__doc__)

def is_not(a):
    return operator.is_not(a)
is_not = comparison(is_not, doc=operator.is_not.__doc__)

# Mathematical and bitwise operators

def abs(a):
    return operator.abs(a)
abs = function(comparison(abs), doc=operator.abs.__doc__)

def add(a, b):
    return operator.add(a, b)

add = function(add, doc=operator.add.__doc__)