prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Non-conditional density estimators are initialized with context_features=None, should support 0 as well
  the CDEs have a default input context_features which defaults to None. When this is a positive integer, we get a CDE, for a DE we need to set it to None. It should support a value of zero, though.
  
  </issue>
  <code>
  [start of setup.py]
  1 from setuptools import find_packages, setup
  2 
  3 exec(open("lfi/version.py").read())
  4 
  5 setup(
  6     name="lfi",
  7     version=__version__,
  8     description="LFI + CDE.",
  9     url="https://github.com/mackelab/lfi",
  10     author="Conor Durkan",
  11     packages=find_packages(exclude=["tests"]),
  12     license="GPLv3",
  13     test_requires=["pytest", "deepdiff", "torchtestcase"],
  14     install_requires=[
  15         "matplotlib",
  16         "numpy",
  17         "pyro-ppl",
  18         "scipy",
  19         "tensorboard",
  20         "torch",
  21         "tqdm",
  22     ],
  23     extras_requires={"dev": ["autoflake", "black", "flake8", "isort", "pytest"]},
  24     dependency_links=[],
  25 )
  26
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -1,12 +1,12 @@
   from setuptools import find_packages, setup
   
  -exec(open("lfi/version.py").read())
  +exec(open("sbi/version.py").read())
   
   setup(
  -    name="lfi",
  +    name="sbi",
       version=__version__,
  -    description="LFI + CDE.",
  -    url="https://github.com/mackelab/lfi",
  +    description="Simulation-based inference",
  +    url="https://github.com/mackelab/sbi",
       author="Conor Durkan",
       packages=find_packages(exclude=["tests"]),
       license="GPLv3",
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -1,12 +1,12 @@\n from setuptools import find_packages, setup\n \n-exec(open(\"lfi/version.py\").read())\n+exec(open(\"sbi/version.py\").read())\n \n setup(\n-    name=\"lfi\",\n+    name=\"sbi\",\n     version=__version__,\n-    description=\"LFI + CDE.\",\n-    url=\"https://github.com/mackelab/lfi\",\n+    description=\"Simulation-based inference\",\n+    url=\"https://github.com/mackelab/sbi\",\n     author=\"Conor Durkan\",\n     packages=find_packages(exclude=[\"tests\"]),\n     license=\"GPLv3\",\n", "issue": "Non-conditional density estimators are initialized with context_features=None, should support 0 as well\nthe CDEs have a default input context_features which defaults to None. When this is a positive integer, we get a CDE, for a DE we need to set it to None. It should support a value of zero, though.\n", "before_files": [{"content": "from setuptools import find_packages, setup\n\nexec(open(\"lfi/version.py\").read())\n\nsetup(\n    name=\"lfi\",\n    version=__version__,\n    description=\"LFI + CDE.\",\n    url=\"https://github.com/mackelab/lfi\",\n    author=\"Conor Durkan\",\n    packages=find_packages(exclude=[\"tests\"]),\n    license=\"GPLv3\",\n    test_requires=[\"pytest\", \"deepdiff\", \"torchtestcase\"],\n    install_requires=[\n        \"matplotlib\",\n        \"numpy\",\n        \"pyro-ppl\",\n        \"scipy\",\n        \"tensorboard\",\n        \"torch\",\n        \"tqdm\",\n    ],\n    extras_requires={\"dev\": [\"autoflake\", \"black\", \"flake8\", \"isort\", \"pytest\"]},\n    dependency_links=[],\n)\n", "path": "setup.py"}]}