{"action":"opened","issue":{"url":"https://api.github.com/repos/sympy/sympy/issues/10388","labels_url":"https://api.github.com/repos/sympy/sympy/issues/10388/labels{/name}","comments_url":"https://api.github.com/repos/sympy/sympy/issues/10388/comments","events_url":"https://api.github.com/repos/sympy/sympy/issues/10388/events","html_url":"https://github.com/sympy/sympy/issues/10388","id":126597326,"number":10388,"title":"`factorial2` runs into `RunTimeError` for non-integer","user":{"login":"gxyd","id":7712241,"avatar_url":"https://avatars.githubusercontent.com/u/7712241?v=3","gravatar_id":"","url":"https://api.github.com/users/gxyd","html_url":"https://github.com/gxyd","followers_url":"https://api.github.com/users/gxyd/followers","following_url":"https://api.github.com/users/gxyd/following{/other_user}","gists_url":"https://api.github.com/users/gxyd/gists{/gist_id}","starred_url":"https://api.github.com/users/gxyd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gxyd/subscriptions","organizations_url":"https://api.github.com/users/gxyd/orgs","repos_url":"https://api.github.com/users/gxyd/repos","events_url":"https://api.github.com/users/gxyd/events{/privacy}","received_events_url":"https://api.github.com/users/gxyd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-14T07:23:32Z","updated_at":"2016-01-14T07:23:32Z","closed_at":null,"body":"```\r\n>>> from sympy import factorial2, S\r\n>>> factorial2(S(5)/2)\r\nFile \"/home/gxyd/Public/sympy/sympy/core/function.py\", line 200, in __new__\r\n    evaluated = cls.eval(*args)\r\n  File \"/home/gxyd/Public/sympy/sympy/functions/combinatorial/factorials.py\", line 348, in eval\r\n    return arg * (S.NegativeOne) ** ((1 - arg) / 2) / factorial2(-arg)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/cache.py\", line 93, in wrapper\r\n    retval = cfunc(*args, **kwargs)\r\n  File \"/usr/lib/python3.4/functools.py\", line 472, in wrapper\r\n    result = user_function(*args, **kwds)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/function.py\", line 376, in __new__\r\n    result = super(Function, cls).__new__(cls, *args, **options)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/cache.py\", line 93, in wrapper\r\n    retval = cfunc(*args, **kwargs)\r\n  File \"/usr/lib/python3.4/functools.py\", line 472, in wrapper\r\n    result = user_function(*args, **kwds)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/function.py\", line 200, in __new__\r\n    evaluated = cls.eval(*args)\r\n  File \"/home/gxyd/Public/sympy/sympy/functions/combinatorial/factorials.py\", line 343, in eval\r\n    return factorial(arg) / factorial2(arg - 1)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/cache.py\", line 93, in wrapper\r\n    retval = cfunc(*args, **kwargs)\r\n  File \"/usr/lib/python3.4/functools.py\", line 472, in wrapper\r\n    result = user_function(*args, **kwds)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/function.py\", line 376, in __new__\r\n    result = super(Function, cls).__new__(cls, *args, **options)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/cache.py\", line 93, in wrapper\r\n    retval = cfunc(*args, **kwargs)\r\n  File \"/usr/lib/python3.4/functools.py\", line 472, in wrapper\r\n    result = user_function(*args, **kwds)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/function.py\", line 200, in __new__\r\n    evaluated = cls.eval(*args)\r\n  File \"/home/gxyd/Public/sympy/sympy/functions/combinatorial/factorials.py\", line 348, in eval\r\n    return arg * (S.NegativeOne) ** ((1 - arg) / 2) / factorial2(-arg)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/decorators.py\", line 76, in __sympifyit_wrapper\r\n    b = sympify(b, strict=True)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/sympify.py\", line 253, in sympify\r\n    return converter[cls](a)\r\n  File \"/home/gxyd/Public/sympy/sympy/core/numbers.py\", line 1666, in __new__\r\n    if isinstance(i, string_types):\r\nRuntimeError: maximum recursion depth exceeded while calling a Python object\r\n```"}}