# Path: autograd/core.py
# def make_vjp(fun, x):
#     start_node = VJPNode.new_root()
#     end_value, end_node =  trace(start_node, fun, x)
#     if end_node is None:
#         def vjp(g): return vspace(x).zeros()
#     else:
#         def vjp(g): return backward_pass(g, end_node)
#     return vjp, end_value


import warnings
from autograd.core import make_vjp
from autograd.wrap_util import unary_to_nary
"""This file doesn't import the numpy wrapper, to check if core works
   on basic operations even without numpy."""
from __future__ import absolute_import

@unary_to_nary
def grad(fun, x):

# Path: autograd/core.py
# def make_vjp(fun, x):
#     start_node = VJPNode.new_root()
#     end_value, end_node =  trace(start_node, fun, x)
#     if end_node is None:
#         def vjp(g): return vspace(x).zeros()
#     else:
#         def vjp(g): return backward_pass(g, end_node)
#     return vjp, end_value


# Path: tests/test_core.py
import warnings
from autograd.core import make_vjp
from autograd.wrap_util import unary_to_nary

"""This file doesn't import the numpy wrapper, to check if core works
   on basic operations even without numpy."""
from __future__ import absolute_import

@unary_to_nary
def grad(fun, x):

    vjp, _ = make_vjp(fun, x)