On Wed, Dec 2, 2009 at 4:12 PM, Ondrej Certik <ond...@certik.cz> wrote:
> On Wed, Dec 2, 2009 at 3:27 PM, Mateusz Paprocki <matt...@gmail.com> wrote:
>> Hi,
>>
>> On Wed, Dec 02, 2009 at 12:00:20AM +0100, Vinzent Steinberg wrote:
>>> Well, 0.7 would be a great opportunity to break the API compability
>>> (removing old assumptions, new polys, simplified expand etc.), so I
>>> thought we could make a 0.6 release before, because there are already
>>> enough changes accumulated. What do you think?
>>>
>>
>> I perfectly agree to postpone new polys to 0.7 release.
>>
>> Today I merged my cython branch from github with polys and rebased all
>> on top of master. Results are available on polys2 branch at github:
>>
>>  http://github.com/mattpap/sympy-polys/commits/polys2
>>
>> Rebase revealed several nasty bugs which I fixed. I also added some
>> tests, but still quite a few are missing. Here are coverage results:
>>
>> sympy/polys/algebratools.py  71%
>> sympy/polys/densearith.py    95%
>> sympy/polys/densebasic.py    99%
>> sympy/polys/densetools.py    91%
>> sympy/polys/factortools.py   97%
>> sympy/polys/galoistools.py   100%
>> sympy/polys/groebnertools.py 68%
>> sympy/polys/monomialtools.py 62%
>> sympy/polys/polyclasses.py   67%
>> sympy/polys/polyerrors.py    89%
>> sympy/polys/polyroots.py     76%
>> sympy/polys/polytools.py     38%
>> sympy/polys/polyutils.py     89%
>> sympy/polys/specialpolys.py  100%
>>
>> It's not that bad, but could be better, especially in polytools.py
>> case. For the weekend I plan to write documentation for new polys,
>> so there will be another occasion to write some more tests.
>
> Great job, thanks for this. The tests are very important.
>
> After this is done, we also have to improve the documentation a bit,
> e.g. with galoistools.py I only get 11%:
>
> $ bin/coverage_doctest.py sympy/polys/galoistools.py
> ----------------------------------------------------------------------
> sympy/polys/galoistools.py
>
> Missing doctests:
>         * sort_factors_no_mult(factors)
>         * sort_factors_if_mult(factors)
>         * gf_crt1(M, K)
>         * gf_crt2(U, M, p, E, S, K)
>         * gf_int(a, p)
>         * gf_degree(f)
>         * gf_LC(f, K)
>         * gf_TC(f, K)
>         * gf_strip(f)
>         * gf_reduce(f, p)
>         * gf_normal(f, p, K)
>         * gf_convert(f, p, K0, K1)
>         * gf_from_dict(f, p, K)
>         * gf_to_dict(f, p)
>         * gf_from_int_poly(f, p)
>         * gf_to_int_poly(f, p)
>         * gf_neg(f, p, K)
>         * gf_add_ground(f, a, p, K)
>         * gf_sub_ground(f, a, p, K)
>         * gf_mul_ground(f, a, p, K)
>         * gf_exquo_ground(f, a, p, K)
>         * gf_add(f, g, p, K)
>         * gf_sub(f, g, p, K)
>         * gf_mul(f, g, p, K)
>         * gf_sqr(f, p, K)
>         * gf_add_mul(f, g, h, p, K)
>         * gf_sub_mul(f, g, h, p, K)
>         * gf_expand(F, p, K)
>         * gf_rem(f, g, p, K)
>         * gf_quo(f, g, p, K)
>         * gf_exquo(f, g, p, K)
>         * gf_lshift(f, n, K)
>         * gf_rshift(f, n, K)
>         * gf_pow(f, n, p, K)
>         * gf_pow_mod(f, n, g, p, K)
>         * gf_gcd(f, g, p, K)
>         * gf_monic(f, p, K)
>         * gf_diff(f, p, K)
>         * gf_eval(f, a, p, K)
>         * gf_multi_eval(f, A, p, K)
>         * gf_compose(f, g, p, K)
>         * gf_compose_mod(g, h, f, p, K)
>         * gf_trace_map(a, b, c, n, f, p, K)
>         * gf_random(n, p, K)
>         * gf_irreducible(n, p, K)
>         * gf_sqf_p(f, p, K)
>         * gf_sqf_part(f, p, K)
>         * gf_Qmatrix(f, p, K)
>         * gf_Qbasis(Q, p, K)
>         * gf_berlekamp(f, p, K)
>         * gf_ddf_shoup(f, p, K)
>         * gf_edf_shoup(f, n, p, K)
>         * gf_zassenhaus(f, p, K)
>         * gf_shoup(f, p, K)
>         * gf_factor_sqf(f, p, K, **args)
>
> SCORE sympy/polys/galoistools.py: 11% (7 of 62)
> ----------------------------------------------------------------------
>
>
> So if I find time, I'll try to contribute some docs to it, I'll just
> use sympy/polys/tests/test_galoistools.py to guide me. Galoistools is
> a low level tool though, so I'll concentrate on something highlevel,
> that users will encounter more often, like sympy/polys/polyroots.py.

...where I get only 18%:

$ bin/coverage_doctest.py sympy/polys/polyroots.py
----------------------------------------------------------------------
sympy/polys/polyroots.py

Missing documentation:
         * sign_changes(seq)
         * poly(self)
         * index(self)
         * atoms(self, *args, **kwargs)
         * poly(self)
         * count(self)
         * atoms(self, *args, **kwargs)
         * function(self)
         * roots(self)
         * doit(self, **hints)


Missing doctests:
         * roots_linear(f)
         * roots_quadratic(f)
         * roots_cubic(f)
         * roots_binomial(f)
         * roots_rational(f)
         * roots(self)
         * exact_roots(self)
         * formal_roots(self)

SCORE sympy/polys/polyroots.py: 18% (4 of 22)
----------------------------------------------------------------------


O.

--

You received this message because you are subscribed to the Google Groups 
"sympy-patches" group.
To post to this group, send email to sympy-patc...@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-patches+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy-patches?hl=en.


Reply via email to