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.