prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  standard_gamma
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `ivy/functional/frontends/numpy/random/functions.py`
  Content:
  ```
  1 # local
  2 import ivy
  3 from ivy.functional.frontends.numpy.func_wrapper import (
  4     to_ivy_arrays_and_back,
  5     from_zero_dim_arrays_to_scalar,
  6 )
  7 
  8 
  9 @to_ivy_arrays_and_back
  10 @from_zero_dim_arrays_to_scalar
  11 def random_sample(size=None):
  12     return ivy.random_uniform(low=0.0, high=1.0, shape=size, dtype="float64")
  13 
  14 
  15 @to_ivy_arrays_and_back
  16 @from_zero_dim_arrays_to_scalar
  17 def dirichlet(alpha, size=None):
  18     return ivy.dirichlet(alpha, size=size)
  19 
  20 
  21 @to_ivy_arrays_and_back
  22 @from_zero_dim_arrays_to_scalar
  23 def uniform(low=0.0, high=1.0, size=None):
  24     return ivy.random_uniform(low=low, high=high, shape=size, dtype="float64")
  25 
  26 
  27 @to_ivy_arrays_and_back
  28 @from_zero_dim_arrays_to_scalar
  29 def geometric(p, size=None):
  30     if p < 0 or p > 1:
  31         raise ValueError("p must be in the interval [0, 1]")
  32     oneMinusP = ivy.subtract(1, p)
  33     sizeMinusOne = ivy.subtract(size, 1)
  34 
  35     return ivy.multiply(ivy.pow(oneMinusP, sizeMinusOne), p)
  36 
  37 
  38 @to_ivy_arrays_and_back
  39 @from_zero_dim_arrays_to_scalar
  40 def normal(loc=0.0, scale=1.0, size=None):
  41     return ivy.random_normal(mean=loc, std=scale, shape=size, dtype="float64")
  42 
  43 
  44 @to_ivy_arrays_and_back
  45 @from_zero_dim_arrays_to_scalar
  46 def poisson(lam=1.0, size=None):
  47     return ivy.poisson(lam=lam, shape=size)
  48 
  49 
  50 @to_ivy_arrays_and_back
  51 @from_zero_dim_arrays_to_scalar
  52 def multinomial(n, pvals, size=None):
  53     assert not ivy.exists(size) or (len(size) > 0 and len(size) < 3)
  54     batch_size = 1
  55     if ivy.exists(size):
  56         if len(size) == 2:
  57             batch_size = size[0]
  58             num_samples = size[1]
  59         else:
  60             num_samples = size[0]
  61     else:
  62         num_samples = len(pvals)
  63     return ivy.multinomial(n, num_samples, batch_size=batch_size, probs=pvals)
  64 
  65 
  66 @to_ivy_arrays_and_back
  67 @from_zero_dim_arrays_to_scalar
  68 def permutation(x, /):
  69     if isinstance(x, int):
  70         x = ivy.arange(x)
  71     return ivy.shuffle(x)
  72 
  73 
  74 @to_ivy_arrays_and_back
  75 @from_zero_dim_arrays_to_scalar
  76 def beta(a, b, size=None):
  77     return ivy.beta(a, b, shape=size)
  78 
  79 
  80 @to_ivy_arrays_and_back
  81 @from_zero_dim_arrays_to_scalar
  82 def shuffle(x, /):
  83     if isinstance(x, int):
  84         x = ivy.arange(x)
  85     return ivy.shuffle(x)
  86 
  87 
  88 @to_ivy_arrays_and_back
  89 @from_zero_dim_arrays_to_scalar
  90 def standard_normal(size=None):
  91     return ivy.random_normal(mean=0.0, std=1.0, shape=size, dtype="float64")
  92
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/ivy/functional/frontends/numpy/random/functions.py b/ivy/functional/frontends/numpy/random/functions.py
  --- a/ivy/functional/frontends/numpy/random/functions.py
  +++ b/ivy/functional/frontends/numpy/random/functions.py
  @@ -89,3 +89,9 @@
   @from_zero_dim_arrays_to_scalar
   def standard_normal(size=None):
       return ivy.random_normal(mean=0.0, std=1.0, shape=size, dtype="float64")
  +
  +
  +@to_ivy_arrays_and_back
  +@from_zero_dim_arrays_to_scalar
  +def standard_gamma(alpha):
  +    return ivy.gamma(alpha, beta=1.0, dtype="float64")
  
verification_info: {"golden_diff": "diff --git a/ivy/functional/frontends/numpy/random/functions.py b/ivy/functional/frontends/numpy/random/functions.py\n--- a/ivy/functional/frontends/numpy/random/functions.py\n+++ b/ivy/functional/frontends/numpy/random/functions.py\n@@ -89,3 +89,9 @@\n @from_zero_dim_arrays_to_scalar\n def standard_normal(size=None):\n     return ivy.random_normal(mean=0.0, std=1.0, shape=size, dtype=\"float64\")\n+\n+\n+@to_ivy_arrays_and_back\n+@from_zero_dim_arrays_to_scalar\n+def standard_gamma(alpha):\n+    return ivy.gamma(alpha, beta=1.0, dtype=\"float64\")\n", "issue": "standard_gamma\n\n", "before_files": [{"content": "# local\nimport ivy\nfrom ivy.functional.frontends.numpy.func_wrapper import (\n    to_ivy_arrays_and_back,\n    from_zero_dim_arrays_to_scalar,\n)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef random_sample(size=None):\n    return ivy.random_uniform(low=0.0, high=1.0, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef dirichlet(alpha, size=None):\n    return ivy.dirichlet(alpha, size=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef uniform(low=0.0, high=1.0, size=None):\n    return ivy.random_uniform(low=low, high=high, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef geometric(p, size=None):\n    if p < 0 or p > 1:\n        raise ValueError(\"p must be in the interval [0, 1]\")\n    oneMinusP = ivy.subtract(1, p)\n    sizeMinusOne = ivy.subtract(size, 1)\n\n    return ivy.multiply(ivy.pow(oneMinusP, sizeMinusOne), p)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef normal(loc=0.0, scale=1.0, size=None):\n    return ivy.random_normal(mean=loc, std=scale, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef poisson(lam=1.0, size=None):\n    return ivy.poisson(lam=lam, shape=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef multinomial(n, pvals, size=None):\n    assert not ivy.exists(size) or (len(size) > 0 and len(size) < 3)\n    batch_size = 1\n    if ivy.exists(size):\n        if len(size) == 2:\n            batch_size = size[0]\n            num_samples = size[1]\n        else:\n            num_samples = size[0]\n    else:\n        num_samples = len(pvals)\n    return ivy.multinomial(n, num_samples, batch_size=batch_size, probs=pvals)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef permutation(x, /):\n    if isinstance(x, int):\n        x = ivy.arange(x)\n    return ivy.shuffle(x)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef beta(a, b, size=None):\n    return ivy.beta(a, b, shape=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef shuffle(x, /):\n    if isinstance(x, int):\n        x = ivy.arange(x)\n    return ivy.shuffle(x)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef standard_normal(size=None):\n    return ivy.random_normal(mean=0.0, std=1.0, shape=size, dtype=\"float64\")\n", "path": "ivy/functional/frontends/numpy/random/functions.py"}], "after_files": [{"content": "# local\nimport ivy\nfrom ivy.functional.frontends.numpy.func_wrapper import (\n    to_ivy_arrays_and_back,\n    from_zero_dim_arrays_to_scalar,\n)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef random_sample(size=None):\n    return ivy.random_uniform(low=0.0, high=1.0, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef dirichlet(alpha, size=None):\n    return ivy.dirichlet(alpha, size=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef uniform(low=0.0, high=1.0, size=None):\n    return ivy.random_uniform(low=low, high=high, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef geometric(p, size=None):\n    if p < 0 or p > 1:\n        raise ValueError(\"p must be in the interval [0, 1]\")\n    oneMinusP = ivy.subtract(1, p)\n    sizeMinusOne = ivy.subtract(size, 1)\n\n    return ivy.multiply(ivy.pow(oneMinusP, sizeMinusOne), p)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef normal(loc=0.0, scale=1.0, size=None):\n    return ivy.random_normal(mean=loc, std=scale, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef poisson(lam=1.0, size=None):\n    return ivy.poisson(lam=lam, shape=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef multinomial(n, pvals, size=None):\n    assert not ivy.exists(size) or (len(size) > 0 and len(size) < 3)\n    batch_size = 1\n    if ivy.exists(size):\n        if len(size) == 2:\n            batch_size = size[0]\n            num_samples = size[1]\n        else:\n            num_samples = size[0]\n    else:\n        num_samples = len(pvals)\n    return ivy.multinomial(n, num_samples, batch_size=batch_size, probs=pvals)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef permutation(x, /):\n    if isinstance(x, int):\n        x = ivy.arange(x)\n    return ivy.shuffle(x)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef beta(a, b, size=None):\n    return ivy.beta(a, b, shape=size)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef shuffle(x, /):\n    if isinstance(x, int):\n        x = ivy.arange(x)\n    return ivy.shuffle(x)\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef standard_normal(size=None):\n    return ivy.random_normal(mean=0.0, std=1.0, shape=size, dtype=\"float64\")\n\n\n@to_ivy_arrays_and_back\n@from_zero_dim_arrays_to_scalar\ndef standard_gamma(alpha):\n    return ivy.gamma(alpha, beta=1.0, dtype=\"float64\")\n", "path": "ivy/functional/frontends/numpy/random/functions.py"}]}