Ticket #7987: 7987-module_list-cleanup.patch

File 7987-module_list-cleanup.patch, 98.2 KB (added by robertwb, 12 years ago)
  • doc/en/developer/coding_in_other.rst

    Auto-generate module_list, allow clib, etc. in library .pyx files.
    
    diff -r 231be19d9bf6 doc/en/developer/coding_in_other.rst
    a b  
    6464
    6565#. Create a .pyx file and add it to the Sage library.
    6666
    67 
    68    #. First, add a listing for the Cython extension to the variable
    69       ``ext_modules`` in the file
    70       ``SAGE_ROOT/devel/sage/module_list.py``. See the
    71       ``distutils.extension.Extension`` class for more information on creating
    72       a new Cython extension.
    73 
    74    #. Then, if you created a new directory for your .pyx file, add the directory
     67   #. If you created a new directory for your .pyx file, add the directory
    7568      name to the ``packages`` list in the file
    7669      ``SAGE_ROOT/devel/sage/setup.py``.  (See also the section on
    7770      "Creating a new directory" in :ref:`chapter-python`.)
     
    7972   #. Run ``sage -b`` to rebuild Sage.
    8073
    8174
    82    For example, the file ``SAGE_ROOT/devel/sage/sage/graphs/chrompoly.pyx``
    83    has the lines
    84 
    85    ::
    86 
    87      Extension('sage.graphs.chrompoly',
    88                sources = ['sage/graphs/chrompoly.pyx']),
    89 
    90    in ``module_list.py``. In addition, ``sage.graphs`` is included in the
    91    ``packages`` list under the Distutils section of ``setup.py`` since
    92    chrompoly.pyx is contained in the directory 'sage/graphs'.
    93 
    94 
    9575Special Pragmas
    9676---------------
    9777
    98 If Cython code is either attached or loaded as a ``.spyx`` file or
    99 loaded from the notebook as a ``%cython`` block, the following
    100 pragmas are available:
     78The following pragmas are available for Cython code:
    10179
    10280clang
    10381    may be either c or c++ indicating whether a C or C++ compiler
  • module_list.py

    diff -r 231be19d9bf6 module_list.py
    a b  
    11#!/usr/bin/env python
    22
    3 import os, sys
     3import re, os, sys
    44from distutils.core import setup
    55from distutils.extension import Extension
     6from fnmatch import fnmatch
    67
    78
    89#########################################################
     
    9798###
    9899#############################################################
    99100
     101
     102    # NOTE: It is *very* important (for cygwin) that csage be the
     103    # first library listed for all ntl extensions below.
     104
     105
    100106ext_modules = [
    101    
    102     ################################
    103     ##
    104     ## sage.algebras
    105     ##
    106     ################################
    107 
    108     Extension('sage.algebras.quatalg.quaternion_algebra_element',
    109                sources = ['sage/algebras/quatalg/quaternion_algebra_element.pyx'],
    110                extra_compile_args=["-std=c99"],
    111                language='c++',
    112                libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++", "ntl"],
    113                include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    114                depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    115 
    116     Extension('sage.algebras.quatalg.quaternion_algebra_cython',
    117                sources = ['sage/algebras/quatalg/quaternion_algebra_cython.pyx'],
    118                language='c++',
    119                libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++", "ntl"]),
    120 
    121     ################################
    122     ##
    123     ## sage.calculus
    124     ##
    125     ################################
    126    
    127     Extension('sage.calculus.var',
    128               sources = ['sage/calculus/var.pyx']),
    129 
    130     ################################
    131     ##
    132     ## sage.categories
    133     ##
    134     ################################
    135 
    136     Extension('sage.categories.action',
    137               sources = ['sage/categories/action.pyx']),
    138              
    139     Extension('sage.categories.functor',
    140               sources = ['sage/categories/functor.pyx']),
    141              
    142     Extension('sage.categories.map',
    143               sources = ['sage/categories/map.pyx']),
    144              
    145     Extension('sage.categories.morphism',
    146               sources = ['sage/categories/morphism.pyx']),
    147 
    148     Extension('sage.categories.examples.semigroups_cython',
    149               sources = ['sage/categories/examples/semigroups_cython.pyx']),
    150 
    151     ################################
    152     ##
    153     ## sage.coding
    154     ##
    155     ################################
    156 
    157     Extension('sage.coding.binary_code',
    158               sources = ['sage/coding/binary_code.pyx']),
    159 
    160     ################################
    161     ##
    162     ## sage.combinat
    163     ##
    164     ################################
    165 
    166     Extension('sage.combinat.expnums',
    167               sources = ['sage/combinat/expnums.pyx'],
    168               libraries = ['gmp']),
    169                            
    170     Extension('sage.combinat.matrices.dancing_links',
    171               sources = ['sage/combinat/matrices/dancing_links.pyx'],
    172               libraries = ["stdc++"],
    173               language='c++'),
    174107
    175108    Extension('sage.combinat.partitions',
    176109              sources = ['sage/combinat/partitions.pyx',
     
    179112              depends = ['sage/combinat/partitions_c.h'],
    180113              language='c++'),
    181114
    182     Extension('sage.combinat.words.word_datatypes',
    183             sources=['sage/combinat/words/word_datatypes.pyx'],
    184             include_dirs = ['sage/combinat/words'],
    185             libraries = ['stdc++'],
    186             language='c++'),
    187            
    188     ################################
    189     ##
    190     ## sage.crypto
    191     ##
    192     ################################
    193 
    194     Extension('sage.crypto.boolean_function',
    195               sources = ['sage/crypto/boolean_function.pyx']),
    196 
    197     ################################
    198     ##
    199     ## sage.ext
    200     ##
    201     ################################
    202 
    203     Extension('sage.ext.fast_callable',
    204               sources = ['sage/ext/fast_callable.pyx']),
    205    
    206     Extension('sage.ext.fast_eval',
    207               sources = ['sage/ext/fast_eval.pyx']),
    208    
    209     Extension('sage.ext.interactive_constructors_c',
    210               sources = ['sage/ext/interactive_constructors_c.pyx']),
    211    
    212     Extension('sage.ext.multi_modular',
    213               sources = ['sage/ext/multi_modular.pyx'],
    214               libraries=['gmp']),
    215 
    216     Extension('sage.ext.sig',
    217               sources = ['sage/ext/sig.pyx']),
    218 
    219     ################################
    220     ##
    221     ## sage.finance
    222     ##
    223     ################################
    224 
    225     Extension('sage.finance.fractal',
    226               sources = ['sage/finance/fractal.pyx']),
    227    
    228     Extension('sage.finance.markov_multifractal_cython',
    229               sources = ['sage/finance/markov_multifractal_cython.pyx']),
    230 
    231     Extension('sage.finance.time_series',
    232               sources = ['sage/finance/time_series.pyx'],
    233               include_dirs = numpy_include_dirs),
    234 
    235 
    236     ################################
    237     ##
    238     ## sage.functions
    239     ##
    240     ################################
    241    
    242     Extension('sage.functions.prime_pi',
    243         sources = ['sage/functions/prime_pi.pyx']),
    244    
    245      ################################
    246      ##
    247      ## sage.games
    248      ##
    249      ################################
    250 
    251      Extension('sage.games.sudoku_backtrack',
    252                sources = ['sage/games/sudoku_backtrack.pyx']),
    253 
    254 
    255115    ################################
    256116    ## 
    257117    ## sage.graphs
    258118    ##
    259119    ################################
    260     # sage.graphs
    261 
    262     Extension('sage.graphs.chrompoly',
    263               sources = ['sage/graphs/chrompoly.pyx'],
    264               libraries = ['gmp']),
    265 
    266     Extension('sage.graphs.cliquer',
    267               sources = ['sage/graphs/cliquer.pyx'],
    268               libraries = ['cliquer']),
    269 
    270     Extension('sage.graphs.graph_fast',
    271               sources = ['sage/graphs/graph_fast.pyx'],
    272               libraries = ['gmp']),
    273120
    274121    Extension('sage.graphs.planarity',
    275122              sources = ['sage/graphs/planarity.pyx',
     
    288135                         'sage/graphs/planarity/listcoll.h',
    289136                         'sage/graphs/planarity/platformTime.h',
    290137                         'sage/graphs/planarity/stack.h']),
    291 
    292     Extension('sage.graphs.trees',
    293               sources = ['sage/graphs/trees.pyx']),
    294 
    295         ################################
    296         ##
    297         ## sage.graphs.base
    298         ##
    299         ################################
    300 
    301     Extension('sage.graphs.base.c_graph',
    302               sources = ['sage/graphs/base/c_graph.pyx']),
    303 
    304     Extension('sage.graphs.base.sparse_graph',
    305               sources = ['sage/graphs/base/sparse_graph.pyx']),
    306 
    307     Extension('sage.graphs.base.dense_graph',
    308               sources = ['sage/graphs/base/dense_graph.pyx']),
    309 
    310     ################################
    311     ##
    312     ## sage.groups
    313     ##
    314     ################################
    315 
    316     Extension('sage.groups.group',
    317               sources = ['sage/groups/group.pyx']),
    318 
    319     Extension('sage.groups.perm_gps.permgroup_element',
    320               sources = ['sage/groups/perm_gps/permgroup_element.pyx']),
    321 
    322         ###################################
    323         ##
    324         ## sage.groups.perm_gps.partn_ref
    325         ##
    326         ###################################
    327    
    328     Extension('sage.groups.perm_gps.partn_ref.automorphism_group_canonical_label',
    329               sources = ['sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx']),
    330 
    331     Extension('sage.groups.perm_gps.partn_ref.double_coset',
    332               sources = ['sage/groups/perm_gps/partn_ref/double_coset.pyx']),
    333 
    334     Extension('sage.groups.perm_gps.partn_ref.refinement_binary',
    335               sources = ['sage/groups/perm_gps/partn_ref/refinement_binary.pyx']),
    336 
    337     Extension('sage.groups.perm_gps.partn_ref.refinement_graphs',
    338               sources = ['sage/groups/perm_gps/partn_ref/refinement_graphs.pyx']),
    339 
    340     Extension('sage.groups.perm_gps.partn_ref.refinement_lists',
    341               sources = ['sage/groups/perm_gps/partn_ref/refinement_lists.pyx']),
    342 
    343     Extension('sage.groups.perm_gps.partn_ref.refinement_matrices',
    344               sources = ['sage/groups/perm_gps/partn_ref/refinement_matrices.pyx']),
    345 
    346     Extension('sage.groups.perm_gps.partn_ref.refinement_python',
    347               sources = ['sage/groups/perm_gps/partn_ref/refinement_python.pyx']),
    348 
    349     ################################
    350     ##
    351     ## sage.gsl
    352     ##
    353     ################################
    354    
    355     Extension('sage.gsl.callback',
    356               sources = ['sage/gsl/callback.pyx'],
    357               libraries = ['gsl', BLAS, BLAS2],
    358               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    359    
    360     Extension('sage.gsl.dwt',
    361               sources = ['sage/gsl/dwt.pyx'],
    362               libraries=['gsl',BLAS],
    363               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    364 
    365     Extension('sage.gsl.fft',
    366               sources = ['sage/gsl/fft.pyx'],
    367               libraries = ['gsl', BLAS, BLAS2],
    368               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    369    
    370     Extension('sage.gsl.gsl_array',
    371               sources = ['sage/gsl/gsl_array.pyx'],
    372               libraries=['gsl', BLAS, BLAS2],
    373               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    374    
    375     Extension('sage.gsl.integration',
    376               sources = ['sage/gsl/integration.pyx'],
    377               define_macros=[('GSL_DISABLE_DEPRECATED','1')],
    378               libraries=['gsl',BLAS, BLAS2]),
    379 
    380     Extension('sage.gsl.interpolation',
    381               sources = ['sage/gsl/interpolation.pyx'],
    382               libraries = ['gsl', BLAS, BLAS2],
    383               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    384    
    385     Extension('sage.gsl.ode',
    386               sources = ['sage/gsl/ode.pyx'],
    387               libraries=['gsl',BLAS, BLAS2],
    388               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    389    
    390     Extension('sage.gsl.probability_distribution',
    391               sources = ['sage/gsl/probability_distribution.pyx'],
    392               libraries=['gsl', BLAS, BLAS2],
    393               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    394 
    395     ################################
    396     ##
    397     ## sage.libs
    398     ##
    399     ################################
    400 
    401     Extension('sage.libs.flint.flint',
    402               sources = ["sage/libs/flint/flint.pyx"],
    403               libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++"],
    404               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    405               extra_compile_args=["-std=c99", "-D_XPG6"],
    406               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    407 
    408     Extension('sage.libs.flint.fmpz_poly',
    409               sources = ["sage/libs/flint/fmpz_poly.pyx"],
    410               libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++"],
    411               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    412               extra_compile_args=["-std=c99", "-D_XPG6"],
    413               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    414    
    415     Extension('sage.libs.fplll.fplll',
    416               sources = ['sage/libs/fplll/fplll.pyx'],
    417               libraries = ['gmp', 'mpfr', 'stdc++', 'fplll'],
    418               language="c++",
    419               include_dirs = [SAGE_ROOT +'/local/include/fplll'],
    420               depends = [SAGE_ROOT + "/local/include/fplll/fplll.h"]),
    421 
    422     Extension('sage.libs.linbox.linbox',
    423               sources = ['sage/libs/linbox/linbox.pyx'],
    424               # For this to work on cygwin, linboxwrap *must* be
    425               # before ntl.
    426               libraries = ['linboxsage', 'ntl', 'linbox', 'gmp', 'gmpxx',
    427                            'stdc++', 'givaro', BLAS, BLAS2],
    428               language = 'c++'),
    429    
    430     Extension('sage.libs.libecm',
    431               sources = ['sage/libs/libecm.pyx'],
    432               libraries = ['ecm', 'gmp'],
    433               depends = [SAGE_ROOT + "/local/include/ecm.h"]),
    434138     
    435139    Extension('sage.libs.mwrank.mwrank',
    436140              sources = ["sage/libs/mwrank/mwrank.pyx",
     
    438142              define_macros = [("NTL_ALL",None)],
    439143              depends = ["sage/libs/mwrank/wrap.h"],
    440144              libraries = ["curvesntl", "g0nntl", "jcntl", "rankntl",
    441                            "ntl", "gmp", "gmpxx", "stdc++", "m", "pari"]),
     145                           "ntl", "gmp", "gmpxx", "stdc++", "m", "pari"]),   
    442146   
    443     Extension('sage.libs.pari.gen',
    444               sources = ["sage/libs/pari/gen.pyx"],
    445               libraries = ['pari', 'gmp']),
    446    
    447     Extension('sage.libs.ratpoints',
    448               sources = ["sage/libs/ratpoints.pyx"],
    449               #depends = [SAGE_ROOT + 'local/include/ratpoints.h'],
    450               libraries = ["ratpoints", "gmp"]),
    451    
    452     Extension('sage.libs.singular.singular',
    453               sources = ['sage/libs/singular/singular.pyx'],
    454               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    455               language="c++",
    456               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    457               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    458    
    459     Extension('sage.libs.singular.polynomial',
    460               sources = ['sage/libs/singular/polynomial.pyx'],
    461               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    462               language="c++",
    463               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    464               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    465 
    466     Extension('sage.libs.singular.ring',
    467               sources = ['sage/libs/singular/ring.pyx'],
    468               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    469               language="c++",
    470               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    471               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    472 
    473     Extension('sage.libs.singular.groebner_strategy',
    474               sources = ['sage/libs/singular/groebner_strategy.pyx'],
    475               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    476               language="c++",
    477               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    478               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    479 
    480     Extension('sage.libs.singular.function',
    481               sources = ['sage/libs/singular/function.pyx'],
    482               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    483               language="c++",
    484               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    485               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    486 
    487     Extension('sage.libs.singular.option',
    488               sources = ['sage/libs/singular/option.pyx'],
    489               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    490               language="c++",
    491               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    492               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    493 
    494     Extension('sage.libs.symmetrica.symmetrica',
    495               sources = ["sage/libs/symmetrica/%s"%s for s in ["symmetrica.pyx"]],
    496               include_dirs = ['/usr/include/malloc/'],
    497               libraries = ["symmetrica"],
    498               depends = [SAGE_ROOT + "/local/include/symmetrica/def.h"]),
    499 
    500     Extension('sage.libs.mpmath.utils',
    501               sources = ["sage/libs/mpmath/utils.pyx"],
    502               libraries = ['mpfr', 'gmp']),
    503    
    504         ###################################
    505         ##
    506         ## sage.libs.cremona
    507         ##
    508         ###################################
    509        
    510     Extension('sage.libs.cremona.homspace',
    511               sources = ["sage/libs/cremona/homspace.pyx"],
    512               libraries = ['g0nntl', 'jcntl', 'gmpxx', 'ntl', 'gmp',
    513                            'm', 'stdc++', 'pari', 'curvesntl'],
    514               language='c++',
    515               define_macros = [("NTL_ALL",None)]),
    516 
    517     Extension('sage.libs.cremona.mat',
    518               sources = ["sage/libs/cremona/mat.pyx"],
    519               libraries = ['g0nntl', 'jcntl', 'gmpxx', 'ntl',
    520                            'gmp', 'm', 'stdc++', ],
    521               language='c++',
    522               define_macros = [("NTL_ALL",None)]),
    523 
    524     Extension('sage.libs.cremona.newforms',
    525               sources = ["sage/libs/cremona/newforms.pyx"],
    526               libraries = ['g0nntl', 'jcntl', 'gmpxx', 'ntl', 'gmp',
    527                            'm', 'stdc++', 'pari', 'curvesntl'],
    528               language='c++',
    529               define_macros = [("NTL_ALL",None)]),
    530 
    531         ###################################
    532         ##
    533         ## sage.libs.ntl
    534         ##
    535         ###################################
    536    
    537     # NOTE: It is *very* important (for cygwin) that csage be the
    538     # first library listed for all ntl extensions below.
    539 
    540     Extension('sage.libs.ntl.ntl_GF2',
    541               sources = ["sage/libs/ntl/ntl_GF2.pyx"],
    542               libraries = ["csage", "ntl", "gmp", "gmpxx", "stdc++"],
    543               language='c++'),
    544 
    545     Extension('sage.libs.ntl.ntl_GF2E',
    546               sources = ["sage/libs/ntl/ntl_GF2E.pyx"],
    547               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    548               language='c++'),
    549 
    550     Extension('sage.libs.ntl.ntl_GF2EContext',
    551               sources = ["sage/libs/ntl/ntl_GF2EContext.pyx"],
    552               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    553               language='c++'),
    554 
    555     Extension('sage.libs.ntl.ntl_GF2EX',
    556               sources = ["sage/libs/ntl/ntl_GF2EX.pyx"],
    557               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    558               language='c++'),
    559 
    560     Extension('sage.libs.ntl.ntl_GF2X',
    561               sources = ["sage/libs/ntl/ntl_GF2X.pyx"],
    562               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    563               language='c++'),
    564 
    565     Extension('sage.libs.ntl.ntl_lzz_p',
    566               sources = ["sage/libs/ntl/ntl_lzz_p.pyx"],
    567               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    568               language='c++'),
    569 
    570     Extension('sage.libs.ntl.ntl_lzz_pContext',
    571               sources = ["sage/libs/ntl/ntl_lzz_pContext.pyx"],
    572               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    573               language='c++'),
    574 
    575     Extension('sage.libs.ntl.ntl_lzz_pX',
    576               sources = ["sage/libs/ntl/ntl_lzz_pX.pyx"],
    577               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    578               language='c++'),
    579 
    580     Extension('sage.libs.ntl.ntl_mat_GF2',
    581               sources = ["sage/libs/ntl/ntl_mat_GF2.pyx"],
    582               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    583               language='c++'),
    584 
    585     Extension('sage.libs.ntl.ntl_mat_GF2E',
    586               sources = ["sage/libs/ntl/ntl_mat_GF2E.pyx"],
    587               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    588               language='c++'),
    589 
    590     Extension('sage.libs.ntl.ntl_mat_ZZ',
    591               sources = ["sage/libs/ntl/ntl_mat_ZZ.pyx"],
    592               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    593               language='c++'),
    594 
    595     Extension('sage.libs.ntl.ntl_ZZ',
    596               sources = ["sage/libs/ntl/ntl_ZZ.pyx"],
    597               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    598               language='c++'),
    599 
    600     Extension('sage.libs.ntl.ntl_ZZX',
    601               sources = ["sage/libs/ntl/ntl_ZZX.pyx"],
    602               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    603               language='c++'),
    604 
    605     Extension('sage.libs.ntl.ntl_ZZ_p',
    606               sources = ["sage/libs/ntl/ntl_ZZ_p.pyx"],
    607               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    608               language='c++'),
    609 
    610     Extension('sage.libs.ntl.ntl_ZZ_pContext',
    611               sources = ["sage/libs/ntl/ntl_ZZ_pContext.pyx"],
    612               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    613               language='c++'),
    614 
    615     Extension('sage.libs.ntl.ntl_ZZ_pE',
    616               sources = ["sage/libs/ntl/ntl_ZZ_pE.pyx"],
    617               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    618               language='c++'),
    619 
    620     Extension('sage.libs.ntl.ntl_ZZ_pEContext',
    621               sources = ["sage/libs/ntl/ntl_ZZ_pEContext.pyx"],
    622               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    623               language='c++'),
    624 
    625     Extension('sage.libs.ntl.ntl_ZZ_pEX',
    626               sources = ["sage/libs/ntl/ntl_ZZ_pEX.pyx"],
    627               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    628               language='c++'),
    629 
    630     Extension('sage.libs.ntl.ntl_ZZ_pX',
    631               sources = ["sage/libs/ntl/ntl_ZZ_pX.pyx"],
    632               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    633               language='c++'),
    634 
    635 
    636 
    637     ################################
    638     ##
    639     ## sage.matrix
    640     ##
    641     ################################
    642 
    643     Extension('sage.matrix.action',
    644               sources = ['sage/matrix/action.pyx']),
    645    
    646     Extension('sage.matrix.change_ring',
    647               sources = ['sage/matrix/change_ring.pyx'],
    648               libraries=[BLAS, BLAS2, 'gmp'],
    649               include_dirs = numpy_include_dirs),
    650 
    651     Extension('sage.matrix.matrix',
    652               sources = ['sage/matrix/matrix.pyx']),
    653 
    654     Extension('sage.matrix.matrix0',
    655               sources = ['sage/matrix/matrix0.pyx']),
    656 
    657     Extension('sage.matrix.matrix1',
    658               sources = ['sage/matrix/matrix1.pyx']),
    659 
    660     Extension('sage.matrix.matrix2',
    661               sources = ['sage/matrix/matrix2.pyx']),
    662    
    663     Extension('sage.matrix.matrix_complex_double_dense',
    664               sources = ['sage/matrix/matrix_complex_double_dense.pyx'],
    665               libraries=[BLAS, BLAS2],
    666               include_dirs = numpy_include_dirs),
    667 
    668     Extension('sage.matrix.matrix_cyclo_dense',
    669               sources = ['sage/matrix/matrix_cyclo_dense.pyx'],
    670               language = "c++",
    671               libraries=['ntl', 'gmp']),
    672 
    673     #Extension('sage.matrix.matrix_cyclo_sparse',
    674     #          sources = ['sage/matrix/matrix_cyclo_sparse.pyx']),
    675    
    676     Extension('sage.matrix.matrix_dense',
    677               sources = ['sage/matrix/matrix_dense.pyx']),
    678    
    679     #Extension('sage.matrix.matrix_domain_dense',
    680     #          sources = ['sage/matrix/matrix_domain_dense.pyx']),
    681 
    682     #Extension('sage.matrix.matrix_domain_sparse',
    683     #          sources = ['sage/matrix/matrix_domain_sparse.pyx']),
    684              
    685     Extension('sage.matrix.matrix_double_dense',
    686               sources = ['sage/matrix/matrix_double_dense.pyx'],
    687               libraries=[BLAS, BLAS2],
    688               include_dirs = numpy_include_dirs),
    689 
    690     Extension('sage.matrix.matrix_generic_dense',
    691               sources = ['sage/matrix/matrix_generic_dense.pyx']),
    692    
    693     Extension('sage.matrix.matrix_generic_sparse',
    694               sources = ['sage/matrix/matrix_generic_sparse.pyx']),
    695 
    696     Extension('sage.matrix.matrix_integer_2x2',
    697               sources = ['sage/matrix/matrix_integer_2x2.pyx'],
    698               libraries = ['gmp']),
    699 
    700     # TODO -- change to use BLAS at some point.
    701     Extension('sage.matrix.matrix_integer_dense',
    702               sources = ['sage/matrix/matrix_integer_dense.pyx'],
    703               # order matters for cygwin!!
    704               libraries = ['iml', 'gmp', 'm', BLAS, BLAS2]),
    705 
    706     Extension('sage.matrix.matrix_integer_sparse',
    707               sources = ['sage/matrix/matrix_integer_sparse.pyx'],
    708               libraries = ['gmp']),
    709 
    710     Extension('sage.matrix.matrix_mod2_dense',
    711               sources = ['sage/matrix/matrix_mod2_dense.pyx'],
    712               libraries = ['gmp','m4ri', 'png12', 'gd'],
    713               depends = [SAGE_ROOT + "/local/include/png.h"]),
    714 
    715     Extension('sage.matrix.matrix_modn_dense',
    716               sources = ['sage/matrix/matrix_modn_dense.pyx'],
    717               libraries = ['gmp']),
    718 
    719     Extension('sage.matrix.matrix_modn_sparse',
    720               sources = ['sage/matrix/matrix_modn_sparse.pyx']),
    721 
    722     Extension('sage.matrix.matrix_mpolynomial_dense',
    723               sources = ['sage/matrix/matrix_mpolynomial_dense.pyx'],
    724               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    725               language="c++",
    726               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    727               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    728 
    729     #Extension('sage.matrix.matrix_pid_dense',
    730     #          sources = ['sage/matrix/matrix_pid_dense.pyx']),
    731              
    732     #Extension('sage.matrix.matrix_pid_sparse',
    733     #          sources = ['sage/matrix/matrix_pid_sparse.pyx']),
    734 
    735     Extension('sage.matrix.matrix_rational_dense',
    736               sources = ['sage/matrix/matrix_rational_dense.pyx'],
    737               libraries = ['gmp']),
    738    
    739     Extension('sage.matrix.matrix_rational_sparse',
    740               sources = ['sage/matrix/matrix_rational_sparse.pyx'],
    741               libraries = ['gmp']),
    742    
    743     Extension('sage.matrix.matrix_real_double_dense',
    744               sources = ['sage/matrix/matrix_real_double_dense.pyx'],
    745               libraries=[BLAS, BLAS2],
    746               include_dirs = numpy_include_dirs),
    747 
    748     Extension('sage.matrix.matrix_sparse',
    749               sources = ['sage/matrix/matrix_sparse.pyx']),
    750    
    751     Extension('sage.matrix.matrix_symbolic_dense',
    752               sources = ['sage/matrix/matrix_symbolic_dense.pyx']),
    753 
    754     Extension('sage.matrix.matrix_window',
    755               sources = ['sage/matrix/matrix_window.pyx']),
    756 
    757     Extension('sage.matrix.matrix_window_modn_dense',
    758               sources = ['sage/matrix/matrix_window_modn_dense.pyx']),
    759 
    760     Extension('sage.matrix.misc',
    761               sources = ['sage/matrix/misc.pyx'],
    762               libraries=['mpfr','gmp']),
    763    
    764     Extension('sage.matrix.strassen',
    765               sources = ['sage/matrix/strassen.pyx']),
    766                            
    767     #Extension('sage.matrix.padics.matrix_padic_capped_relative_dense',
    768     #          sources = ['sage/matrix/padics/matrix_padic_capped_relative_dense.pyx']),
    769 
    770     ################################
    771     ##
    772     ## sage.media
    773     ##
    774     ################################
    775 
    776     Extension('sage.media.channels',
    777               sources = ['sage/media/channels.pyx']),
    778    
    779     ################################
    780     ##
    781     ## sage.misc
    782     ##
    783     ################################
    784 
    785     Extension('sage.misc.allocator',
    786               sources = ['sage/misc/allocator.pyx']),
    787 
    788     Extension('sage.misc.bitset',
    789               sources = ['sage/misc/bitset.pyx']),
    790 
    791     Extension('sage.misc.citation',
    792               sources = ['sage/misc/citation.pyx']),
    793 
    794     Extension('sage.misc.cython_c',
    795               sources = ['sage/misc/cython_c.pyx']),
    796 
    797     Extension('sage.misc.derivative',
    798               sources = ['sage/misc/derivative.pyx']),
    799 
    800     Extension('sage.misc.fpickle',
    801               sources = ['sage/misc/fpickle.pyx']),
    802 
    803     Extension('sage.misc.misc_c',
    804               sources = ['sage/misc/misc_c.pyx']),
    805 
    806     Extension('sage.misc.parser',
    807               sources = ['sage/misc/parser.pyx']),
    808 
    809     Extension('sage.misc.pickle_old',
    810               sources = ['sage/misc/pickle_old.pyx']),
    811 
    812     Extension('sage.misc.randstate',
    813               sources = ['sage/misc/randstate.pyx']),
    814    
    815     Extension('sage.misc.refcount',
    816               sources = ['sage/misc/refcount.pyx']),
    817 
    818     Extension('sage.misc.reset',
    819               sources = ['sage/misc/reset.pyx']),
    820 
    821     Extension('sage.misc.sage_timeit_class',
    822               sources = ['sage/misc/sage_timeit_class.pyx']),
    823    
    824     Extension('sage.misc.sagex_ds',
    825               sources = ['sage/misc/sagex_ds.pyx']),
    826    
    827     Extension('sage.misc.search',
    828               sources = ['sage/misc/search.pyx']),
    829 
    830     Extension('sage.misc.session',
    831               sources = ['sage/misc/session.pyx']),
    832 
    833     ################################
    834     ##
    835     ## sage.modular
    836     ##
    837     ################################
    838 
    839     Extension('sage.modular.arithgroup.congroup_pyx',
    840               sources = ['sage/modular/arithgroup/congroup_pyx.pyx']),
    841 
    842     Extension('sage.modular.modsym.apply',
    843               sources = ['sage/modular/modsym/apply.pyx'],
    844               libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++"],
    845               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    846               extra_compile_args=["-std=c99",  "-D_XPG6"],
    847               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    848 
    849     Extension('sage.modular.modsym.heilbronn',
    850               sources = ['sage/modular/modsym/heilbronn.pyx'],
    851               libraries = ["csage", "flint", "gmp", "gmpxx", "m", "stdc++"],
    852               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    853               extra_compile_args=["-std=c99", "-D_XPG6"],
    854               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    855 
    856     Extension('sage.modular.modsym.p1list',
    857               sources = ['sage/modular/modsym/p1list.pyx'],
    858               libraries = ['gmp']),
    859 
    860     ################################
    861     ##
    862     ## sage.modules
    863     ##
    864     ################################
    865 
    866     Extension('sage.modules.free_module_element',
    867               sources = ['sage/modules/free_module_element.pyx']),
    868    
    869     Extension('sage.modules.module',
    870               sources = ['sage/modules/module.pyx']),
    871              
    872     Extension('sage.modules.vector_complex_double_dense',
    873               ['sage/modules/vector_complex_double_dense.pyx'],
    874               libraries = [BLAS, BLAS2],
    875               include_dirs = numpy_include_dirs),
    876 
    877     Extension('sage.modules.vector_double_dense',
    878               ['sage/modules/vector_double_dense.pyx'],
    879               libraries = [BLAS, BLAS2],
    880               include_dirs = numpy_include_dirs),
    881  
    882     Extension('sage.modules.vector_integer_dense',
    883               sources = ['sage/modules/vector_integer_dense.pyx'],
    884               libraries = ['gmp']),
    885 
    886     Extension('sage.modules.vector_modn_dense',
    887               sources = ['sage/modules/vector_modn_dense.pyx']),
    888 
    889     Extension('sage.modules.vector_mod2_dense',
    890               sources = ['sage/modules/vector_mod2_dense.pyx'],
    891               libraries = ['gmp','m4ri', 'png12', 'gd'],
    892               depends = [SAGE_ROOT + "/local/include/png.h"]),
    893    
    894     Extension('sage.modules.vector_rational_dense',
    895               sources = ['sage/modules/vector_rational_dense.pyx'],
    896               libraries = ['gmp']),
    897 
    898     Extension('sage.modules.vector_real_double_dense',
    899               ['sage/modules/vector_real_double_dense.pyx'],
    900               libraries = [BLAS, BLAS2],
    901               include_dirs = numpy_include_dirs),
    902 
    903     # Extension('sage.modules.vector_rational_sparse',
    904     #           sources = ['sage/modules/vector_rational_sparse.pyx'],
    905     #           libraries = ['gmp']),
    906 
    907     ################################
    908     ##
    909     ## sage.numerical
    910     ##
    911     ################################
    912 
    913 
    914     Extension("sage.numerical.mip",
    915               ["sage/numerical/mip.pyx"],
    916             include_dirs=["local/include/"],
    917             libraries=["csage","stdc++"]),
    918 
    919 
    920     ################################
    921     ##
    922     ## sage.plot
    923     ##
    924     ################################
    925 
    926     Extension('sage.plot.complex_plot',
    927               sources = ['sage/plot/complex_plot.pyx'],
    928               include_dirs = numpy_include_dirs),
    929    
    930     Extension('sage.plot.plot3d.base',
    931               sources = ['sage/plot/plot3d/base.pyx']),
    932    
    933     Extension('sage.plot.plot3d.implicit_surface',
    934               sources = ['sage/plot/plot3d/implicit_surface.pyx'],
    935               libraries = ['gsl'],
    936               include_dirs = numpy_include_dirs),
    937    
    938     Extension('sage.plot.plot3d.index_face_set',
    939               sources = ['sage/plot/plot3d/index_face_set.pyx']),
    940    
    941     Extension('sage.plot.plot3d.parametric_surface',
    942               sources = ['sage/plot/plot3d/parametric_surface.pyx']),
    943 
    944     Extension('sage.plot.plot3d.shapes',
    945               sources = ['sage/plot/plot3d/shapes.pyx']),
    946 
    947     Extension('sage.plot.plot3d.transform',
    948               sources = ['sage/plot/plot3d/transform.pyx']),
    949 
    950     ################################
    951     ##
    952     ## sage.quadratic_forms
    953     ##
    954     ################################
    955 
    956     Extension('sage.quadratic_forms.count_local_2',
    957               sources = ['sage/quadratic_forms/count_local_2.pyx']),
    958 
    959     Extension('sage.quadratic_forms.quadratic_form__evaluate',
    960               sources = ['sage/quadratic_forms/quadratic_form__evaluate.pyx']),
    961 
    962147    ################################
    963148    ##
    964149    ## sage.rings
     
    978163              define_macros=[('USE_THREADS', '1'),
    979164                             ('THREAD_STACK_SIZE', '4096')]),
    980165
    981     Extension('sage.rings.bernoulli_mod_p',
    982               sources = ['sage/rings/bernoulli_mod_p.pyx'],
    983               libraries=['ntl','stdc++'],
    984               language = 'c++',
    985               include_dirs = ['sage/libs/ntl/']),
    986 
    987     Extension('sage.rings.complex_double',
    988               sources = ['sage/rings/complex_double.pyx'],
    989               extra_compile_args=["-std=c99",  "-D_XPG6"],
    990               libraries = ['gsl', BLAS, BLAS2, 'pari', 'gmp']),
    991 
    992     Extension('sage.rings.complex_interval',
    993               sources = ['sage/rings/complex_interval.pyx'],
    994               libraries = ['mpfi', 'mpfr', 'gmp']),
    995 
    996     Extension('sage.rings.complex_number',
    997               sources = ['sage/rings/complex_number.pyx'],
    998               libraries = ['mpfr', 'gmp']),
    999 
    1000     Extension('sage.rings.integer',
    1001               sources = ['sage/rings/integer.pyx'],
    1002               libraries=['ntl', 'gmp', 'pari']),
    1003 
    1004     Extension('sage.rings.integer_ring',
    1005               sources = ['sage/rings/integer_ring.pyx'],
    1006               libraries=['ntl', 'gmp']),
    1007 
    1008     Extension('sage.rings.fast_arith',
    1009               sources = ['sage/rings/fast_arith.pyx'],
    1010               libraries=['gmp','pari','csage']),
    1011 
    1012     Extension('sage.rings.finite_field_givaro',
    1013               sources = ["sage/rings/finite_field_givaro.pyx"],
    1014               # this order is needed to compile under windows.
    1015               libraries = ['givaro', 'gmpxx', 'gmp', 'm', 'stdc++', ],
    1016               language='c++'),
    1017 
    1018     Extension('sage.rings.finite_field_ntl_gf2e',
    1019               sources = ['sage/rings/finite_field_ntl_gf2e.pyx'],
    1020               libraries = ['ntl', 'gmp'],
    1021               language = 'c++'),
    1022 
    1023     Extension('sage.rings.fraction_field_element',
    1024               sources = ['sage/rings/fraction_field_element.pyx']),
    1025    
    1026     Extension('sage.rings.integer_mod',
    1027               sources = ['sage/rings/integer_mod.pyx'],
    1028               libraries = ['gmp']),
    1029 
    1030     Extension('sage.rings.laurent_series_ring_element',
    1031               sources = ['sage/rings/laurent_series_ring_element.pyx']),
    1032 
    1033     Extension('sage.rings.memory',
    1034               sources = ['sage/rings/memory.pyx'],
    1035               libraries=['gmp','stdc++']),
    1036 
    1037     Extension('sage.rings.morphism',
    1038               sources = ['sage/rings/morphism.pyx']),
    1039 
    1040     Extension('sage.rings.power_series_mpoly',
    1041               sources = ['sage/rings/power_series_mpoly.pyx']),
    1042 
    1043     Extension('sage.rings.power_series_poly',
    1044               sources = ['sage/rings/power_series_poly.pyx']),
    1045 
    1046     Extension('sage.rings.power_series_ring_element',
    1047               sources = ['sage/rings/power_series_ring_element.pyx']),
    1048 
    1049     Extension('sage.rings.rational',
    1050               sources = ['sage/rings/rational.pyx'],
    1051               libraries=['ntl', 'gmp']),
    1052 
    1053     Extension('sage.rings.real_double',
    1054               sources = ['sage/rings/real_double.pyx'],
    1055               libraries = ['gsl', 'gmp', BLAS, BLAS2],
    1056               define_macros=[('GSL_DISABLE_DEPRECATED','1')]),
    1057 
    1058     Extension('sage.rings.real_lazy',
    1059               sources = ['sage/rings/real_lazy.pyx']),
    1060 
    1061     Extension('sage.rings.real_mpfi',
    1062               sources = ['sage/rings/real_mpfi.pyx'],
    1063               libraries = ['mpfi', 'mpfr', 'gmp']),
    1064 
    1065     Extension('sage.rings.real_mpfr',
    1066               sources = ['sage/rings/real_mpfr.pyx'],
    1067               libraries = ['mpfr', 'pari', 'gmp']),
    1068 
    1069     #Extension('sage.rings.real_rqdf',
    1070     #          sources = ["sage/rings/real_rqdf.pyx"],
    1071     #          libraries = ['qd', 'm', 'stdc++','gmp','mpfr' ],
    1072     #          language='c++'),
    1073 
    1074     Extension('sage.rings.residue_field',
    1075               sources = ['sage/rings/residue_field.pyx']),
    1076 
    1077     Extension('sage.rings.ring',
    1078               sources = ['sage/rings/ring.pyx']),
    1079 
    1080         ################################
    1081         ##
    1082         ## sage.rings.number_field
    1083         ##
    1084         ################################
    1085 
    1086     Extension('sage.rings.number_field.number_field_base',
    1087               sources = ['sage/rings/number_field/number_field_base.pyx']),
    1088 
    1089     Extension('sage.rings.number_field.number_field_element',
    1090               sources = ['sage/rings/number_field/number_field_element.pyx'],
    1091               libraries=['ntl','gmp'],
    1092               language = 'c++'),
    1093 
    1094     Extension('sage.rings.number_field.number_field_element_quadratic',
    1095               sources = ['sage/rings/number_field/number_field_element_quadratic.pyx'],
    1096               libraries=['gmp'],
    1097               language = 'c++'),
    1098  
    1099     Extension('sage.rings.number_field.number_field_morphisms',
    1100               sources = ['sage/rings/number_field/number_field_morphisms.pyx']),
    1101 
    1102     Extension('sage.rings.number_field.totallyreal',
    1103               sources = ['sage/rings/number_field/totallyreal.pyx'],
    1104               libraries = ['gmp', 'pari']),
    1105    
    1106     Extension('sage.rings.number_field.totallyreal_data',
    1107               sources = ['sage/rings/number_field/totallyreal_data.pyx'],
    1108               libraries = ['gmp']),
    1109    
    1110         ################################
    1111         ##
    1112         ## sage.rings.padics
    1113         ##
    1114         ################################
    1115    
    1116     Extension('sage.rings.padics.local_generic_element',
    1117               sources = ['sage/rings/padics/local_generic_element.pyx']),
    1118    
    1119     #Extension('sage.rings.padics.morphism',
    1120     #          sources = ['sage/rings/padics/morphism.pyx'],
    1121     #          libraries=['gmp', 'ntl', 'csage', 'gmpxx', 'm', 'stdc++'],
    1122     #          language='c++'),                 
    1123    
    1124     Extension('sage.rings.padics.padic_base_generic_element',
    1125               sources = ['sage/rings/padics/padic_base_generic_element.pyx']),
    1126    
    1127     Extension('sage.rings.padics.padic_capped_absolute_element',
    1128               sources = ['sage/rings/padics/padic_capped_absolute_element.pyx'],
    1129               libraries=['gmp']),
    1130    
    1131     Extension('sage.rings.padics.padic_capped_relative_element',
    1132               sources = ['sage/rings/padics/padic_capped_relative_element.pyx'],
    1133               libraries=['gmp', 'csage']),
    1134    
    1135     Extension('sage.rings.padics.padic_ext_element',
    1136               sources = ['sage/rings/padics/padic_ext_element.pyx'],
    1137               libraries=['gmp', 'ntl', 'csage', 'gmpxx', 'm', 'stdc++'],
    1138               language='c++'),
    1139    
    1140     Extension('sage.rings.padics.padic_fixed_mod_element',
    1141               sources = ['sage/rings/padics/padic_fixed_mod_element.pyx'],
    1142               libraries=['gmp']),
    1143    
    1144     Extension('sage.rings.padics.padic_generic_element',
    1145               sources = ['sage/rings/padics/padic_generic_element.pyx']),
    1146    
    1147     Extension('sage.rings.padics.padic_printing',
    1148               sources = ['sage/rings/padics/padic_printing.pyx'],
    1149               libraries=['gmp', 'ntl', 'csage', 'gmpxx', 'm', 'stdc++'],
    1150               language='c++'),
    1151    
    1152     Extension('sage.rings.padics.padic_ZZ_pX_CA_element',
    1153               sources = ['sage/rings/padics/padic_ZZ_pX_CA_element.pyx'],
    1154               libraries = ['gmp','ntl','csage','gmpxx','m','stdc++'],
    1155               language='c++'),
    1156    
    1157     Extension('sage.rings.padics.padic_ZZ_pX_CR_element',
    1158               sources = ['sage/rings/padics/padic_ZZ_pX_CR_element.pyx'],
    1159               libraries=['gmp','ntl','csage','gmpxx','m','stdc++'],
    1160               language='c++'),
    1161    
    1162     Extension('sage.rings.padics.padic_ZZ_pX_element',
    1163               sources = ['sage/rings/padics/padic_ZZ_pX_element.pyx'],
    1164               libraries=['gmp', 'ntl', 'csage', 'gmpxx', 'm', 'stdc++'],
    1165               language='c++'),
    1166    
    1167     Extension('sage.rings.padics.padic_ZZ_pX_FM_element',
    1168               sources = ['sage/rings/padics/padic_ZZ_pX_FM_element.pyx'],
    1169               libraries=['gmp', 'ntl', 'csage', 'gmpxx', 'm', 'stdc++'],
    1170               language='c++'),
    1171    
    1172     Extension('sage.rings.padics.pow_computer',
    1173               sources = ['sage/rings/padics/pow_computer.pyx'],
    1174               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    1175               language='c++'),
    1176    
    1177     Extension('sage.rings.padics.pow_computer_ext',
    1178               sources = ['sage/rings/padics/pow_computer_ext.pyx'],
    1179               libraries = ["csage", "ntl", "gmp", "gmpxx", "m", "stdc++"],
    1180               language='c++'),
    1181 
    1182166        ################################
    1183167        ##
    1184168        ## sage.rings.polynomial
    1185169        ##
    1186170        ################################
    1187    
    1188     Extension('sage.rings.polynomial.cyclotomic',
    1189               sources = ['sage/rings/polynomial/cyclotomic.pyx']),
    1190 
    1191     Extension('sage.rings.polynomial.laurent_polynomial',
    1192               sources = ['sage/rings/polynomial/laurent_polynomial.pyx']),
    1193 
    1194     Extension('sage.rings.polynomial.multi_polynomial',
    1195               sources = ['sage/rings/polynomial/multi_polynomial.pyx']),
    1196 
    1197     Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular',
    1198               sources = ['sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx'],
    1199               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    1200               language="c++",
    1201               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    1202               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    1203 
    1204     Extension('sage.rings.polynomial.multi_polynomial_libsingular',
    1205               sources = ['sage/rings/polynomial/multi_polynomial_libsingular.pyx'],
    1206               libraries = ['m', 'readline', 'singular', 'givaro', 'gmpxx', 'gmp'],
    1207               language="c++",
    1208               include_dirs = [SAGE_ROOT +'/local/include/singular'],
    1209               depends = [SAGE_ROOT + "/local/include/libsingular.h"]),
    1210 
    1211     Extension('sage.rings.polynomial.multi_polynomial_ring_generic',
    1212               sources = ['sage/rings/polynomial/multi_polynomial_ring_generic.pyx']),
    1213 
    1214     Extension('sage.rings.polynomial.polydict',
    1215               sources = ['sage/rings/polynomial/polydict.pyx']),
    1216 
    1217     Extension('sage.rings.polynomial.polynomial_compiled',
    1218                sources = ['sage/rings/polynomial/polynomial_compiled.pyx']),
    1219 
    1220     Extension('sage.rings.polynomial.polynomial_element',
    1221               sources = ['sage/rings/polynomial/polynomial_element.pyx']),
    1222 
    1223     Extension('sage.rings.polynomial.polynomial_gf2x',
    1224               sources = ['sage/rings/polynomial/polynomial_gf2x.pyx'],
    1225               libraries = ['ntl', 'stdc++', 'gmp'],
    1226               language = 'c++',
    1227               include_dirs = ['sage/libs/ntl/']),
    1228 
    1229     Extension('sage.rings.polynomial.polynomial_zmod_flint',
    1230               sources = ['sage/rings/polynomial/polynomial_zmod_flint.pyx'],
    1231               libraries = ["csage", "flint", "gmp", "gmpxx", "ntl", "zn_poly"],
    1232               extra_compile_args=["-std=c99", "-D_XPG6"],
    1233               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    1234               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    1235 
    1236     Extension('sage.rings.polynomial.polynomial_integer_dense_flint',
    1237               sources = ['sage/rings/polynomial/polynomial_integer_dense_flint.pyx'],
    1238               language = 'c++',
    1239               libraries = ["csage", "flint", "gmp", "gmpxx", "ntl"],
    1240               include_dirs = [SAGE_ROOT+'/local/include/FLINT/'],
    1241               depends = [SAGE_ROOT + "/local/include/FLINT/flint.h"]),
    1242 
    1243     Extension('sage.rings.polynomial.polynomial_integer_dense_ntl',
    1244               sources = ['sage/rings/polynomial/polynomial_integer_dense_ntl.pyx'],
    1245               libraries = ['ntl', 'stdc++', 'gmp'],
    1246               language = 'c++',
    1247               include_dirs = ['sage/libs/ntl/']),
    1248 
    1249     Extension('sage.rings.polynomial.polynomial_modn_dense_ntl',
    1250               sources = ['sage/rings/polynomial/polynomial_modn_dense_ntl.pyx'],
    1251               libraries = ['ntl', 'stdc++', 'gmp'],
    1252               language = 'c++',
    1253               include_dirs = ['sage/libs/ntl/']),
    1254171
    1255172    Extension('sage.rings.polynomial.pbori',
    1256173              sources = ['sage/rings/polynomial/pbori.pyx'],
     
    1262179              extra_compile_args = polybori_extra_compile_args,
    1263180              language = 'c++'),
    1264181
    1265     Extension('sage.rings.polynomial.polynomial_real_mpfr_dense',
    1266               sources = ['sage/rings/polynomial/polynomial_real_mpfr_dense.pyx'],
    1267               libraries = ['mpfr', 'gmp']),
    1268 
    1269     Extension('sage.rings.polynomial.real_roots',
    1270               sources = ['sage/rings/polynomial/real_roots.pyx'],
    1271               #libraries=['mpfr', 'qd],
    1272               libraries=['mpfr'],
    1273               include_dirs = numpy_include_dirs),
    1274 
    1275     Extension('sage.rings.polynomial.symmetric_reduction',
    1276               sources = ['sage/rings/polynomial/symmetric_reduction.pyx']),
    1277 
    1278182    ################################
    1279183    ##
    1280184    ## sage.schemes
     
    1294198              include_dirs = ['sage/libs/ntl/',
    1295199                              'sage/schemes/hyperelliptic_curves/hypellfrob/']),
    1296200
     201    ]
    1297202
    1298     ################################
    1299     ##
    1300     ## sage.stats
    1301     ##
    1302     ################################
    1303203
    1304     Extension('sage.stats.hmm.chmm',
    1305               sources = ['sage/stats/hmm/chmm.pyx'],
    1306               libraries = ['ghmm'],
    1307               include_dirs=numpy_include_dirs),
    1308    
    1309     Extension('sage.stats.hmm.hmm',
    1310               sources = ['sage/stats/hmm/hmm.pyx'],
    1311               libraries = ['ghmm'],
    1312               include_dirs=numpy_include_dirs),
    1313204
    1314     ################################
    1315     ##
    1316     ## sage.structure
    1317     ##
    1318     ################################
    1319205
    1320     Extension('sage.structure.category_object',
    1321               sources = ['sage/structure/category_object.pyx']),
     206def preparse_paths(raw_paths):
     207    paths = []
     208    for path in raw_paths:
     209        if path == "NUMPY":
     210            paths += numpy_include_dirs
     211        else:
     212            path = path.replace("SAGE_ROOT", SAGE_ROOT).replace("SAGE_LOCAL", SAGE_LOCAL)
     213            paths.append(path)
     214    return paths
    1322215
    1323     Extension('sage.structure.coerce',
    1324               sources = ['sage/structure/coerce.pyx']),
     216def preparse_libs(raw_libs):
     217    if 'BLAS' in raw_libs:
     218        raw_libs[raw_libs.index('BLAS')] = BLAS
     219    if 'BLAS2' in raw_libs:
     220        raw_libs[raw_libs.index('BLAS2')] = BLAS2
     221    return raw_libs
    1325222
    1326     Extension('sage.structure.coerce_actions',
    1327               sources = ['sage/structure/coerce_actions.pyx']),
     223def create_extension(module_path):
     224    """
     225    Creates an distutils Extension out of a .pyx file, preparsing
     226    clang, cflags, etc. out of the top comments.
     227    """
     228    module_name = module_path[:-4].replace('/', '.')
     229    cflags = None
     230    clang = None
     231    clib = []
     232    cinclude = []
     233    cdepends = []
     234    cflags = None
     235    for line in open(SAGE_ROOT + "/devel/sage/" + module_path, 'r').xreadlines():
     236        if line[0] != '#' and line.strip():
     237            break
     238        line = line[1:].strip()
     239        if line == '':
     240            continue
     241        tokens = re.split(' *', line)
     242        option = tokens.pop(0)
     243        if option[-1] == ':':
     244            option = option[:-1]
     245        if option == 'clib':
     246            clib += preparse_libs(tokens)
     247        elif option == 'cinclude':
     248            cinclude += preparse_paths(tokens)
     249        elif option == 'cdepends':
     250            cdepends += preparse_paths(tokens)
     251        elif option == 'clang':
     252            clang = tokens[0]
     253        elif option == 'cflags':
     254            if cflags is None:
     255                cflags = tokens
     256            else:
     257                cflags += tokens
     258    if module_name.startswith('sage.symbolic') and 0:
     259        print module_name, clib
     260        print module_name, cdepends
     261    ext_modules.append(Extension(module_name,
     262                                sources=[module_path],
     263                                language=clang,
     264                                libraries=clib,
     265                                include_dirs=cinclude,
     266                                extra_compile_args=cflags,
     267                                depends=cdepends))
    1328268
    1329     Extension('sage.structure.coerce_dict',
    1330               sources = ['sage/structure/coerce_dict.pyx']),
     269def append_simple_ext_modules(ext_modules, excludes):
     270    ext_module_names = set([e.name for e in ext_modules])
     271    for dir_path, dirnames, filenames in os.walk(SAGE_DEVEL + 'sage/sage'):
     272        rel_path = dir_path[len(SAGE_DEVEL) + 5:]
     273        for file in filenames:
     274            if file.endswith(".pyx"):
     275                module_path = os.path.join(rel_path, file)
     276                module_name = module_path[:-4].replace('/', '.')
     277                if any(fnmatch(module_name, e) for e in excludes):
     278                    continue
     279                if module_name not in ext_module_names:
     280                    create_extension(module_path)
    1331281
    1332     Extension('sage.structure.coerce_maps',
    1333               sources = ['sage/structure/coerce_maps.pyx']),
    1334 
    1335     Extension('sage.structure.element',
    1336               sources = ['sage/structure/element.pyx']),
    1337 
    1338     Extension('sage.structure.factory',
    1339               sources = ['sage/structure/factory.pyx']),
    1340 
    1341     Extension('sage.structure.generators',
    1342               sources = ['sage/structure/generators.pyx']),
    1343 
    1344     Extension('sage.structure.mutability',
    1345               sources = ['sage/structure/mutability.pyx']),
    1346    
    1347     Extension('sage.structure.parent',
    1348               sources = ['sage/structure/parent.pyx']),
    1349 
    1350     Extension('sage.structure.parent_base',
    1351               sources = ['sage/structure/parent_base.pyx']),
    1352    
    1353     Extension('sage.structure.parent_gens',
    1354               sources = ['sage/structure/parent_gens.pyx']),
    1355 
    1356     Extension('sage.structure.parent_old',
    1357               sources = ['sage/structure/parent_old.pyx']),
    1358 
    1359     Extension('sage.structure.sage_object',
    1360               sources = ['sage/structure/sage_object.pyx']),
    1361 
    1362     Extension('sage.structure.wrapper_parent',
    1363               sources = ['sage/structure/wrapper_parent.pyx']),
    1364 
    1365 
    1366     ################################
    1367     ##
    1368     ## sage.symbolic
    1369     ##
    1370     ################################
    1371     Extension('sage.symbolic.constants_c',
    1372               sources = ['sage/symbolic/constants_c.pyx'],
    1373               language = 'c++',
    1374               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1375               libraries = ["pynac"]),
    1376 
    1377     Extension('sage.symbolic.expression',
    1378               sources = ['sage/symbolic/expression.pyx'],
    1379               language = 'c++',
    1380               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1381               libraries = ["pynac"]),
    1382    
    1383     Extension('sage.symbolic.function',
    1384               sources = ['sage/symbolic/function.pyx'],
    1385               language = 'c++',
    1386               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1387               libraries = ["pynac"]),
    1388 
    1389     Extension('sage.symbolic.power_helper',
    1390               sources = ['sage/symbolic/power_helper.pyx'],
    1391               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1392               language = 'c++'),
    1393    
    1394     Extension('sage.symbolic.pynac',
    1395               sources = ['sage/symbolic/pynac.pyx'],
    1396               language = 'c++',
    1397               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1398               libraries = ["pynac"]),
    1399    
    1400     Extension('sage.symbolic.ring',
    1401               sources = ['sage/symbolic/ring.pyx'],
    1402               language = 'c++',
    1403               depends = [SAGE_ROOT + "/local/include/pynac/ginac.h"],
    1404               libraries = ["pynac"]),
    1405 
    1406    
    1407 
    1408    
    1409     ]
     282append_simple_ext_modules(ext_modules,
     283excludes=[
     284    'sage.misc.darwin_utilities',
     285    'sage.ext.interpreters.*',
     286    'sage.matrix.matrix_domain_*',
     287])
    1410288
    1411289
    1412290# Only include darwin_utilities on OS_X >= 10.5
  • sage/algebras/quatalg/quaternion_algebra_cython.pyx

    diff -r 231be19d9bf6 sage/algebras/quatalg/quaternion_algebra_cython.pyx
    a b  
     1# clang: c++
     2# clib: csage flint gmp gmpxx m stdc++ ntl
     3
    14"""
    25Optimized Cython code needed by quaternion algebras.
    36
  • sage/algebras/quatalg/quaternion_algebra_element.pyx

    diff -r 231be19d9bf6 sage/algebras/quatalg/quaternion_algebra_element.pyx
    a b  
     1# clang: c++
     2# clib: csage flint gmp gmpxx m stdc++ ntl
     3# cinclude: SAGE_LOCAL/include/FLINT/
     4# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     5# cflags: -std=c99
     6
    17"""
    28Elements of Quaternion Algebras
    39
  • sage/combinat/expnums.pyx

    diff -r 231be19d9bf6 sage/combinat/expnums.pyx
    a b  
     1# clib: gmp
     2
    13r"""
    24Compute Bell and Uppuluri-Carpenter numbers.
    35
  • sage/combinat/matrices/dancing_links.pyx

    diff -r 231be19d9bf6 sage/combinat/matrices/dancing_links.pyx
    a b  
     1# clang: c++
     2# clib: stdc++
     3
    14"""
    25Dancing Links internal pyx code
    36"""
  • sage/combinat/words/word_datatypes.pyx

    diff -r 231be19d9bf6 sage/combinat/words/word_datatypes.pyx
    a b  
     1# clang: c++
     2# clib: stdc++
     3# cinclude: sage/combinat/words
     4
    15r"""
    26Datatypes for finite words
    37"""
  • sage/ext/multi_modular.pyx

    diff -r 231be19d9bf6 sage/ext/multi_modular.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Utility classes for multi-modular algorithms.
    35"""
  • sage/finance/time_series.pyx

    diff -r 231be19d9bf6 sage/finance/time_series.pyx
    a b  
     1# cinclude: NUMPY
     2
    13"""
    24Time Series
    35
  • sage/graphs/chrompoly.pyx

    diff -r 231be19d9bf6 sage/graphs/chrompoly.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Chromatic Polynomial Routine
    35
  • sage/graphs/cliquer.pyx

    diff -r 231be19d9bf6 sage/graphs/cliquer.pyx
    a b  
     1# clib: cliquer
     2
    13r"""
    24Cliquer : routines for finding cliques in graphs
    35
  • sage/graphs/graph_fast.pyx

    diff -r 231be19d9bf6 sage/graphs/graph_fast.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Graph Theory Cython functions
    35
  • sage/gsl/callback.pyx

    diff -r 231be19d9bf6 sage/gsl/callback.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14include '../ext/cdefs.pxi'
    25include '../ext/interrupt.pxi'
    36
  • sage/gsl/dwt.pyx

    diff -r 231be19d9bf6 sage/gsl/dwt.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14"""
    25 Wavelet transform wrapper. Wraps GSL's gsl_wavelet_transform_forward,
    36 and gsl_wavelet_transform_inverse and creates plot methods.
  • sage/gsl/fft.pyx

    diff -r 231be19d9bf6 sage/gsl/fft.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14"""
    25Fast Fourier Transforms using GSL.
    36
  • sage/gsl/gsl_array.pyx

    diff -r 231be19d9bf6 sage/gsl/gsl_array.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
     4
     5
    16#include 'gsl.pxi'
    27
    38include '../ext/stdsage.pxi'
  • sage/gsl/integration.pyx

    diff -r 231be19d9bf6 sage/gsl/integration.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14"""
    25Numerical Integration
    36
  • sage/gsl/interpolation.pyx

    diff -r 231be19d9bf6 sage/gsl/interpolation.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14r"""
    25Interpolation
    36"""
  • sage/gsl/ode.pyx

    diff -r 231be19d9bf6 sage/gsl/ode.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14##############################################################################
    25#       Copyright (C) 2004,2005,2006 Joshua Kantor <kantor.jm@gmail.com>
    36#  Distributed under the terms of the GNU General Public License (GPL)
  • sage/gsl/probability_distribution.pyx

    diff -r 231be19d9bf6 sage/gsl/probability_distribution.pyx
    a b  
     1# clib: gsl BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14"""
    25Probability Distributions
    36
  • sage/libs/cremona/homspace.pyx

    diff -r 231be19d9bf6 sage/libs/cremona/homspace.pyx
    a b  
     1# clang: c++
     2# clib: g0nntl jcntl gmpxx ntl gmp m stdc++ pari curvesntl
     3# cflags: -DNTL_ALL
     4
    15from mat cimport MatrixFactory
    26
    37cdef MatrixFactory MF = MatrixFactory()
  • sage/libs/cremona/mat.pyx

    diff -r 231be19d9bf6 sage/libs/cremona/mat.pyx
    a b  
     1# clang: c++
     2# clib: g0nntl jcntl gmpxx ntl gmp m stdc++
     3# cflags: -DNTL_ALL
     4
    15from sage.matrix.all import MatrixSpace
    26from sage.rings.all import ZZ
    37
  • sage/libs/cremona/newforms.pyx

    diff -r 231be19d9bf6 sage/libs/cremona/newforms.pyx
    a b  
     1# clang: c++
     2# clib: g0nntl jcntl gmpxx ntl gmp m stdc++ pari curvesntl
     3# cflags: -DNTL_ALL
     4
    15from sage.rings.rational import Rational
    26from sage.rings.integer cimport Integer
    37from sage.schemes import elliptic_curves
  • sage/libs/flint/flint.pyx

    diff -r 231be19d9bf6 sage/libs/flint/flint.pyx
    a b  
     1# clib: csage flint gmp gmpxx m stdc++
     2# cinclude: SAGE_LOCAL/include/FLINT/
     3# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     4# cflags: -std=c99 -D_XPG6
     5
    16"""
    27TESTS:
    38
  • sage/libs/flint/fmpz_poly.pyx

    diff -r 231be19d9bf6 sage/libs/flint/fmpz_poly.pyx
    a b  
     1# clib: csage flint gmp gmpxx m stdc++
     2# cinclude: SAGE_LOCAL/include/FLINT/
     3# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     4# cflags: -std=c99 -D_XPG6
     5
    16"""
    27FLINT wrapper
    38
  • sage/libs/fplll/fplll.pyx

    diff -r 231be19d9bf6 sage/libs/fplll/fplll.pyx
    a b  
     1# clang: c++
     2# clib: gmp mpfr stdc++ fplll
     3# cinclude: SAGE_LOCAL/include/fplll
     4# cdepends: SAGE_LOCAL/include/fplll/fplll.h
     5
    16"""
    27Wrapper for the fpLLL library by Damien Stehle and David Cade found at
    38
  • sage/libs/libecm.pyx

    diff -r 231be19d9bf6 sage/libs/libecm.pyx
    a b  
     1# clib: ecm gmp
     2# cdepends: SAGE_LOCAL/include/ecm.h
     3
    14r"""
    25The Elliptic Curve Factorization Method, via libecm.
    36
  • sage/libs/linbox/linbox.pyx

    diff -r 231be19d9bf6 sage/libs/linbox/linbox.pyx
    a b  
     1# clang: c++
     2
     3# For this to work on cygwin, linboxwrap *must* be before ntl.
     4# clib: linboxsage ntl linbox gmp gmpxx stdc++ givaro BLAS BLAS2
     5
    16## NOTE: The _sig_on/_sig_off stuff can't go in here -- it has to be in the
    27## code that calls these functions.  Otherwise strangely objects get left
    38## in an incorrect state.
  • sage/libs/mpmath/utils.pyx

    diff -r 231be19d9bf6 sage/libs/mpmath/utils.pyx
    a b  
     1# clib: mpfr gmp
     2
    13# Utilities for Sage-mpmath interaction
    24# Also patches some mpmath functions for speed
    35
  • sage/libs/ntl/ntl_GF2.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_GF2.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2007 Martin Albrecht <malb@informatik.uni-bremen.de>
    36#
  • sage/libs/ntl/ntl_GF2E.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_GF2E.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#       Copyright (C) 2007 Martin Albrecht <malb@informatik.uni-bremen.de>
  • sage/libs/ntl/ntl_GF2EContext.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_GF2EContext.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_GF2EX.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_GF2EX.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_GF2X.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_GF2X.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#       Copyright (C) 2007 Martin Albrecht <malb@informatik.uni-bremen.de>
  • sage/libs/ntl/ntl_ZZ.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZX.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZX.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZ_p.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_p.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZ_pContext.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_pContext.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZ_pE.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_pE.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZ_pEContext.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_pEContext.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_ZZ_pEX.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_pEX.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25Wrapper for NTL's polynomials over finite ring extensions of $\Z / p\Z.$
    36
  • sage/libs/ntl/ntl_ZZ_pX.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_ZZ_pX.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_lzz_p.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_lzz_p.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25ntl_lzz_p.pyx
    36
  • sage/libs/ntl/ntl_lzz_pContext.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_lzz_pContext.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_lzz_pX.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_lzz_pX.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25ntl_lzz_pX.pyx
    36
  • sage/libs/ntl/ntl_mat_GF2.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_mat_GF2.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25Matrices over the $\GF{2}$ via NTL
    36
  • sage/libs/ntl/ntl_mat_GF2E.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_mat_GF2E.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/ntl/ntl_mat_ZZ.pyx

    diff -r 231be19d9bf6 sage/libs/ntl/ntl_mat_ZZ.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14#*****************************************************************************
    25#       Copyright (C) 2005 William Stein <wstein@gmail.com>
    36#
  • sage/libs/pari/gen.pyx

    diff -r 231be19d9bf6 sage/libs/pari/gen.pyx
    a b  
     1# clib: pari gmp
     2
    13"""
    24PARI C-library interface
    35
  • sage/libs/ratpoints.pyx

    diff -r 231be19d9bf6 sage/libs/ratpoints.pyx
    a b  
     1# clib: ratpoints gmp
     2
    13r"""
    24Hyperelliptic Curve Point Finding, via ratpoints.
    35
  • sage/libs/singular/function.pyx

    diff -r 231be19d9bf6 sage/libs/singular/function.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Direct Access to Singular's Functions via libSingular.
    38
  • sage/libs/singular/groebner_strategy.pyx

    diff -r 231be19d9bf6 sage/libs/singular/groebner_strategy.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Singular's Groebner Strategy Objects
    38
  • sage/libs/singular/option.pyx

    diff -r 231be19d9bf6 sage/libs/singular/option.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Pythonic Interface to libSingular's options.
    38
  • sage/libs/singular/polynomial.pyx

    diff -r 231be19d9bf6 sage/libs/singular/polynomial.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Wrapper for Singular's Polynomial Arithmetic
    38
  • sage/libs/singular/ring.pyx

    diff -r 231be19d9bf6 sage/libs/singular/ring.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Wrapper for Singular's Rings
    38
  • sage/libs/singular/singular.pyx

    diff -r 231be19d9bf6 sage/libs/singular/singular.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27libSingular conversion routines and initialisation.
    38
  • sage/libs/symmetrica/symmetrica.pyx

    diff -r 231be19d9bf6 sage/libs/symmetrica/symmetrica.pyx
    a b  
     1# clib: symmetrica
     2# cinclude: /usr/include/malloc/
     3# cdepends: SAGE_LOCAL/include/symmetrica/def.h
     4
    15include "../../ext/interrupt.pxi"
    26include '../../ext/stdsage.pxi'
    37
  • sage/matrix/change_ring.pyx

    diff -r 231be19d9bf6 sage/matrix/change_ring.pyx
    a b  
     1# clib: BLAS BLAS2 gmp
     2# cinclude: NUMPY
     3
    14"""
    25Functions for changing the base ring of matrices quickly.
    36"""
  • sage/matrix/matrix_complex_double_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_complex_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14"""
    25Dense matrices over the Complex Double Field using NumPy
    36
  • sage/matrix/matrix_cyclo_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_cyclo_dense.pyx
    a b  
     1# clang: c++
     2# clib: ntl gmp
     3
    14"""
    25Matrices over Cyclotomic Fields
    36
  • sage/matrix/matrix_double_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14"""
    25Dense matrices using a NumPy backend.  This serves as a base class for
    36dense matrices over Real Double Field and Complex Double Field.
  • sage/matrix/matrix_integer_2x2.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_integer_2x2.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Two by two matrices over the integers.
    35"""
  • sage/matrix/matrix_integer_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_integer_dense.pyx
    a b  
     1# order matters for cygwin!!
     2# clib: iml gmp m BLAS BLAS2
     3
    14"""
    25Dense matrices over the integer ring.
    36
  • sage/matrix/matrix_integer_sparse.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_integer_sparse.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Sparse integer matrices.
    35
  • sage/matrix/matrix_mod2_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_mod2_dense.pyx
    a b  
     1# clib: gmp m4ri png12 gd
     2# cdepends: SAGE_LOCAL/include/png.h
     3
    14"""
    25Dense matrices over GF(2) using the M4RI library.
    36
  • sage/matrix/matrix_modn_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_modn_dense.pyx
    a b  
     1# clib: gmp
     2
    13r"""
    24Dense matrices over `\ZZ/n\ZZ` for `n` small.
    35
  • sage/matrix/matrix_mpolynomial_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_mpolynomial_dense.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Dense matrices over multivariate polynomials over fields.
    38
  • sage/matrix/matrix_rational_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_rational_dense.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Dense matrices over the rational field.
    35
  • sage/matrix/matrix_rational_sparse.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_rational_sparse.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Sparse rational matrices.
    35
  • sage/matrix/matrix_real_double_dense.pyx

    diff -r 231be19d9bf6 sage/matrix/matrix_real_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14"""
    25Dense matrices over the Real Double Field using NumPy
    36
  • sage/matrix/misc.pyx

    diff -r 231be19d9bf6 sage/matrix/misc.pyx
    a b  
     1# clib: mpfr gmp
     2
    13"""
    24Misc matrix algorithms
    35
  • sage/misc/sageinspect.py

    diff -r 231be19d9bf6 sage/misc/sageinspect.py
    a b  
    2424    sage: sage_getdoc(sage.rings.rational).lstrip()
    2525    'Rational Numbers...'
    2626
    27     sage: sage_getsource(sage.rings.rational)[5:]
     27    sage: sage_getsource(sage.rings.rational)[22:]
    2828    'Rational Numbers...'
    2929
    3030Python modules::
  • sage/modular/modsym/apply.pyx

    diff -r 231be19d9bf6 sage/modular/modsym/apply.pyx
    a b  
     1# clib: csage flint gmp gmpxx m stdc++
     2# cinclude: SAGE_LOCAL/include/FLINT/
     3# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     4# cflags: -std=c99 -D_XPG6
     5
    16##########################################################################
    27#
    38#       Copyright (C) 2008 William Stein <wstein@gmail.com>
  • sage/modular/modsym/heilbronn.pyx

    diff -r 231be19d9bf6 sage/modular/modsym/heilbronn.pyx
    a b  
     1# clib: csage flint gmp gmpxx m stdc++
     2# cinclude: SAGE_LOCAL/include/FLINT/
     3# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     4# cflags: -std=c99 -D_XPG6
     5
    16"""
    27Heilbronn matrix computation
    38"""
  • sage/modular/modsym/p1list.pyx

    diff -r 231be19d9bf6 sage/modular/modsym/p1list.pyx
    a b  
     1# clib: gmp
     2
    13r"""
    24Lists of Manin symbols (elements of `\mathbb{P}^1(\ZZ/N\ZZ)`) over `\QQ`.
    35"""
  • sage/modules/vector_complex_double_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_complex_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14r"""
    25Dense complex double vectors using a NumPy backend.
    36
  • sage/modules/vector_double_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14r"""
    25Dense vectors using a NumPy backend.  This serves as a base class for
    36dense vectors over Real Double Field and Complex Double Field
  • sage/modules/vector_integer_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_integer_dense.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Vectors with integer entries
    35
  • sage/modules/vector_mod2_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_mod2_dense.pyx
    a b  
     1# clib: gmp m4ri png12 gd
     2# cdepends: SAGE_LOCAL/include/png.h
     3
    14"""
    25Vectors with elements in GF(2).
    36
  • sage/modules/vector_rational_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_rational_dense.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Vectors with rational entries.
    35
  • sage/modules/vector_real_double_dense.pyx

    diff -r 231be19d9bf6 sage/modules/vector_real_double_dense.pyx
    a b  
     1# clib: BLAS BLAS2
     2# cinclude: NUMPY
     3
    14r"""
    25Dense real double vectors using a NumPy backend.
    36
  • sage/numerical/mip.pyx

    diff -r 231be19d9bf6 sage/numerical/mip.pyx
    a b  
     1# clib: csage stdc++
     2# cinclude: local/include/
     3
    14r"""
    25Mixed integer linear programming
    36"""
  • sage/plot/complex_plot.pyx

    diff -r 231be19d9bf6 sage/plot/complex_plot.pyx
    a b  
     1# cinclude: NUMPY
     2
    13"""
    24Complex Plots
    35"""
  • new file sage/plot/plot3d/help.py

    diff -r 231be19d9bf6 sage/plot/plot3d/help.py
    - +  
     1"""
     23d Plotting Using Java3d
     3
     4
     5IMPORTANT NOTE ON LINUX -- This may help if you're having trouble with java3d:
     6From  https://java3d.dev.java.net/binary-builds.html
     7
     8In order to get Java3d working with sage in your browser, you have may
     9have to install the Java3d extension that can be found on "https://
     10java3d.dev.java.net/binary-builds.html". Follow the instructions in
     11the README posted there to install the Java3d extension in your local
     12java installation.
     13"""
  • deleted file sage/plot/plot3d/help.pyx

    diff -r 231be19d9bf6 sage/plot/plot3d/help.pyx
    + -  
    1 """
    2 3d Plotting Using Java3d
    3 
    4 
    5 IMPORTANT NOTE ON LINUX -- This may help if you're having trouble with java3d:
    6 From  https://java3d.dev.java.net/binary-builds.html
    7 
    8 In order to get Java3d working with sage in your browser, you have may
    9 have to install the Java3d extension that can be found on "https://
    10 java3d.dev.java.net/binary-builds.html". Follow the instructions in
    11 the README posted there to install the Java3d extension in your local
    12 java installation.
    13 """
    14  No newline at end of file
  • sage/plot/plot3d/implicit_surface.pyx

    diff -r 231be19d9bf6 sage/plot/plot3d/implicit_surface.pyx
    a b  
     1# clib: gsl
     2# cinclude: NUMPY
     3
    14r"""
    25Graphics 3D object for representing and triangulating isosurfaces.
    36
  • sage/rings/bernoulli_mod_p.pyx

    diff -r 231be19d9bf6 sage/rings/bernoulli_mod_p.pyx
    a b  
     1# clang: c++
     2# clib: ntl stdc++
     3# cinclude: sage/libs/ntl/
     4
    15r"""
    26Bernoulli numbers modulo p
    37
  • sage/rings/complex_double.pyx

    diff -r 231be19d9bf6 sage/rings/complex_double.pyx
    a b  
     1# clib: gsl BLAS BLAS2 pari gmp
     2# cflags: -std=c99 -D_XPG6
     3
    14r"""
    25Double Precision Complex Numbers
    36
  • sage/rings/complex_interval.pyx

    diff -r 231be19d9bf6 sage/rings/complex_interval.pyx
    a b  
     1# clib: mpfi mpfr gmp
     2
    13"""
    24Arbitrary Precision Complex Intervals
    35
  • sage/rings/complex_number.pyx

    diff -r 231be19d9bf6 sage/rings/complex_number.pyx
    a b  
     1# clib: mpfr gmp
     2
    13"""
    24Arbitrary Precision Complex Numbers
    35
  • sage/rings/fast_arith.pyx

    diff -r 231be19d9bf6 sage/rings/fast_arith.pyx
    a b  
     1# clib: gmp pari csage
     2
    13"""
    24Basic arithmetic with c-integers.
    35"""
  • sage/rings/finite_field_givaro.pyx

    diff -r 231be19d9bf6 sage/rings/finite_field_givaro.pyx
    a b  
     1# clang: c++
     2# This order is needed to compile under windows:
     3# clib: givaro gmpxx gmp m stdc++
     4
    15r"""
    26Finite Extension Fields of cardinality up to $2^{16}$
    37
  • sage/rings/finite_field_ntl_gf2e.pyx

    diff -r 231be19d9bf6 sage/rings/finite_field_ntl_gf2e.pyx
    a b  
     1# clang: c++
     2# clib: ntl gmp
     3
    14r"""
    25Finite Fields of characteristic 2 and order > 2.
    36
  • sage/rings/integer.pyx

    diff -r 231be19d9bf6 sage/rings/integer.pyx
    a b  
     1# clib: ntl gmp pari
     2
    13"""
    24Elements of the ring `\ZZ` of integers
    35
  • sage/rings/integer_mod.pyx

    diff -r 231be19d9bf6 sage/rings/integer_mod.pyx
    a b  
     1# clib: gmp
     2
    13# cython: cdivision=True
    24
    35r"""
  • sage/rings/integer_ring.pyx

    diff -r 231be19d9bf6 sage/rings/integer_ring.pyx
    a b  
     1# clib: ntl gmp
     2
    13r"""
    24Ring `\ZZ` of Integers
    35
  • sage/rings/memory.pyx

    diff -r 231be19d9bf6 sage/rings/memory.pyx
    a b  
     1# clib: gmp stdc++
     2
    13# cython: profile=False
    24
    35include "../ext/cdefs.pxi"
  • sage/rings/number_field/number_field_element.pyx

    diff -r 231be19d9bf6 sage/rings/number_field/number_field_element.pyx
    a b  
     1# clang: c++
     2# clib: ntl gmp
     3
    14"""
    25Number Field Elements
    36
  • sage/rings/number_field/number_field_element_quadratic.pyx

    diff -r 231be19d9bf6 sage/rings/number_field/number_field_element_quadratic.pyx
    a b  
     1# clang: c++
     2# clib: gmp
     3
    14"""
    25Optimized Quadratic Number Field Elements
    36
  • sage/rings/number_field/totallyreal.pyx

    diff -r 231be19d9bf6 sage/rings/number_field/totallyreal.pyx
    a b  
     1# clib: gmp pari
     2
    13"""
    24Enumeration of Totally Real Fields
    35
  • sage/rings/number_field/totallyreal_data.pyx

    diff -r 231be19d9bf6 sage/rings/number_field/totallyreal_data.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24Enumeration of Totally Real Fields
    35
  • sage/rings/padics/padic_ZZ_pX_CA_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_ZZ_pX_CA_element.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25`p`-Adic ``ZZ_pX`` CA Element.
    36
  • sage/rings/padics/padic_ZZ_pX_CR_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_ZZ_pX_CR_element.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25`p`-Adic ``ZZ_pX`` CR Element.
    36
  • sage/rings/padics/padic_ZZ_pX_FM_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_ZZ_pX_FM_element.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25`p`-Adic ``ZZ_pX`` FM Element.
    36
  • sage/rings/padics/padic_ZZ_pX_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_ZZ_pX_element.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25`p`-Adic ``ZZ_pX Element``.
    36
  • sage/rings/padics/padic_capped_absolute_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_capped_absolute_element.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24`p`-Adic Capped Absolute Element.
    35
  • sage/rings/padics/padic_capped_relative_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_capped_relative_element.pyx
    a b  
     1# clib: gmp csage
     2
    13"""
    24p-Adic Capped Relative Element.
    35
  • sage/rings/padics/padic_ext_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_ext_element.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25p-Adic Extension Element.
    36
  • sage/rings/padics/padic_fixed_mod_element.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_fixed_mod_element.pyx
    a b  
     1# clib: gmp
     2
    13"""
    24p-Adic Fixed-Mod Element.
    35
  • sage/rings/padics/padic_printing.pyx

    diff -r 231be19d9bf6 sage/rings/padics/padic_printing.pyx
    a b  
     1# clang: c++
     2# clib: gmp ntl csage gmpxx m stdc++
     3
    14"""
    25p-Adic Printing.
    36
  • sage/rings/padics/pow_computer.pyx

    diff -r 231be19d9bf6 sage/rings/padics/pow_computer.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25PowComputer.
    36
  • sage/rings/padics/pow_computer_ext.pyx

    diff -r 231be19d9bf6 sage/rings/padics/pow_computer_ext.pyx
    a b  
     1# clang: c++
     2# clib: csage ntl gmp gmpxx m stdc++
     3
    14"""
    25PowComputer_ext.
    36
  • sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16"""
    27Direct low-level access to SINGULAR's Groebner basis engine via libSINGULAR.
    38
  • sage/rings/polynomial/multi_polynomial_libsingular.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/multi_polynomial_libsingular.pyx
    a b  
     1# clang: c++
     2# clib: m readline singular givaro gmpxx gmp
     3# cinclude: SAGE_LOCAL/include/singular
     4# cdepends: SAGE_LOCAL/include/libsingular.h
     5
    16r"""
    27Multivariate Polynomials via libSINGULAR
    38
  • sage/rings/polynomial/pbori.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/pbori.pyx
    a b  
     1# clang: c++
     2# clib: m4ri polybori pboriCudd groebner gd
     3# cinclude: SAGE_LOCAL/include/cudd SAGE_LOCAL/include/polybori SAGE_LOCAL/include/polybori/groebner
     4# cdepends: SAGE_LOCAL/include/polybori/polybori.h
     5# cflags: -DNDEBUG -DHAVE_HASH_MAP -DPACKED -DHAVE_M4RI -DHAVE_GD -DHAVE_IEEE_754
     6
    17r"""
    28Boolean Polynomials
    39
  • sage/rings/polynomial/polynomial_gf2x.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_gf2x.pyx
    a b  
     1# clang: c++
     2# clib: ntl stdc++ gmp
     3# cinclude: sage/libs/ntl/
     4
    15"""
    26Univariate Polynomials over GF(2) via NTL's GF2X.
    37
  • sage/rings/polynomial/polynomial_integer_dense_flint.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_integer_dense_flint.pyx
    a b  
     1# clang: c++
     2# clib: csage flint gmp gmpxx ntl
     3# cinclude: SAGE_LOCAL/include/FLINT/
     4# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     5
    16"""
    27Dense univariate polynomials over `\ZZ`, implemented using FLINT.
    38
  • sage/rings/polynomial/polynomial_integer_dense_ntl.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_integer_dense_ntl.pyx
    a b  
     1# clang: c++
     2# clib: ntl stdc++ gmp
     3# cinclude: sage/libs/ntl/
     4
    15r"""
    26Dense univariate polynomials over `\ZZ`, implemented using NTL.
    37
  • sage/rings/polynomial/polynomial_modn_dense_ntl.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_modn_dense_ntl.pyx
    a b  
     1# clang: c++
     2# clib: ntl stdc++ gmp
     3# cinclude: sage/libs/ntl/
     4
    15"""
    26Dense univariate polynomials over  `\ZZ/n\ZZ`, implemented using NTL.
    37
  • sage/rings/polynomial/polynomial_real_mpfr_dense.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_real_mpfr_dense.pyx
    a b  
     1# clib: mpfr gmp
     2
    13r"""
    24Dense univariate polynomials over `\RR`, implemented using MPFR
    35"""
  • sage/rings/polynomial/polynomial_zmod_flint.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/polynomial_zmod_flint.pyx
    a b  
     1# clib: csage flint gmp gmpxx ntl zn_poly
     2# cinclude: SAGE_LOCAL/include/FLINT/
     3# cdepends: SAGE_LOCAL/include/FLINT/flint.h
     4# cflags: -std=c99 -D_XPG6
     5
    16"""
    27Dense univariate polynomials over `\ZZ/n\ZZ`, implemented using FLINT.
    38
  • sage/rings/polynomial/real_roots.pyx

    diff -r 231be19d9bf6 sage/rings/polynomial/real_roots.pyx
    a b  
     1# clib: mpfr
     2# cinclude: NUMPY
     3
    14"""
    25Isolate Real Roots of Real Polynomials
    36
  • sage/rings/rational.pyx

    diff -r 231be19d9bf6 sage/rings/rational.pyx
    a b  
     1# clib: ntl gmp
     2
    13r"""
    24Rational Numbers
    35
  • sage/rings/real_double.pyx

    diff -r 231be19d9bf6 sage/rings/real_double.pyx
    a b  
     1# clib: gsl gmp BLAS BLAS2
     2# cflags: -DGSL_DISABLE_DEPRECATED=1
     3
    14r"""
    25Double Precision Real Numbers
    36
  • sage/rings/real_mpfi.pyx

    diff -r 231be19d9bf6 sage/rings/real_mpfi.pyx
    a b  
     1# clib: mpfi mpfr gmp
     2
    13"""
    24Field of Arbitrary Precision Real Intervals
    35
  • sage/rings/real_mpfr.pyx

    diff -r 231be19d9bf6 sage/rings/real_mpfr.pyx
    a b  
     1# clib: mpfr pari gmp
     2
    13r"""
    24Field of Arbitrary Precision Real Numbers
    35
  • sage/stats/hmm/chmm.pyx

    diff -r 231be19d9bf6 sage/stats/hmm/chmm.pyx
    a b  
     1# clib: ghmm
     2# cinclude: NUMPY
     3
    14"""nodoctest
    25Continuous Hidden Markov Models
    36
  • sage/stats/hmm/hmm.pyx

    diff -r 231be19d9bf6 sage/stats/hmm/hmm.pyx
    a b  
     1# clib: ghmm
     2# cinclude: NUMPY
     3
    14r"""nodoctest
    25Hidden Markov Models
    36
  • sage/symbolic/constants_c.pyx

    diff -r 231be19d9bf6 sage/symbolic/constants_c.pyx
    a b  
     1# clang: c++
     2# clib: pynac
     3# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     4
    15"""
    26Wrapper around Pynac's constants
    37"""
  • sage/symbolic/expression.pyx

    diff -r 231be19d9bf6 sage/symbolic/expression.pyx
    a b  
     1# clang: c++
     2# clib: pynac
     3# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     4
    15###############################################################################
    26#   Sage: Open Source Mathematical Software
    37#       Copyright (C) 2008 William Stein <wstein@gmail.com>
  • sage/symbolic/function.pyx

    diff -r 231be19d9bf6 sage/symbolic/function.pyx
    a b  
     1# clang: c++
     2# clib: pynac
     3# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     4
    15###############################################################################
    26#   Sage: Open Source Mathematical Software
    37#       Copyright (C) 2008 - 2009 Burcin Erocal <burcin@erocal.org>
  • sage/symbolic/power_helper.pyx

    diff -r 231be19d9bf6 sage/symbolic/power_helper.pyx
    a b  
     1# clang: c++
     2# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     3
    14import ring
    25
    36cdef bint __pynac_pow = False
  • sage/symbolic/pynac.pyx

    diff -r 231be19d9bf6 sage/symbolic/pynac.pyx
    a b  
     1# clang: c++
     2# clib: pynac
     3# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     4
    15###############################################################################
    26#   Sage: Open Source Mathematical Software
    37#       Copyright (C) 2008 William Stein <wstein@gmail.com>
  • sage/symbolic/ring.pyx

    diff -r 231be19d9bf6 sage/symbolic/ring.pyx
    a b  
     1# clang: c++
     2# clib: pynac
     3# cdepends: SAGE_LOCAL/include/pynac/ginac.h
     4
    15"""
    26The symbolic ring
    37"""