On Thu, Mar 26, 2009 at 7:20 AM, kcrisman <kcris...@gmail.com> wrote: > > > > On Mar 26, 1:18 am, Minh Nguyen <nguyenmi...@gmail.com> wrote: >> Hi William, >> >> On Thu, Mar 26, 2009 at 5:13 AM, William Stein <wst...@gmail.com> wrote: >> >> > Hi, >> >> > At a minimum, Sage-4.0 will be the following: >> >> > 1. doctest coverage of the core Sage library at 75% >> >> I've been working on the doctest coverage of the crypto modules. See, >> for example, ticket #5529. I'd love to continue improving the doctest >> coverage of other files in sage/crypto. > > What is the current percent?
wst...@sage:~/build/sage-3.4/devel/sage/sage$ sage -coverage . Overall weighted coverage score: 65.3% Total number of functions: 22425 Here is the breakdown by file: algebras/free_algebra.py: 78% (11 of 14) algebras/steenrod_milnor_multiplication_odd.py: 100% (2 of 2) algebras/quaternion_algebra.py: 100% (25 of 25) algebras/algebra_order_frac_ideal.py: 0% (0 of 17) algebras/steenrod_milnor_multiplication.py: 100% (2 of 2) algebras/algebra_ideal.py: 0% (0 of 19) algebras/free_algebra_quotient_element.py: 0% (0 of 13) algebras/algebra_order_ideal.py: 0% (0 of 21) algebras/steenrod_algebra_bases.py: 88% (15 of 17) algebras/free_algebra_element.py: 80% (8 of 10) algebras/algebra_order.py: 0% (0 of 16) algebras/steenrod_algebra_element.py: 89% (43 of 48) algebras/group_algebra.py: 78% (15 of 19) algebras/algebra.py: 100% (1 of 1) algebras/algebra_order_ideal_element.py: 0% (0 of 1) algebras/quaternion_algebra_element.pyx: 100% (34 of 34) algebras/steenrod_algebra.py: 100% (27 of 27) algebras/all.py: 0% (0 of 1) algebras/algebra_element.py: 0% (0 of 1) algebras/algebra_order_element.py: 0% (0 of 13) algebras/algebra_ideal_element.py: 0% (0 of 1) algebras/free_algebra_quotient.py: 6% (1 of 16) all.py: 0% (0 of 3) all_cmdline.py: 0% (0 of 1) calculus/calculus.py: 51% (234 of 453) calculus/var.pyx: 100% (3 of 3) calculus/functional.py: 100% (8 of 8) calculus/functions.py: 100% (2 of 2) calculus/desolvers.py: 75% (6 of 8) calculus/all.py: 100% (1 of 1) calculus/equations.py: 100% (49 of 49) categories/category_types.py: 30% (31 of 102) categories/morphism.pyx: 0% (0 of 21) categories/functor.pyx: 17% (3 of 17) categories/action.pyx: 0% (0 of 31) categories/homset.py: 26% (6 of 23) categories/pushout.py: 12% (9 of 73) categories/category.py: 17% (3 of 17) categories/map.pyx: 11% (4 of 35) coding/decoder.py: 100% (3 of 3) coding/ag_code.py: 100% (1 of 1) coding/binary_code.pyx: 100% (41 of 41) coding/code_constructions.py: 96% (25 of 26) coding/guava.py: 100% (3 of 3) coding/sd_codes.py: 20% (1 of 5) coding/code_bounds.py: 94% (16 of 17) coding/linear_code.py: 73% (44 of 60) combinat/composition_signed.py: 100% (6 of 6) combinat/tools.py: 100% (1 of 1) combinat/split_nk.py: 100% (6 of 6) combinat/expnums.pyx: 100% (2 of 2) combinat/restricted_growth.py: 100% (3 of 3) combinat/misc.py: 100% (15 of 15) combinat/schubert_polynomial.py: 100% (9 of 9) combinat/dlx.py: 100% (10 of 10) combinat/symmetric_group_algebra.py: 100% (30 of 30) combinat/backtrack.py: 100% (2 of 2) combinat/matrices/latin.py: 100% (72 of 72) combinat/matrices/dancing_links.pyx: 100% (10 of 10) combinat/matrices/dlxcpp.py: 100% (3 of 3) combinat/subset.py: 100% (19 of 19) combinat/multichoose_nk.py: 100% (4 of 4) combinat/designs/incidence_structures.py: 100% (18 of 18) combinat/designs/block_design.py: 100% (6 of 6) combinat/designs/covering_design.py: 100% (16 of 16) combinat/cartesian_product.py: 100% (8 of 8) combinat/subword.py: 100% (14 of 14) combinat/finite_class.py: 100% (7 of 7) combinat/set_partition.py: 100% (20 of 20) combinat/q_analogues.py: 100% (4 of 4) combinat/combinat.py: 98% (89 of 90) combinat/set_partition_ordered.py: 100% (16 of 16) combinat/combinatorial_algebra.py: 92% (12 of 13) combinat/sf/orthotriang.py: 100% (5 of 5) combinat/sf/jack.py: 100% (24 of 24) combinat/sf/hall_littlewood.py: 100% (23 of 23) combinat/sf/multiplicative.py: 100% (1 of 1) combinat/sf/kfpoly.py: 100% (8 of 8) combinat/sf/ns_macdonald.py: 100% (42 of 42) combinat/sf/kschur.py: 100% (6 of 6) combinat/sf/monomial.py: 100% (4 of 4) combinat/sf/homogeneous.py: 100% (4 of 4) combinat/sf/macdonald.py: 100% (49 of 49) combinat/sf/powersum.py: 100% (6 of 6) combinat/sf/dual.py: 100% (18 of 18) combinat/sf/elementary.py: 100% (3 of 3) combinat/sf/llt.py: 100% (25 of 25) combinat/sf/sfa.py: 100% (48 of 48) combinat/sf/schur.py: 100% (7 of 7) combinat/sf/classical.py: 100% (6 of 6) combinat/species/species.py: 100% (29 of 29) combinat/species/stream.py: 100% (17 of 17) combinat/species/structure.py: 100% (20 of 20) combinat/species/recursive_species.py: 100% (15 of 15) combinat/species/series_order.py: 100% (12 of 12) combinat/species/sum_species.py: 100% (10 of 10) combinat/species/permutation_species.py: 100% (13 of 13) combinat/species/series.py: 96% (55 of 57) combinat/species/set_species.py: 100% (11 of 11) combinat/species/misc.py: 66% (2 of 3) combinat/species/linear_order_species.py: 100% (10 of 10) combinat/species/cycle_species.py: 100% (13 of 13) combinat/species/library.py: 100% (3 of 3) combinat/species/functorial_composition_species.py: 100% (8 of 8) combinat/species/subset_species.py: 100% (14 of 14) combinat/species/product_species.py: 100% (17 of 17) combinat/species/partition_species.py: 100% (14 of 14) combinat/species/composition_species.py: 100% (12 of 12) combinat/species/generating_series.py: 100% (32 of 32) combinat/species/characteristic_species.py: 100% (16 of 16) combinat/lyndon_word.py: 100% (17 of 17) combinat/choose_nk.py: 100% (10 of 10) combinat/integer_list.py: 100% (11 of 11) combinat/output.py: 100% (1 of 1) combinat/ribbon.py: 100% (22 of 22) combinat/integer_vector.py: 100% (30 of 30) combinat/tableau.py: 100% (117 of 117) combinat/integer_vector_weighted.py: 100% (6 of 6) combinat/skew_partition.py: 100% (39 of 39) combinat/partition.py: 100% (140 of 140) combinat/root_system/weight_lattice_realization.py: 100% (4 of 4) combinat/root_system/weyl_characters.py: 83% (45 of 54) combinat/root_system/type_reducible.py: 100% (22 of 22) combinat/root_system/weight_space.py: 100% (5 of 5) combinat/root_system/root_space.py: 100% (5 of 5) combinat/root_system/type_dual.py: 100% (11 of 11) combinat/root_system/weyl_group.py: 100% (23 of 23) combinat/root_system/root_system.py: 100% (21 of 21) combinat/root_system/cartan_type.py: 100% (41 of 41) combinat/root_system/dynkin_diagram.py: 100% (15 of 15) combinat/root_system/coxeter_matrix.py: 100% (2 of 2) combinat/root_system/type_A.py: 100% (10 of 10) combinat/root_system/type_B.py: 100% (8 of 8) combinat/root_system/type_C.py: 100% (8 of 8) combinat/root_system/type_G.py: 100% (7 of 7) combinat/root_system/root_lattice_realization.py: 100% (30 of 30) combinat/root_system/type_F.py: 100% (9 of 9) combinat/root_system/ambient_space.py: 100% (15 of 15) combinat/root_system/type_D.py: 100% (8 of 8) combinat/root_system/type_E.py: 100% (9 of 9) combinat/root_system/cartan_matrix.py: 100% (1 of 1) combinat/generator.py: 100% (5 of 5) combinat/tuple.py: 100% (10 of 10) combinat/ranker.py: 57% (4 of 7) combinat/ribbon_tableau.py: 100% (29 of 29) combinat/dyck_word.py: 100% (30 of 30) combinat/partition_algebra.py: 100% (82 of 82) combinat/graph_path.py: 100% (19 of 19) combinat/alternating_sign_matrix.py: 100% (19 of 19) combinat/free_module.py: 97% (45 of 46) combinat/permutation_nk.py: 100% (4 of 4) combinat/partitions.pyx: 50% (1 of 2) combinat/permutation.py: 100% (201 of 201) combinat/crystals/letters.py: 100% (27 of 27) combinat/crystals/tensor_product.py: 100% (27 of 27) combinat/crystals/spins.py: 100% (18 of 18) combinat/crystals/fast_crystals.py: 100% (15 of 15) combinat/crystals/crystals.py: 100% (27 of 27) combinat/skew_tableau.py: 100% (61 of 61) combinat/posets/poset_examples.py: 80% (12 of 15) combinat/posets/posets.py: 89% (52 of 58) combinat/posets/elements.py: 58% (7 of 12) combinat/posets/hasse_diagram.py: 50% (27 of 53) combinat/posets/lattices.py: 0% (0 of 13) combinat/composition.py: 100% (27 of 27) combinat/combination.py: 100% (20 of 20) combinat/family.py: 100% (23 of 23) combinat/sloane_functions.py: 100% (437 of 437) combinat/words/utils.py: 100% (14 of 14) combinat/words/word.py: 100% (137 of 137) combinat/words/word_generators.py: 100% (19 of 19) combinat/words/alphabet.py: 100% (28 of 28) combinat/words/morphism.py: 100% (32 of 32) combinat/words/suffix_trees.py: 100% (46 of 46) combinat/words/shuffle_product.py: 100% (14 of 14) combinat/words/word_content.py: 100% (23 of 23) combinat/words/words.py: 100% (34 of 34) combinat/necklace.py: 100% (13 of 13) crypto/cipher.py: 0% (0 of 9) crypto/lfsr.py: 100% (3 of 3) crypto/stream.py: 22% (2 of 9) crypto/cryptosystem.py: 0% (0 of 9) crypto/classical.py: 33% (11 of 33) crypto/classical_cipher.py: 28% (4 of 14) crypto/stream_cipher.py: 100% (8 of 8) crypto/mq/sr.py: 100% (64 of 64) crypto/mq/mpolynomialsystem.py: 100% (48 of 48) crypto/mq/sbox.py: 100% (22 of 22) crypto/mq/mpolynomialsystemgenerator.py: 0% (0 of 10) databases/sloane.py: 18% (2 of 11) databases/install.py: 0% (0 of 8) databases/lincodes.py: 0% (0 of 1) databases/bz2Pickle.py: 0% (0 of 4) databases/conv.py: 0% (0 of 8) databases/kohel.py: 0% (0 of 7) databases/db_class_polynomials.py: 11% (1 of 9) databases/database.py: 100% (47 of 47) databases/symbolic_data.py: 71% (5 of 7) databases/tables.py: 0% (0 of 6) databases/db_modular_polynomials.py: 9% (1 of 11) databases/compressed_storage.py: 0% (0 of 7) databases/db.py: 0% (0 of 21) databases/cremona.py: 42% (17 of 40) databases/gamma0wt2.py: 0% (0 of 7) databases/conway.py: 0% (0 of 7) databases/jones.py: 37% (3 of 8) databases/odlyzko.py: 100% (1 of 1) databases/stein_watkins.py: 0% (0 of 15) dsage/dsage.py: 0% (0 of 12) dsage/misc/constants.py: 0% (0 of 3) dsage/misc/misc.py: 0% (0 of 9) dsage/misc/hostinfo.py: 0% (0 of 5) dsage/misc/countrefs.py: 0% (0 of 4) dsage/misc/config.py: 0% (0 of 5) dsage/scripts/dsage_setup.py: 0% (0 of 6) dsage/scripts/dsage_worker.py: 0% (0 of 39) dsage/server/tests/test_server.py: 0% (0 of 15) dsage/server/benchmark_job.py: 0% (0 of 2) dsage/server/stats.py: 0% (0 of 5) dsage/server/server.py: 0% (0 of 25) dsage/database/worker.py: 0% (0 of 1) dsage/database/db_config.py: 0% (0 of 7) dsage/database/job.py: 0% (0 of 7) dsage/database/client.py: 0% (0 of 4) dsage/database/jobdb.py: 0% (0 of 41) dsage/database/tests/test_jobdb.py: 0% (0 of 12) dsage/database/tests/test_workerdb.py: 0% (0 of 6) dsage/database/tests/test_client.py: 0% (0 of 6) dsage/database/tests/test_job.py: 0% (0 of 10) dsage/database/tests/test_clientdb.py: 0% (0 of 6) dsage/database/sql_functions.py: 0% (0 of 7) dsage/database/workerdb.py: 0% (0 of 26) dsage/database/clientdb.py: 0% (0 of 22) dsage/errors/exceptions.py: 0% (0 of 7) dsage/dist_functions/dist_function.py: 0% (0 of 17) dsage/dist_functions/dist_povray.py: 0% (0 of 3) dsage/dist_functions/dist_factor.py: 0% (0 of 6) dsage/interface/dsage_interface.py: 5% (4 of 75) dsage/twisted/pb.py: 0% (0 of 50) dsage/twisted/tests/test_pubkeyauth.py: 0% (0 of 7) dsage/twisted/tests/test_remote.py: 0% (0 of 24) dsage/twisted/pubkeyauth.py: 0% (0 of 3) dsage/all.py: 0% (0 of 1) dsage/web/web_server.py: 0% (0 of 37) ext/sig.pyx: 0% (0 of 1) ext/fast_eval.pyx: 93% (43 of 46) ext/multi_modular.pyx: 0% (0 of 15) ext/interactive_constructors_c.pyx: 50% (5 of 10) finance/markov_multifractal.py: 100% (11 of 11) finance/markov_multifractal_cython.pyx: 100% (1 of 1) finance/time_series.pyx: 100% (60 of 60) finance/fractal.pyx: 100% (4 of 4) finance/stock.py: 100% (13 of 13) functions/orthogonal_polys.py: 91% (11 of 12) functions/transcendental.py: 62% (10 of 16) functions/special.py: 56% (18 of 32) functions/piecewise.py: 87% (42 of 48) functions/spike_function.py: 0% (0 of 9) functions/functions.py: 12% (15 of 122) functions/constants.py: 95% (119 of 125) games/sudoku.py: 33% (1 of 3) geometry/polyhedra.py: 100% (60 of 60) geometry/polytope.py: 27% (6 of 22) geometry/lattice_polytope.py: 100% (88 of 88) graphs/bipartite_graph.py: 100% (10 of 10) graphs/base/c_graph.pyx: 100% (15 of 15) graphs/base/sparse_graph.pyx: 100% (28 of 28) graphs/base/dense_graph.pyx: 100% (21 of 21) graphs/base/graph_backends.py: 100% (51 of 51) graphs/graph_bundle.py: 100% (5 of 5) graphs/planarity.pyx: 100% (1 of 1) graphs/print_graphs.py: 100% (5 of 5) graphs/graph_plot.py: 100% (8 of 8) graphs/schnyder.py: 100% (8 of 8) graphs/linearextensions.py: 100% (7 of 7) graphs/graph_database.py: 100% (14 of 14) graphs/graph_list.py: 100% (7 of 7) graphs/graph_generators.py: 100% (65 of 65) graphs/chrompoly.pyx: 100% (1 of 1) graphs/graph_coloring.py: 100% (5 of 5) graphs/graph_fast.pyx: 100% (8 of 8) graphs/graph.py: 100% (201 of 201) graphs/graph_isom.pyx: 100% (27 of 27) groups/group_homset.py: 0% (0 of 6) groups/class_function.py: 100% (22 of 22) groups/pari_group.py: 0% (0 of 7) groups/generic.py: 75% (9 of 12) groups/perm_gps/cubegroup.py: 35% (17 of 48) groups/perm_gps/permgroup_morphism.py: 15% (4 of 26) groups/perm_gps/permgroup_element.pyx: 66% (18 of 27) groups/perm_gps/permgroup.py: 100% (79 of 79) groups/perm_gps/partn_ref/refinement_binary.pyx: 100% (9 of 9) groups/perm_gps/partn_ref/refinement_matrices.pyx: 83% (5 of 6) groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx: 100% (1 of 1) groups/perm_gps/partn_ref/refinement_graphs.pyx: 100% (4 of 4) groups/perm_gps/permgroup_named.py: 100% (39 of 39) groups/group.pyx: 6% (1 of 15) groups/abelian_gps/dual_abelian_group.py: 78% (15 of 19) groups/abelian_gps/abelian_group.py: 68% (26 of 38) groups/abelian_gps/abelian_group_element.py: 69% (9 of 13) groups/abelian_gps/dual_abelian_group_element.py: 45% (5 of 11) groups/abelian_gps/abelian_group_morphism.py: 28% (4 of 14) groups/matrix_gps/general_linear.py: 100% (6 of 6) groups/matrix_gps/matrix_group_element.py: 84% (11 of 13) groups/matrix_gps/matrix_group.py: 79% (27 of 34) groups/matrix_gps/matrix_group_morphism.py: 55% (5 of 9) groups/matrix_gps/homset.py: 0% (0 of 3) groups/matrix_gps/unitary.py: 100% (9 of 9) groups/matrix_gps/symplectic.py: 80% (4 of 5) groups/matrix_gps/special_linear.py: 100% (6 of 6) groups/matrix_gps/orthogonal.py: 83% (10 of 12) gsl/dft.py: 80% (16 of 20) gsl/probability_distribution.pyx: 20% (4 of 20) gsl/ode.pyx: 0% (0 of 5) gsl/dwt.pyx: 16% (1 of 6) gsl/callback.pyx: 0% (0 of 1) gsl/interpolation.pyx: 0% (0 of 9) gsl/fft.pyx: 16% (2 of 12) gsl/gsl_array.pyx: 0% (0 of 6) gsl/integration.pyx: 100% (1 of 1) interfaces/maple.py: 97% (40 of 41) interfaces/singular.py: 94% (54 of 57) interfaces/template.py: 4% (1 of 23) interfaces/rubik.py: 17% (3 of 17) interfaces/scilab.py: 100% (18 of 18) interfaces/tachyon.py: 0% (0 of 4) interfaces/gfan.py: 0% (0 of 1) interfaces/r.py: 100% (79 of 79) interfaces/cleaner.py: 0% (0 of 2) interfaces/sage0.py: 100% (25 of 25) interfaces/lie.py: 100% (34 of 34) interfaces/octave.py: 100% (20 of 20) interfaces/tests.py: 0% (0 of 3) interfaces/phc.py: 100% (18 of 18) interfaces/gnuplot.py: 9% (1 of 11) interfaces/gp.py: 100% (37 of 37) interfaces/magma_free.py: 20% (1 of 5) interfaces/quit.py: 0% (0 of 3) interfaces/mathematica.py: 5% (2 of 37) interfaces/frobby.py: 85% (6 of 7) interfaces/qepcad.py: 100% (58 of 58) interfaces/matlab.py: 21% (4 of 19) interfaces/ecm.py: 46% (6 of 13) interfaces/mwrank.py: 20% (2 of 10) interfaces/povray.py: 0% (0 of 3) interfaces/get_sigs.py: 0% (0 of 3) interfaces/maxima.py: 92% (90 of 97) interfaces/four_ti_2.py: 3% (1 of 32) interfaces/genus2reduction.py: 7% (1 of 13) interfaces/lisp.py: 97% (35 of 36) interfaces/macaulay2.py: 100% (51 of 51) interfaces/magma_sim.py: 0% (0 of 1) interfaces/kash.py: 3% (1 of 30) interfaces/magma.py: 100% (76 of 76) interfaces/gap.py: 88% (45 of 51) interfaces/cocoa.py: 4% (1 of 23) interfaces/mupad.py: 100% (34 of 34) interfaces/expect.py: 23% (32 of 135) interfaces/reduce.py: 4% (1 of 23) interfaces/qsieve.py: 12% (2 of 16) interfaces/psage.py: 0% (0 of 13) interfaces/axiom.py: 100% (28 of 28) lfunctions/lcalc.py: 63% (7 of 11) lfunctions/sympow.py: 40% (4 of 10) lfunctions/dokchitser.py: 52% (9 of 17) libs/cremona/mat.pyx: 100% (8 of 8) libs/cremona/constructor.py: 100% (1 of 1) libs/cremona/homspace.pyx: 100% (8 of 8) libs/cremona/newforms.pyx: 100% (3 of 3) libs/pari/gen_py.py: 100% (2 of 2) libs/pari/gen.pyx: 55% (207 of 375) libs/mwrank/all.py: 100% (1 of 1) libs/mwrank/interface.py: 17% (5 of 28) libs/mwrank/mwrank.pyx: 3% (1 of 29) libs/linbox/linbox.pyx: 0% (0 of 10) libs/flint/fmpz_poly.pyx: 85% (17 of 20) libs/flint/flint.pyx: 0% (0 of 1) libs/fplll/fplll.pyx: 100% (14 of 14) libs/libecm.pyx: 0% (0 of 1) libs/ntl/ntl_ZZ_p.pyx: 100% (19 of 19) libs/ntl/ntl_lzz_pX.pyx: 100% (36 of 36) libs/ntl/ntl_ZZ_pEContext.pyx: 88% (8 of 9) libs/ntl/ntl_ZZ.pyx: 95% (21 of 22) libs/ntl/ntl_ZZ_pE.pyx: 46% (6 of 13) libs/ntl/ntl_ZZX.pyx: 100% (53 of 53) libs/ntl/ntl_ZZ_pX.pyx: 87% (51 of 58) libs/ntl/ntl_ZZ_pContext.pyx: 75% (6 of 8) libs/ntl/ntl_GF2X.pyx: 97% (36 of 37) libs/ntl/ntl_ZZ_pEX.pyx: 100% (45 of 45) libs/ntl/ntl_GF2EContext.pyx: 100% (6 of 6) libs/ntl/ntl_GF2EX.pyx: 90% (9 of 10) libs/ntl/ntl_mat_GF2.pyx: 100% (24 of 24) libs/ntl/ntl_lzz_pContext.pyx: 100% (5 of 5) libs/ntl/ntl_GF2.pyx: 100% (13 of 13) libs/ntl/ntl_lzz_p.pyx: 100% (16 of 16) libs/ntl/ntl_GF2E.pyx: 100% (19 of 19) libs/ntl/ntl_mat_ZZ.pyx: 88% (31 of 35) libs/ntl/ntl_mat_GF2E.pyx: 100% (25 of 25) logic/logic.py: 16% (3 of 18) matrix/matrix.pyx: 100% (1 of 1) matrix/matrix_misc.py: 0% (0 of 1) matrix/matrix_modn_dense.pyx: 55% (19 of 34) matrix/matrix_sparse.pyx: 69% (9 of 13) matrix/matrix_generic_dense.pyx: 100% (8 of 8) matrix/matrix_double_dense.pyx: 96% (26 of 27) matrix/matrix_integer_dense.pyx: 67% (54 of 80) matrix/matrix_generic_sparse.pyx: 16% (2 of 12) matrix/misc.pyx: 100% (5 of 5) matrix/matrix2.pyx: 92% (90 of 97) matrix/matrix_mod2_dense.pyx: 96% (30 of 31) matrix/strassen.pyx: 16% (2 of 12) matrix/change_ring.pyx: 100% (1 of 1) matrix/action.pyx: 66% (8 of 12) matrix/matrix_rational_sparse.pyx: 62% (10 of 16) matrix/matrix_integer_2x2.pyx: 0% (0 of 16) matrix/matrix_domain_dense.pyx: 83% (5 of 6) matrix/matrix_symbolic_dense.pyx: 96% (29 of 30) matrix/matrix0.pyx: 77% (58 of 75) matrix/docs.py: 0% (0 of 2) matrix/matrix_space.py: 91% (33 of 36) matrix/matrix_integer_dense_saturation.py: 100% (5 of 5) matrix/berlekamp_massey.py: 100% (1 of 1) matrix/matrix_mpolynomial_dense.pyx: 83% (5 of 6) matrix/matrix_window.pyx: 0% (0 of 26) matrix/matrix_modn_sparse.pyx: 57% (11 of 19) matrix/matrix_dense.pyx: 60% (6 of 10) matrix/matrix_window_modn_dense.pyx: 0% (0 of 11) matrix/matrix_cyclo_dense.pyx: 100% (24 of 24) matrix/symplectic_basis.py: 100% (4 of 4) matrix/constructor.py: 100% (12 of 12) matrix/matrix_integer_sparse.pyx: 38% (5 of 13) matrix/matrix1.pyx: 83% (31 of 37) matrix/matrix_rational_dense.pyx: 58% (24 of 41) matrix/benchmark.py: 0% (0 of 29) matrix/matrix_integer_dense_hnf.py: 96% (25 of 26) media/wav.py: 0% (0 of 25) media/channels.pyx: 0% (0 of 1) misc/multireplace.py: 0% (0 of 1) misc/typecheck.py: 0% (0 of 7) misc/pickle_old.pyx: 0% (0 of 1) misc/bug.py: 100% (1 of 1) misc/sage_timeit_class.pyx: 100% (2 of 2) misc/inline_fortran.py: 16% (1 of 6) misc/reset.pyx: 50% (2 of 4) misc/python.py: 50% (1 of 2) misc/cython_c.pyx: 0% (0 of 1) misc/randstate.pyx: 100% (21 of 21) misc/classgraph.py: 100% (1 of 1) misc/sage_eval.py: 100% (2 of 2) misc/map_threaded.py: 100% (1 of 1) misc/benchmark.py: 100% (9 of 9) misc/persist.py: 0% (0 of 4) misc/viewer.py: 0% (0 of 6) misc/profiler.py: 0% (0 of 5) misc/sage_input.py: 100% (89 of 89) misc/sagex_ds.pyx: 46% (7 of 15) misc/interpreter.py: 15% (2 of 13) misc/sageinspect.py: 5% (1 of 17) misc/derivative.pyx: 50% (2 of 4) misc/cache.py: 0% (0 of 6) misc/sage_timeit.py: 33% (1 of 3) misc/defaults.py: 0% (0 of 3) misc/banner.py: 100% (5 of 5) misc/darcs.py: 0% (0 of 23) misc/preparser.py: 83% (15 of 18) misc/dist.py: 0% (0 of 1) misc/mrange.py: 33% (4 of 12) misc/html.py: 66% (4 of 6) misc/hg.py: 5% (2 of 37) misc/package.py: 25% (2 of 8) misc/remote_file.py: 50% (1 of 2) misc/copying.py: 0% (0 of 3) misc/func_persist.py: 0% (0 of 3) misc/misc_c.pyx: 100% (8 of 8) misc/prandom.py: 100% (18 of 18) misc/lazy_attribute.py: 0% (0 of 2) misc/file_to_worksheet.py: 0% (0 of 1) misc/db.py: 0% (0 of 5) misc/cachefunc.py: 85% (12 of 14) misc/log.py: 0% (0 of 42) misc/flatten.py: 100% (1 of 1) misc/cython.py: 33% (4 of 12) misc/session.pyx: 100% (5 of 5) misc/latex.py: 19% (6 of 31) misc/getusage.py: 50% (2 of 4) misc/all.py: 0% (0 of 3) misc/edit_module.py: 100% (5 of 5) misc/mathml.py: 0% (0 of 7) misc/trace.py: 100% (1 of 1) misc/attach.py: 0% (0 of 2) misc/parser.pyx: 100% (27 of 27) misc/sh.py: 0% (0 of 3) misc/misc.py: 47% (27 of 57) misc/citation.pyx: 100% (1 of 1) misc/search.pyx: 0% (0 of 1) misc/pager.py: 0% (0 of 2) misc/preparser_ipython.py: 0% (0 of 4) misc/fpickle.pyx: 80% (4 of 5) misc/sagedoc.py: 20% (2 of 10) misc/functional.py: 64% (42 of 65) misc/refcount.pyx: 100% (1 of 1) modular/ssmod/ssmod.py: 78% (11 of 14) modular/etaproducts.py: 100% (31 of 31) modular/abvar/homology.py: 100% (30 of 30) modular/abvar/morphism.py: 100% (24 of 24) modular/abvar/homspace.py: 100% (20 of 20) modular/abvar/lseries.py: 100% (11 of 11) modular/abvar/torsion_subgroup.py: 100% (13 of 13) modular/abvar/cuspidal_subgroup.py: 100% (6 of 6) modular/abvar/finite_subgroup.py: 100% (34 of 34) modular/abvar/abvar.py: 100% (113 of 113) modular/abvar/constructor.py: 100% (6 of 6) modular/abvar/abvar_ambient_jacobian.py: 100% (12 of 12) modular/abvar/abvar_newform.py: 100% (8 of 8) modular/modsym/g1list.py: 0% (0 of 6) modular/modsym/boundary.py: 100% (42 of 42) modular/modsym/ambient.py: 26% (26 of 97) modular/modsym/relation_matrix.py: 28% (2 of 7) modular/modsym/space.py: 64% (42 of 65) modular/modsym/hecke_operator.py: 100% (1 of 1) modular/modsym/subspace.py: 100% (13 of 13) modular/modsym/apply.pyx: 100% (1 of 1) modular/modsym/p1list.pyx: 14% (4 of 28) modular/modsym/element.py: 0% (0 of 15) modular/modsym/modular_symbols.py: 0% (0 of 12) modular/modsym/heilbronn.pyx: 100% (15 of 15) modular/modsym/manin_symbols.py: 2% (2 of 68) modular/modsym/modsym.py: 100% (3 of 3) modular/modsym/ghlist.py: 0% (0 of 6) modular/modsym/tests.py: 100% (16 of 16) modular/dims.py: 100% (46 of 46) modular/dirichlet.py: 80% (53 of 66) modular/hecke/ambient_module.py: 23% (8 of 34) modular/hecke/degenmap.py: 25% (1 of 4) modular/hecke/element.py: 0% (0 of 11) modular/hecke/hecke_operator.py: 58% (20 of 34) modular/hecke/module.py: 30% (18 of 59) modular/hecke/morphism.py: 0% (0 of 6) modular/hecke/homspace.py: 0% (0 of 3) modular/hecke/algebra.py: 26% (8 of 30) modular/hecke/submodule.py: 29% (9 of 31) modular/congroup_pyx.pyx: 66% (2 of 3) modular/congroup_element.py: 100% (15 of 15) modular/congroup.py: 100% (84 of 84) modular/modform/space.py: 100% (58 of 58) modular/modform/element.py: 100% (59 of 59) modular/modform/vm_basis.py: 100% (2 of 2) modular/modform/find_generators.py: 33% (3 of 9) modular/modform/j_invariant.py: 100% (1 of 1) modular/modform/constructor.py: 100% (8 of 8) modular/modform/theta.py: 100% (2 of 2) modular/modform/ambient_g1.py: 100% (3 of 3) modular/modform/half_integral.py: 100% (1 of 1) modular/modform/ambient_g0.py: 100% (3 of 3) modular/modform/eisenstein_submodule.py: 100% (15 of 15) modular/modform/ambient.py: 100% (25 of 25) modular/modform/cuspidal_submodule.py: 100% (5 of 5) modular/modform/ambient_R.py: 100% (3 of 3) modular/modform/ambient_eps.py: 100% (10 of 10) modular/modform/submodule.py: 100% (5 of 5) modular/modform/eis_series.py: 100% (6 of 6) modular/modform/hecke_operator_on_qexp.py: 100% (3 of 3) modular/modform/numerical.py: 100% (17 of 17) modular/buzzard.py: 50% (1 of 2) modular/cusps.py: 100% (21 of 21) modules/vector_real_double_dense.pyx: 100% (4 of 4) modules/free_quadratic_module.py: 100% (44 of 44) modules/quotient_module.py: 100% (11 of 11) modules/free_module_element.pyx: 46% (48 of 104) modules/free_module_homspace.py: 16% (1 of 6) modules/free_module_morphism.py: 0% (0 of 3) modules/misc.py: 100% (1 of 1) modules/vector_integer_dense.pyx: 29% (5 of 17) modules/vector_complex_double_dense.pyx: 100% (3 of 3) modules/vector_modn_dense.pyx: 18% (3 of 16) modules/free_module.py: 97% (163 of 168) modules/vector_rational_dense.pyx: 25% (4 of 16) modules/matrix_morphism.py: 29% (8 of 27) modules/module.pyx: 28% (2 of 7) modules/vector_double_dense.pyx: 100% (23 of 23) monoids/monoid.py: 0% (0 of 2) monoids/free_monoid_element.py: 44% (4 of 9) monoids/string_monoid_element.py: 35% (6 of 17) monoids/free_abelian_monoid.py: 55% (5 of 9) monoids/free_abelian_monoid_element.py: 50% (3 of 6) monoids/string_ops.py: 75% (3 of 4) monoids/free_monoid.py: 50% (5 of 10) monoids/string_monoid.py: 62% (20 of 32) numerical/optimize.py: 70% (7 of 10) parallel/decorate.py: 50% (2 of 4) parallel/reference.py: 100% (1 of 1) parallel/ncpus.py: 100% (1 of 1) parallel/multiprocessing.py: 100% (2 of 2) plot/text.py: 12% (1 of 8) plot/axes.py: 26% (5 of 19) plot/contour_plot.py: 60% (6 of 10) plot/bar_chart.py: 83% (5 of 6) plot/matrix_plot.py: 33% (2 of 6) plot/scatter_plot.py: 83% (5 of 6) plot/tachyon.py: 8% (5 of 58) plot/bezier_path.py: 66% (4 of 6) plot/tri_plot.py: 0% (0 of 20) plot/plot.py: 75% (48 of 64) plot/polygon.py: 27% (3 of 11) plot/primitive.py: 62% (5 of 8) plot/line.py: 90% (10 of 11) plot/java3d.py: 0% (0 of 1) plot/animate.py: 91% (11 of 12) plot/arrow.py: 92% (12 of 13) plot/misc.py: 73% (14 of 19) plot/texture.py: 0% (0 of 6) plot/circle.py: 42% (3 of 7) plot/density_plot.py: 83% (5 of 6) plot/disk.py: 33% (2 of 6) plot/plot_field.py: 42% (3 of 7) plot/plot3d/parametric_plot3d.py: 20% (1 of 5) plot/plot3d/base.pyx: 5% (4 of 78) plot/plot3d/texture.py: 12% (1 of 8) plot/plot3d/parametric_surface.pyx: 14% (2 of 14) plot/plot3d/plot3d.py: 33% (2 of 6) plot/plot3d/platonic.py: 71% (5 of 7) plot/plot3d/shapes2.py: 25% (6 of 24) plot/plot3d/index_face_set.pyx: 21% (7 of 32) plot/plot3d/shapes.pyx: 16% (5 of 31) plot/plot3d/transform.pyx: 7% (1 of 14) plot/plot3d/list_plot3d.py: 16% (1 of 6) plot/point.py: 44% (4 of 9) probability/random_variable.py: 3% (1 of 30) quadratic_forms/quadratic_form__count_local_2.py: 0% (0 of 9) quadratic_forms/quadratic_form__local_density_interfaces.py: 14% (1 of 7) quadratic_forms/constructions.py: 100% (2 of 2) quadratic_forms/quadratic_form__local_representation_conditions.py: 68% (11 of 16) quadratic_forms/genera/genus.py: 0% (0 of 34) quadratic_forms/random_quadraticform.py: 100% (2 of 2) quadratic_forms/quadratic_form__split_local_covering.py: 75% (3 of 4) quadratic_forms/quadratic_form__local_field_invariants.py: 57% (8 of 14) quadratic_forms/special_values.py: 100% (5 of 5) quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py: 40% (6 of 15) quadratic_forms/quadratic_form__reduction_theory.py: 100% (5 of 5) quadratic_forms/quadratic_form__genus.py: 0% (0 of 3) quadratic_forms/quadratic_form__mass.py: 0% (0 of 3) quadratic_forms/extras.py: 100% (7 of 7) quadratic_forms/quadratic_form__automorphisms.py: 100% (7 of 7) quadratic_forms/quadratic_form__theta.py: 100% (3 of 3) quadratic_forms/quadratic_form.py: 100% (32 of 32) quadratic_forms/quadratic_form__evaluate.pyx: 0% (0 of 2) quadratic_forms/quadratic_form__ternary_Tornaria.py: 100% (23 of 23) quadratic_forms/count_local_2.pyx: 0% (0 of 1) quadratic_forms/quadratic_form__equivalence_testing.py: 100% (4 of 4) quadratic_forms/quadratic_form__local_density_congruence.py: 8% (1 of 12) quadratic_forms/quadratic_form__siegel_product.py: 100% (1 of 1) quadratic_forms/quadratic_form__neighbors.py: 75% (3 of 4) quadratic_forms/binary_qf.py: 100% (16 of 16) quadratic_forms/quadratic_form__variable_substitutions.py: 71% (5 of 7) quadratic_forms/quadratic_form__mass__Siegel_densities.py: 40% (2 of 5) quadratic_forms/quadratic_form__local_normal_form.py: 75% (3 of 4) rings/big_oh.py: 100% (1 of 1) rings/complex_number.pyx: 90% (69 of 76) rings/real_lazy.pyx: 89% (77 of 86) rings/extended_integer_ring.py: 4% (6 of 128) rings/fast_arith.pyx: 12% (1 of 8) rings/finite_field_element.py: 50% (16 of 32) rings/integral_domain.py: 0% (0 of 1) rings/finite_field.py: 100% (6 of 6) rings/euclidean_domain_element.py: 0% (0 of 1) rings/ideal_monoid.py: 0% (0 of 6) rings/extended_rational_field.py: 100% (73 of 73) rings/finite_field_ntl_gf2e.pyx: 100% (52 of 52) rings/complex_interval.pyx: 46% (22 of 47) rings/ideal.py: 58% (24 of 41) rings/power_series_ring_element.pyx: 72% (40 of 55) rings/field.py: 0% (0 of 1) rings/infinity.py: 9% (8 of 81) rings/ring.pyx: 84% (89 of 105) rings/rational_field.py: 75% (33 of 44) rings/commutative_algebra.py: 0% (0 of 1) rings/dedekind_domain.py: 0% (0 of 1) rings/finite_field_morphism.py: 87% (7 of 8) rings/finite_field_ext_pari.py: 100% (14 of 14) rings/contfrac.py: 90% (49 of 54) rings/rational.pyx: 89% (78 of 87) rings/integer_mod.pyx: 64% (89 of 137) rings/monomials.py: 50% (1 of 2) rings/padics/padic_generic_element.pyx: 34% (10 of 29) rings/padics/rigid_functions.pyx: 0% (0 of 37) rings/padics/factory.py: 4% (1 of 25) rings/padics/pow_computer_ext.pyx: 77% (21 of 27) rings/padics/padic_lazy_ring_generic.py: 0% (0 of 1) rings/padics/padic_printing.pyx: 33% (7 of 21) rings/padics/padic_lazy_element.py: 0% (1 of 110) rings/padics/padic_ring_lazy.py: 7% (1 of 13) rings/padics/padic_capped_relative_element.pyx: 51% (19 of 37) rings/padics/misc.py: 0% (0 of 2) rings/padics/padic_field_lazy.py: 11% (2 of 17) rings/padics/padic_ZZ_pX_CR_element.pyx: 72% (26 of 36) rings/padics/padic_ring_fixed_mod.py: 0% (0 of 5) rings/padics/padic_ext_element.pyx: 0% (0 of 1) rings/padics/local_generic.py: 27% (10 of 37) rings/padics/capped_absolute_generic.py: 0% (0 of 1) rings/padics/fixed_mod_generic.py: 0% (0 of 1) rings/padics/eisenstein_extension_generic.py: 0% (0 of 26) rings/padics/padic_ZZ_pX_CA_element.pyx: 74% (26 of 35) rings/padics/padic_ZZ_pX_element.pyx: 40% (2 of 5) rings/padics/lazy_generic.py: 0% (0 of 3) rings/padics/pow_computer.pyx: 93% (14 of 15) rings/padics/padic_ring_capped_absolute.py: 0% (0 of 5) rings/padics/unramified_extension_generic.py: 0% (0 of 20) rings/padics/valuation.py: 0% (0 of 114) rings/padics/padic_fixed_mod_element.pyx: 51% (17 of 33) rings/padics/padic_extension_leaves.py: 0% (0 of 8) rings/padics/padic_base_generic.py: 16% (1 of 6) rings/padics/padic_field_generic.py: 0% (0 of 14) rings/padics/padic_ZZ_pX_FM_element.pyx: 77% (28 of 36) rings/padics/padic_ring_base_generic.py: 0% (0 of 3) rings/padics/local_generic_element.pyx: 75% (9 of 12) rings/padics/padic_ring_capped_relative.py: 0% (0 of 5) rings/padics/padic_capped_absolute_element.pyx: 80% (25 of 31) rings/padics/padic_generic.py: 42% (14 of 33) rings/padics/padic_field_capped_relative.py: 20% (1 of 5) rings/padics/padic_extension_generic.py: 0% (0 of 20) rings/padics/capped_relative_generic.py: 0% (0 of 1) rings/padics/padic_base_generic_element.pyx: 0% (0 of 1) rings/padics/padic_lazy_generic.py: 0% (0 of 2) rings/padics/padic_lazy_field_generic.py: 0% (0 of 1) rings/padics/padic_ring_generic.py: 0% (0 of 6) rings/finite_field_prime_modn.py: 100% (12 of 12) rings/power_series_mpoly.pyx: 12% (2 of 16) rings/fraction_field_element.pyx: 100% (36 of 36) rings/quotient_ring_element.py: 24% (7 of 29) rings/complex_field.py: 40% (11 of 27) rings/qqbar.py: 40% (110 of 271) rings/principal_ideal_domain.py: 0% (0 of 1) rings/complex_interval_field.py: 25% (6 of 24) rings/dedekind_domain_element.py: 0% (0 of 1) rings/integer_ring.pyx: 76% (33 of 43) rings/laurent_series_ring.py: 13% (3 of 23) rings/bernmm.pyx: 100% (2 of 2) rings/real_rqdf.pyx: 82% (75 of 91) rings/complex_double.pyx: 94% (93 of 98) rings/euclidean_domain.py: 0% (0 of 1) rings/real_mpfi.pyx: 68% (71 of 104) rings/memory.pyx: 0% (0 of 1) rings/finite_field_givaro.pyx: 100% (69 of 69) rings/arith.py: 75% (64 of 85) rings/real_mpfr.pyx: 70% (112 of 158) rings/polynomial/polynomial_modn_dense_ntl.pyx: 64% (53 of 82) rings/polynomial/laurent_polynomial_ring.py: 100% (32 of 32) rings/polynomial/multi_polynomial_ring.py: 35% (7 of 20) rings/polynomial/polynomial_real_mpfr_dense.pyx: 95% (22 of 23) rings/polynomial/pbori.pyx: 61% (140 of 229) rings/polynomial/multi_polynomial_ideal.py: 92% (47 of 51) rings/polynomial/polynomial_quotient_ring_element.py: 65% (17 of 26) rings/polynomial/polynomial_integer_dense_ntl.pyx: 100% (31 of 31) rings/polynomial/polynomial_ring_constructor.py: 28% (2 of 7) rings/polynomial/toy_d_basis.py: 100% (5 of 5) rings/polynomial/polynomial_fateman.py: 0% (0 of 3) rings/polynomial/polynomial_gf2x.pyx: 100% (4 of 4) rings/polynomial/multi_polynomial_element.py: 78% (44 of 56) rings/polynomial/polynomial_compiled.pyx: 0% (0 of 19) rings/polynomial/multi_polynomial_ring_generic.pyx: 42% (15 of 35) rings/polynomial/multi_polynomial_ideal_libsingular.pyx: 25% (1 of 4) rings/polynomial/groebner_fan.py: 100% (57 of 57) rings/polynomial/polynomial_quotient_ring.py: 60% (18 of 30) rings/polynomial/polynomial_element_generic.py: 55% (32 of 58) rings/polynomial/polynomial_zmod_flint.pyx: 100% (7 of 7) rings/polynomial/polydict.pyx: 68% (41 of 60) rings/polynomial/multi_polynomial_libsingular.pyx: 96% (84 of 87) rings/polynomial/toy_buchberger.py: 20% (1 of 5) rings/polynomial/complex_roots.py: 66% (4 of 6) rings/polynomial/real_roots.pyx: 65% (71 of 108) rings/polynomial/polynomial_ring.py: 71% (43 of 60) rings/polynomial/cyclotomic.pyx: 33% (1 of 3) rings/polynomial/polynomial_singular_interface.py: 45% (5 of 11) rings/polynomial/laurent_polynomial.pyx: 100% (24 of 24) rings/polynomial/term_order.py: 100% (30 of 30) rings/polynomial/padics/polynomial_padic_capped_relative_dense.py: 42% (19 of 45) rings/polynomial/padics/polynomial_padic_flat.py: 50% (2 of 4) rings/polynomial/multi_polynomial.pyx: 87% (29 of 33) rings/polynomial/polynomial_integer_dense_flint.pyx: 100% (35 of 35) rings/polynomial/convolution.py: 46% (6 of 13) rings/polynomial/polynomial_element.pyx: 73% (102 of 138) rings/bernoulli_mod_p.pyx: 100% (3 of 3) rings/real_interval_field.py: 0% (0 of 4) rings/homset.py: 10% (1 of 10) rings/coerce_python.py: 0% (0 of 5) rings/power_series_ring.py: 72% (21 of 29) rings/fraction_field.py: 100% (20 of 20) rings/tests.py: 100% (12 of 12) rings/principal_ideal_domain_element.py: 0% (0 of 1) rings/misc.py: 100% (1 of 1) rings/commutative_ring_element.py: 0% (0 of 1) rings/quotient_ring.py: 100% (22 of 22) rings/integral_domain_element.py: 0% (0 of 1) rings/number_field/maps.py: 0% (0 of 26) rings/number_field/number_field_morphisms.pyx: 100% (13 of 13) rings/number_field/number_field_element_quadratic.pyx: 88% (32 of 36) rings/number_field/order.py: 94% (56 of 59) rings/number_field/number_field_rel.py: 100% (50 of 50) rings/number_field/morphism.py: 28% (6 of 21) rings/number_field/galois_group.py: 100% (6 of 6) rings/number_field/number_field_base.pyx: 72% (8 of 11) rings/number_field/number_field_ideal_rel.py: 30% (6 of 20) rings/number_field/totallyreal.pyx: 100% (4 of 4) rings/number_field/totallyreal_phc.py: 100% (2 of 2) rings/number_field/number_field_element.pyx: 79% (71 of 89) rings/number_field/totallyreal_data.pyx: 100% (7 of 7) rings/number_field/small_primes_of_degree_one.py: 100% (4 of 4) rings/number_field/class_group.py: 72% (13 of 18) rings/number_field/number_field_ideal.py: 89% (53 of 59) rings/number_field/number_field.py: 98% (157 of 160) rings/number_field/totallyreal_rel.py: 60% (3 of 5) rings/number_field/totallyreal_dsage.py: 13% (2 of 15) rings/morphism.pyx: 8% (3 of 35) rings/integer_mod_ring.py: 70% (29 of 41) rings/power_series_poly.pyx: 50% (17 of 34) rings/integer_ring_python.py: 0% (0 of 1) rings/integer.pyx: 86% (107 of 124) rings/real_double.pyx: 88% (113 of 127) rings/field_element.py: 0% (0 of 1) rings/pari_ring.py: 4% (1 of 22) rings/residue_field.pyx: 100% (29 of 29) rings/commutative_ring.py: 0% (0 of 1) rings/laurent_series_ring_element.pyx: 64% (33 of 51) schemes/generic/hypersurface.py: 0% (0 of 7) schemes/generic/affine_space.py: 45% (9 of 20) schemes/generic/glue.py: 0% (0 of 3) schemes/generic/divisor.py: 33% (3 of 9) schemes/generic/divisor_group.py: 0% (0 of 8) schemes/generic/algebraic_scheme.py: 21% (8 of 37) schemes/generic/homset.py: 8% (2 of 23) schemes/generic/projective_space.py: 26% (6 of 23) schemes/generic/spec.py: 42% (3 of 7) schemes/generic/point.py: 0% (0 of 15) schemes/generic/ambient_space.py: 0% (0 of 16) schemes/generic/morphism.py: 2% (1 of 40) schemes/generic/scheme.py: 96% (24 of 25) schemes/elliptic_curves/ell_local_data.py: 84% (16 of 19) schemes/elliptic_curves/lseries_ell.py: 100% (17 of 17) schemes/elliptic_curves/ell_field.py: 100% (1 of 1) schemes/elliptic_curves/mod5family.py: 0% (0 of 1) schemes/elliptic_curves/padics.py: 71% (10 of 14) schemes/elliptic_curves/constructor.py: 100% (3 of 3) schemes/elliptic_curves/ell_finite_field.py: 100% (21 of 21) schemes/elliptic_curves/weierstrass_morphism.py: 100% (15 of 15) schemes/elliptic_curves/padic_height.py: 0% (0 of 6) schemes/elliptic_curves/ell_rational_field.py: 85% (111 of 130) schemes/elliptic_curves/ell_modular_symbols.py: 87% (7 of 8) schemes/elliptic_curves/ec_database.py: 100% (1 of 1) schemes/elliptic_curves/gp_simon.py: 33% (1 of 3) schemes/elliptic_curves/ell_torsion.py: 100% (6 of 6) schemes/elliptic_curves/monsky_washnitzer.py: 23% (25 of 107) schemes/elliptic_curves/cm.py: 100% (3 of 3) schemes/elliptic_curves/ell_padic_field.py: 80% (4 of 5) schemes/elliptic_curves/sea.py: 0% (0 of 1) schemes/elliptic_curves/ell_number_field.py: 92% (26 of 28) schemes/elliptic_curves/formal_group.py: 100% (13 of 13) schemes/elliptic_curves/kodaira_symbol.py: 33% (2 of 6) schemes/elliptic_curves/sha_tate.py: 70% (7 of 10) schemes/elliptic_curves/ell_generic.py: 100% (62 of 62) schemes/elliptic_curves/padic_lseries.py: 50% (17 of 34) schemes/elliptic_curves/gp_cremona.py: 85% (6 of 7) schemes/elliptic_curves/ell_point.py: 100% (38 of 38) schemes/elliptic_curves/period_lattice.py: 100% (9 of 9) schemes/elliptic_curves/ell_tate_curve.py: 94% (18 of 19) schemes/plane_curves/constructor.py: 100% (1 of 1) schemes/plane_curves/projective_curve.py: 54% (6 of 11) schemes/plane_curves/affine_curve.py: 55% (5 of 9) schemes/plane_curves/curve.py: 33% (3 of 9) schemes/hyperelliptic_curves/hyperelliptic_g2_generic.py: 0% (0 of 4) schemes/hyperelliptic_curves/hypellfrob.pyx: 100% (1 of 1) schemes/hyperelliptic_curves/hyperelliptic_rational_field.py: 0% (0 of 2) schemes/hyperelliptic_curves/hyperelliptic_finite_field.py: 100% (3 of 3) schemes/hyperelliptic_curves/jacobian_constructor.py: 0% (0 of 1) schemes/hyperelliptic_curves/jacobian_g2.py: 0% (0 of 1) schemes/hyperelliptic_curves/constructor.py: 100% (1 of 1) schemes/hyperelliptic_curves/kummer_surface.py: 0% (0 of 1) schemes/hyperelliptic_curves/jacobian_generic.py: 20% (1 of 5) schemes/hyperelliptic_curves/hyperelliptic_padic_field.py: 37% (3 of 8) schemes/hyperelliptic_curves/jacobian_morphism.py: 100% (17 of 17) schemes/hyperelliptic_curves/hyperelliptic_generic.py: 40% (4 of 10) schemes/hyperelliptic_curves/jacobian_homset.py: 14% (1 of 7) schemes/plane_quartics/quartic_generic.py: 0% (0 of 3) schemes/plane_quartics/quartic_constructor.py: 0% (0 of 1) schemes/jacobians/abstract_jacobian.py: 0% (0 of 6) server/trac/trac.py: 0% (0 of 2) server/wiki/moin.py: 0% (0 of 4) server/support.py: 13% (2 of 15) server/introspect.py: 0% (0 of 4) server/misc.py: 66% (2 of 3) server/notebook/avatars.py: 8% (1 of 12) server/notebook/smtpsend.py: 0% (0 of 5) server/notebook/run_notebook.py: 0% (0 of 6) server/notebook/wiki2html.py: 0% (0 of 56) server/notebook/server_conf.py: 0% (0 of 1) server/notebook/worksheet_conf.py: 0% (0 of 1) server/notebook/notebook_object.py: 25% (1 of 4) server/notebook/conf.py: 0% (0 of 6) server/notebook/docHTMLProcessor.py: 22% (4 of 18) server/notebook/tutorial.py: 0% (0 of 1) server/notebook/applet.py: 0% (0 of 2) server/notebook/sage_email.py: 50% (2 of 4) server/notebook/compress/BaseConvert.py: 0% (0 of 3) server/notebook/compress/JavaScriptCompressor.py: 0% (0 of 15) server/notebook/compress/SourceMap.py: 0% (0 of 4) server/notebook/gnutls_socket_ssl.py: 0% (0 of 5) server/notebook/interact.py: 95% (105 of 110) server/notebook/js.py: 0% (0 of 10) server/notebook/twist.py: 3% (6 of 192) server/notebook/user_conf.py: 0% (0 of 1) server/notebook/guard.py: 0% (0 of 31) server/notebook/user_db.py: 0% (0 of 3) server/notebook/jquery.py: 0% (0 of 4) server/notebook/keyboards.py: 0% (0 of 10) server/notebook/sagetex.py: 100% (1 of 1) server/notebook/template.py: 66% (2 of 3) server/notebook/mailsender.py: 0% (0 of 10) server/notebook/worksheet.py: 37% (74 of 200) server/notebook/cell.py: 80% (71 of 88) server/notebook/notebook.py: 19% (25 of 127) server/notebook/register.py: 0% (0 of 3) server/notebook/user.py: 65% (13 of 20) server/notebook/css.py: 100% (1 of 1) server/notebook/colorize.py: 0% (0 of 4) server/simple/twist.py: 13% (2 of 15) sets/primes.py: 0% (0 of 7) sets/set.py: 90% (59 of 65) stats/hmm/chmm.pyx: 100% (22 of 22) stats/hmm/hmm.pyx: 100% (18 of 18) stats/r.py: 100% (1 of 1) structure/sequence.py: 59% (13 of 22) structure/nonexact.py: 0% (0 of 3) structure/formal_sum.py: 4% (1 of 22) structure/mutability_py.py: 33% (2 of 6) structure/sage_object.pyx: 22% (10 of 44) structure/category_object.pyx: 16% (5 of 31) structure/mutability.pyx: 33% (2 of 6) structure/parent_gens.pyx: 30% (6 of 20) structure/parent.pyx: 64% (31 of 48) structure/parent_old.pyx: 4% (1 of 22) structure/factory.pyx: 100% (15 of 15) structure/generators.pyx: 11% (5 of 45) structure/coerce_actions.pyx: 66% (10 of 15) structure/proof/proof.py: 85% (6 of 7) structure/proof/all.py: 100% (6 of 6) structure/coerce_dict.pyx: 100% (14 of 14) structure/coerce_maps.pyx: 59% (13 of 22) structure/gens_py.py: 0% (0 of 2) structure/factorization.py: 100% (32 of 32) structure/element_py.py: 0% (0 of 1) structure/element.pyx: 25% (40 of 158) structure/element_verify.py: 0% (0 of 4) structure/parent_base.pyx: 20% (1 of 5) structure/wrapper_parent.pyx: 0% (0 of 20) structure/coerce.pyx: 100% (20 of 20) symbolic/ring.pyx: 100% (6 of 6) symbolic/function.pyx: 100% (6 of 6) symbolic/expression.pyx: 98% (73 of 74) symbolic/pynac.pyx: 75% (3 of 4) tests/arxiv_0812_2725.py: 100% (7 of 7) tests/benchmark.py: 76% (87 of 114) Now that you just looked that over, what can you help on? > Also, similar to Carl's question, a list (by mabshoff) of particularly Why does Michael Abshoff have to make that list? He's a busy guy. > horrible folders/files when it comes to documentation would be > helpful. One example is the axis code, although this keeps > threatening to be refactored/improved by various tickets so perhaps > that wouldn't be a good one to start with :) Here's the stuff with 0% coverage: wst...@sage:~/build/sage-3.4/devel/sage/sage$ sage -coverage .|grep ": 0%"|sort algebras/algebra_element.py: 0% (0 of 1) algebras/algebra_ideal_element.py: 0% (0 of 1) algebras/algebra_ideal.py: 0% (0 of 19) algebras/algebra_order_element.py: 0% (0 of 13) algebras/algebra_order_frac_ideal.py: 0% (0 of 17) algebras/algebra_order_ideal_element.py: 0% (0 of 1) algebras/algebra_order_ideal.py: 0% (0 of 21) algebras/algebra_order.py: 0% (0 of 16) algebras/all.py: 0% (0 of 1) algebras/free_algebra_quotient_element.py: 0% (0 of 13) all_cmdline.py: 0% (0 of 1) all.py: 0% (0 of 3) categories/action.pyx: 0% (0 of 31) categories/morphism.pyx: 0% (0 of 21) combinat/posets/lattices.py: 0% (0 of 13) crypto/cipher.py: 0% (0 of 9) crypto/cryptosystem.py: 0% (0 of 9) crypto/mq/mpolynomialsystemgenerator.py: 0% (0 of 10) databases/bz2Pickle.py: 0% (0 of 4) databases/compressed_storage.py: 0% (0 of 7) databases/conv.py: 0% (0 of 8) databases/conway.py: 0% (0 of 7) databases/db.py: 0% (0 of 21) databases/gamma0wt2.py: 0% (0 of 7) databases/install.py: 0% (0 of 8) databases/kohel.py: 0% (0 of 7) databases/lincodes.py: 0% (0 of 1) databases/stein_watkins.py: 0% (0 of 15) databases/tables.py: 0% (0 of 6) dsage/all.py: 0% (0 of 1) dsage/database/clientdb.py: 0% (0 of 22) dsage/database/client.py: 0% (0 of 4) dsage/database/db_config.py: 0% (0 of 7) dsage/database/jobdb.py: 0% (0 of 41) dsage/database/job.py: 0% (0 of 7) dsage/database/sql_functions.py: 0% (0 of 7) dsage/database/tests/test_clientdb.py: 0% (0 of 6) dsage/database/tests/test_client.py: 0% (0 of 6) dsage/database/tests/test_jobdb.py: 0% (0 of 12) dsage/database/tests/test_job.py: 0% (0 of 10) dsage/database/tests/test_workerdb.py: 0% (0 of 6) dsage/database/workerdb.py: 0% (0 of 26) dsage/database/worker.py: 0% (0 of 1) dsage/dist_functions/dist_factor.py: 0% (0 of 6) dsage/dist_functions/dist_function.py: 0% (0 of 17) dsage/dist_functions/dist_povray.py: 0% (0 of 3) dsage/dsage.py: 0% (0 of 12) dsage/errors/exceptions.py: 0% (0 of 7) dsage/misc/config.py: 0% (0 of 5) dsage/misc/constants.py: 0% (0 of 3) dsage/misc/countrefs.py: 0% (0 of 4) dsage/misc/hostinfo.py: 0% (0 of 5) dsage/misc/misc.py: 0% (0 of 9) dsage/scripts/dsage_setup.py: 0% (0 of 6) dsage/scripts/dsage_worker.py: 0% (0 of 39) dsage/server/benchmark_job.py: 0% (0 of 2) dsage/server/server.py: 0% (0 of 25) dsage/server/stats.py: 0% (0 of 5) dsage/server/tests/test_server.py: 0% (0 of 15) dsage/twisted/pb.py: 0% (0 of 50) dsage/twisted/pubkeyauth.py: 0% (0 of 3) dsage/twisted/tests/test_pubkeyauth.py: 0% (0 of 7) dsage/twisted/tests/test_remote.py: 0% (0 of 24) dsage/web/web_server.py: 0% (0 of 37) ext/multi_modular.pyx: 0% (0 of 15) ext/sig.pyx: 0% (0 of 1) functions/spike_function.py: 0% (0 of 9) groups/group_homset.py: 0% (0 of 6) groups/matrix_gps/homset.py: 0% (0 of 3) groups/pari_group.py: 0% (0 of 7) gsl/callback.pyx: 0% (0 of 1) gsl/gsl_array.pyx: 0% (0 of 6) gsl/interpolation.pyx: 0% (0 of 9) gsl/ode.pyx: 0% (0 of 5) interfaces/cleaner.py: 0% (0 of 2) interfaces/get_sigs.py: 0% (0 of 3) interfaces/gfan.py: 0% (0 of 1) interfaces/magma_sim.py: 0% (0 of 1) interfaces/povray.py: 0% (0 of 3) interfaces/psage.py: 0% (0 of 13) interfaces/quit.py: 0% (0 of 3) interfaces/tachyon.py: 0% (0 of 4) interfaces/tests.py: 0% (0 of 3) libs/flint/flint.pyx: 0% (0 of 1) libs/libecm.pyx: 0% (0 of 1) libs/linbox/linbox.pyx: 0% (0 of 10) matrix/benchmark.py: 0% (0 of 29) matrix/docs.py: 0% (0 of 2) matrix/matrix_integer_2x2.pyx: 0% (0 of 16) matrix/matrix_misc.py: 0% (0 of 1) matrix/matrix_window_modn_dense.pyx: 0% (0 of 11) matrix/matrix_window.pyx: 0% (0 of 26) media/channels.pyx: 0% (0 of 1) media/wav.py: 0% (0 of 25) misc/all.py: 0% (0 of 3) misc/attach.py: 0% (0 of 2) misc/cache.py: 0% (0 of 6) misc/copying.py: 0% (0 of 3) misc/cython_c.pyx: 0% (0 of 1) misc/darcs.py: 0% (0 of 23) misc/db.py: 0% (0 of 5) misc/defaults.py: 0% (0 of 3) misc/dist.py: 0% (0 of 1) misc/file_to_worksheet.py: 0% (0 of 1) misc/func_persist.py: 0% (0 of 3) misc/lazy_attribute.py: 0% (0 of 2) misc/log.py: 0% (0 of 42) misc/mathml.py: 0% (0 of 7) misc/multireplace.py: 0% (0 of 1) misc/pager.py: 0% (0 of 2) misc/persist.py: 0% (0 of 4) misc/pickle_old.pyx: 0% (0 of 1) misc/preparser_ipython.py: 0% (0 of 4) misc/profiler.py: 0% (0 of 5) misc/search.pyx: 0% (0 of 1) misc/sh.py: 0% (0 of 3) misc/typecheck.py: 0% (0 of 7) misc/viewer.py: 0% (0 of 6) modular/hecke/element.py: 0% (0 of 11) modular/hecke/homspace.py: 0% (0 of 3) modular/hecke/morphism.py: 0% (0 of 6) modular/modsym/element.py: 0% (0 of 15) modular/modsym/g1list.py: 0% (0 of 6) modular/modsym/ghlist.py: 0% (0 of 6) modular/modsym/modular_symbols.py: 0% (0 of 12) modules/free_module_morphism.py: 0% (0 of 3) monoids/monoid.py: 0% (0 of 2) plot/java3d.py: 0% (0 of 1) plot/texture.py: 0% (0 of 6) plot/tri_plot.py: 0% (0 of 20) quadratic_forms/count_local_2.pyx: 0% (0 of 1) quadratic_forms/genera/genus.py: 0% (0 of 34) quadratic_forms/quadratic_form__count_local_2.py: 0% (0 of 9) quadratic_forms/quadratic_form__evaluate.pyx: 0% (0 of 2) quadratic_forms/quadratic_form__genus.py: 0% (0 of 3) quadratic_forms/quadratic_form__mass.py: 0% (0 of 3) rings/coerce_python.py: 0% (0 of 5) rings/commutative_algebra.py: 0% (0 of 1) rings/commutative_ring_element.py: 0% (0 of 1) rings/commutative_ring.py: 0% (0 of 1) rings/dedekind_domain_element.py: 0% (0 of 1) rings/dedekind_domain.py: 0% (0 of 1) rings/euclidean_domain_element.py: 0% (0 of 1) rings/euclidean_domain.py: 0% (0 of 1) rings/field_element.py: 0% (0 of 1) rings/field.py: 0% (0 of 1) rings/ideal_monoid.py: 0% (0 of 6) rings/integer_ring_python.py: 0% (0 of 1) rings/integral_domain_element.py: 0% (0 of 1) rings/integral_domain.py: 0% (0 of 1) rings/memory.pyx: 0% (0 of 1) rings/number_field/maps.py: 0% (0 of 26) rings/padics/capped_absolute_generic.py: 0% (0 of 1) rings/padics/capped_relative_generic.py: 0% (0 of 1) rings/padics/eisenstein_extension_generic.py: 0% (0 of 26) rings/padics/fixed_mod_generic.py: 0% (0 of 1) rings/padics/lazy_generic.py: 0% (0 of 3) rings/padics/misc.py: 0% (0 of 2) rings/padics/padic_base_generic_element.pyx: 0% (0 of 1) rings/padics/padic_ext_element.pyx: 0% (0 of 1) rings/padics/padic_extension_generic.py: 0% (0 of 20) rings/padics/padic_extension_leaves.py: 0% (0 of 8) rings/padics/padic_field_generic.py: 0% (0 of 14) rings/padics/padic_lazy_element.py: 0% (1 of 110) rings/padics/padic_lazy_field_generic.py: 0% (0 of 1) rings/padics/padic_lazy_generic.py: 0% (0 of 2) rings/padics/padic_lazy_ring_generic.py: 0% (0 of 1) rings/padics/padic_ring_base_generic.py: 0% (0 of 3) rings/padics/padic_ring_capped_absolute.py: 0% (0 of 5) rings/padics/padic_ring_capped_relative.py: 0% (0 of 5) rings/padics/padic_ring_fixed_mod.py: 0% (0 of 5) rings/padics/padic_ring_generic.py: 0% (0 of 6) rings/padics/rigid_functions.pyx: 0% (0 of 37) rings/padics/unramified_extension_generic.py: 0% (0 of 20) rings/padics/valuation.py: 0% (0 of 114) rings/polynomial/polynomial_compiled.pyx: 0% (0 of 19) rings/polynomial/polynomial_fateman.py: 0% (0 of 3) rings/principal_ideal_domain_element.py: 0% (0 of 1) rings/principal_ideal_domain.py: 0% (0 of 1) rings/real_interval_field.py: 0% (0 of 4) schemes/elliptic_curves/mod5family.py: 0% (0 of 1) schemes/elliptic_curves/padic_height.py: 0% (0 of 6) schemes/elliptic_curves/sea.py: 0% (0 of 1) schemes/generic/ambient_space.py: 0% (0 of 16) schemes/generic/divisor_group.py: 0% (0 of 8) schemes/generic/glue.py: 0% (0 of 3) schemes/generic/hypersurface.py: 0% (0 of 7) schemes/generic/point.py: 0% (0 of 15) schemes/hyperelliptic_curves/hyperelliptic_g2_generic.py: 0% (0 of 4) schemes/hyperelliptic_curves/hyperelliptic_rational_field.py: 0% (0 of 2) schemes/hyperelliptic_curves/jacobian_constructor.py: 0% (0 of 1) schemes/hyperelliptic_curves/jacobian_g2.py: 0% (0 of 1) schemes/hyperelliptic_curves/kummer_surface.py: 0% (0 of 1) schemes/jacobians/abstract_jacobian.py: 0% (0 of 6) schemes/plane_quartics/quartic_constructor.py: 0% (0 of 1) schemes/plane_quartics/quartic_generic.py: 0% (0 of 3) server/introspect.py: 0% (0 of 4) server/notebook/applet.py: 0% (0 of 2) server/notebook/colorize.py: 0% (0 of 4) server/notebook/compress/BaseConvert.py: 0% (0 of 3) server/notebook/compress/JavaScriptCompressor.py: 0% (0 of 15) server/notebook/compress/SourceMap.py: 0% (0 of 4) server/notebook/conf.py: 0% (0 of 6) server/notebook/gnutls_socket_ssl.py: 0% (0 of 5) server/notebook/guard.py: 0% (0 of 31) server/notebook/jquery.py: 0% (0 of 4) server/notebook/js.py: 0% (0 of 10) server/notebook/keyboards.py: 0% (0 of 10) server/notebook/mailsender.py: 0% (0 of 10) server/notebook/register.py: 0% (0 of 3) server/notebook/run_notebook.py: 0% (0 of 6) server/notebook/server_conf.py: 0% (0 of 1) server/notebook/smtpsend.py: 0% (0 of 5) server/notebook/tutorial.py: 0% (0 of 1) server/notebook/user_conf.py: 0% (0 of 1) server/notebook/user_db.py: 0% (0 of 3) server/notebook/wiki2html.py: 0% (0 of 56) server/notebook/worksheet_conf.py: 0% (0 of 1) server/trac/trac.py: 0% (0 of 2) server/wiki/moin.py: 0% (0 of 4) sets/primes.py: 0% (0 of 7) structure/element_py.py: 0% (0 of 1) structure/element_verify.py: 0% (0 of 4) structure/gens_py.py: 0% (0 of 2) structure/nonexact.py: 0% (0 of 3) structure/wrapper_parent.pyx: 0% (0 of 20) --- E.g., sets/primes.py -- that looks like easy pickin's to fix. -- William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---