# Path: pycket/test/testhelper.py
# def run_fix(p, v=None, stdlib=False, extra="", equal_huh=False):
#     new = pytest.config.new_pycket
#     if new:
#         return run_expr(p, v, equal_huh=equal_huh)
#     ov = run_mod_expr(p,stdlib=stdlib, extra=extra)
#     assert isinstance(ov, values.W_Fixnum)
#     if v is not None:
#         assert ov.value == v
#     return ov.value
# 
# def run(p, v=None, stdlib=False, extra="", expect_to_fail=False):
#     if pytest.config.new_pycket:
#         return run_expr_result(p, expect_to_fail=expect_to_fail, v=v)
#     return run_mod_expr(p,v=v,stdlib=stdlib, extra=extra)
# 
# def run_top(p, v=None, stdlib=False, extra=""):
#     return run_mod_expr(p,v=v,stdlib=stdlib, wrap=True, extra=extra)
# 
# def run_std(c, v):
#     return run_top(c, v, stdlib=True)
# 
# def run_flo(p, v=None, stdlib=False, extra=""):
#     ov = run_mod_expr(p,stdlib=stdlib, extra=extra)
#     assert isinstance(ov, values.W_Flonum)
#     if v is not None:
#         assert ov.value == v
#     return ov.value


import math
import pytest
    import math
    import random
from pycket.interpreter import *
from pycket.values import *
from pycket.prims import *
from pycket.test.testhelper import run_fix, run, run_top, run_std, run_flo
from pycket.error import SchemeException
    from rpython.rtyper.test.test_llinterp import interpret
    from rpython.rlib.rbigint import rbigint
    from pycket.arithmetic import gcd
    from rpython.rlib.rbigint import rbigint
    from pycket.arithmetic import gcd
    from rpython.rlib.rbigint import ONERBIGINT
    from pycket.arithmetic    import count_trailing_zeros
    > (= 5+5i 5+5.0i 5.0+5i 5.0+5.0i)
    #t
    > (= 2/3 2/3)
    #t
    > (= 5+5i 5+3i)
    #f
    > (= 2/3 2/7)
    #f
    > (< -1/2 -1/3 2/3 11/10)
    #t
    > (< -2/3 1)
    #t
    > (< 2/3 1/3)
    #f
    E (< 1)
    E (< )
    E (< #f #t)
    """

def test_neg_pos():
    run("(negative? -1)", w_true)
    run("(negative?  0)", w_false)
    run("(negative?  1)", w_false)
    run("(negative? -1.0)", w_true)
    run("(negative?  0.0)", w_false)
    run("(negative?  1.0)", w_false)
    run("(negative?  -10000000000000000000000000001000000000000000000000000000)", w_true)
    run("(negative?   10000000000000000000000000001000000000000000000000000000)", w_false)
    run("(negative? -1/2)", w_true)
    run("(negative? 1/2)", w_false)

# Path: pycket/test/testhelper.py
# def run_fix(p, v=None, stdlib=False, extra="", equal_huh=False):
#     new = pytest.config.new_pycket
#     if new:
#         return run_expr(p, v, equal_huh=equal_huh)
#     ov = run_mod_expr(p,stdlib=stdlib, extra=extra)
#     assert isinstance(ov, values.W_Fixnum)
#     if v is not None:
#         assert ov.value == v
#     return ov.value
# 
# def run(p, v=None, stdlib=False, extra="", expect_to_fail=False):
#     if pytest.config.new_pycket:
#         return run_expr_result(p, expect_to_fail=expect_to_fail, v=v)
#     return run_mod_expr(p,v=v,stdlib=stdlib, extra=extra)
# 
# def run_top(p, v=None, stdlib=False, extra=""):
#     return run_mod_expr(p,v=v,stdlib=stdlib, wrap=True, extra=extra)
# 
# def run_std(c, v):
#     return run_top(c, v, stdlib=True)
# 
# def run_flo(p, v=None, stdlib=False, extra=""):
#     ov = run_mod_expr(p,stdlib=stdlib, extra=extra)
#     assert isinstance(ov, values.W_Flonum)
#     if v is not None:
#         assert ov.value == v
#     return ov.value


# Path: pycket/test/test_arithmetic.py
import math
import pytest
    import math
    import random
from pycket.interpreter import *
from pycket.values import *
from pycket.prims import *
from pycket.test.testhelper import run_fix, run, run_top, run_std, run_flo
from pycket.error import SchemeException
    from rpython.rtyper.test.test_llinterp import interpret
    from rpython.rlib.rbigint import rbigint
    from pycket.arithmetic import gcd
    from rpython.rlib.rbigint import rbigint
    from pycket.arithmetic import gcd
    from rpython.rlib.rbigint import ONERBIGINT
    from pycket.arithmetic    import count_trailing_zeros

    > (= 5+5i 5+5.0i 5.0+5i 5.0+5.0i)
    #t
    > (= 2/3 2/3)
    #t
    > (= 5+5i 5+3i)
    #f
    > (= 2/3 2/7)
    #f
    > (< -1/2 -1/3 2/3 11/10)
    #t
    > (< -2/3 1)
    #t
    > (< 2/3 1/3)
    #f
    E (< 1)
    E (< )
    E (< #f #t)
    """

def test_neg_pos():
    run("(negative? -1)", w_true)
    run("(negative?  0)", w_false)
    run("(negative?  1)", w_false)
    run("(negative? -1.0)", w_true)
    run("(negative?  0.0)", w_false)
    run("(negative?  1.0)", w_false)
    run("(negative?  -10000000000000000000000000001000000000000000000000000000)", w_true)
    run("(negative?   10000000000000000000000000001000000000000000000000000000)", w_false)
    run("(negative? -1/2)", w_true)
    run("(negative? 1/2)", w_false)

    run("(positive? -1)", w_false)