On Sun, Dec 15, 2013 at 08:02:53AM -0800, Faisal Anees wrote:
>    In sympy/ntheory/tests/test_ntheory.py:
> 
>  > @@ -727,3 +729,17 @@ def test_search():
>  >      assert 1 not in sieve
>  >      assert 2**1000 not in sieve
>  >      raises(ValueError, lambda: sieve.search(1))
>  > +
>  > +
>  > +def test_egyptian_fraction():
>  > +    def add(x, y):
>  > +        return x + y
>  > +    assert Fraction(18, 77) == reduce(add, [Rational(1, i) for i in egyptian(Rational(18, 77), "Greedy")])
> 
>    [1]@skirpichev [2]@smichr I am now able to provide random fractions to the
>    functions for testing. A problem I am facing is that, random gives me
>    large numerators & denominators, and the greedy algorithm(which i have
>    also kept as the default one) works fine with large numbers , but
>    Takenouchi gives MemoryError and Graham Jewett takes a lot of time(due to
>    the nature of the algorithm, but it doesnt give an error) .. So what do
>    you think I should do now ?

Perhaps, you should restrict the size of nums/dens in a some way.

>    A reason why I have kept multiple algorithms
>    is that each algorithm gives different results

What do you mean?  Are you about different complexity
characteristics (running time, memory, etc)?  Then, that's
fine.  If the results are literally different - it's a bug.