Skip to content
malex984 edited this page Jul 18, 2011 · 102 revisions

Ideas for Singular on top of libpolys

Fix the compilation of libkernel.a (BASE/kernel):

  1. svn rebase!
  2. make script (just make in BASE/kernel)
  3. eliminate mod2.h (replace by aux...h)
  4. reintroduce currRing/rSetCurrRing()
  5. try compiling a test.cc with all the headerh #included inside (make test.oinBASE/kernel`):
  • works except for kutil.h
  • what is wrong with kutil.h? try to fix...
  1. try compiling a test.cc with all the sources #included inside (make test.oinBASE/kernel`):
  • no missing headers now!
  • complains about a lot of stuff... :(
  1. deal with structs.h!
  2. install coeffs/mpr_complex.h and factory/templates/ftmpl_list.h
  3. what about longrat.h modulop.h (i placed dummy including coeffs/number for now)
  4. deal with other dummy's (re-introduced stubs instead of correcting lots of code)
  5. Coordinate work with other active! people (please assign yourself) for working through files:
  • structs.h

  • dbm_sl.h

  • eigenval.h

  • fast_maps.h

  • fegetopt.h

  • fglm.h

  • fglmgauss.h

  • fglmvec.h

  • gfan.h

  • GMPrat.h

  • hutil.h

  • ideals.h

  • idrec.h

  • int64vec.h

  • khstd.h

  • kmatrix.h

  • kstd1.h

  • kstdfac.h

  • mmalloc.h

  • multicnt.h

  • npolygon.h

  • ratgring.h

  • semic.h

  • shiftgb.h

  • spectrum.h

  • splist.h

  • stairc.h

  • syz.h

  • units.h

  • walkMain.h

  • walkProc.h

  • walkSupport.h

  • digitech.h // the rest (not in makefile)

  • F5cData.h

  • f5c.h

  • F5cLists.h

  • f5data.h

  • f5gb.h

  • f5lists.h

  • fast_mult.h

  • hutil.h

  • linearAlgebra.h

  • page.h

  • ringgb.h

  • run.h

  • tgbgauss.h

  • tgb.h

  • timer.h

  • kutil.h // problematic...!?

  • tgb_internal.h // uses kutil :(

  • F4.h // uses tgb_internal

  • si_gmp.h // remove this!

  • digitech.cc

  • eigenval.cc

  • f5c.cc

  • F5cLists.cc

  • f5data.cc

  • f5gb.cc

  • f5lists.cc

  • fast_maps.cc

  • fast_mult.cc

  • febase.cc

  • feread.cc

  • fglmcomb.cc

  • fglmgauss.cc

  • fglmhom.cc

  • fglmvec.cc

  • fglmzero.cc

  • gfan.cc

  • GMPrat.cc

  • gr_kstd2.cc

  • hdegree.cc

  • hilb.cc

  • hutil.cc

  • ideals.cc

  • int64vec.cc

  • khstd.cc

  • kspoly.cc

  • kstd1.cc

  • kstd2.cc

  • kstdfac.cc

  • kutil.cc

  • linearAlgebra.cc

  • misc.cc

  • multicnt.cc

  • npolygon.cc

  • ratgring.cc

  • ringgb.cc

  • semic.cc

  • shiftgb.cc

  • spectrum.cc

  • splist.cc

  • syz.cc

  • syz0.cc

  • syz1.cc

  • syz2.cc

  • syz3.cc

  • tgb.cc

  • tgbgauss.cc

  • timer.cc

  • units.cc

  • walkMain.cc

  • walkProc.cc

  • walkSupport.cc

Ideas for improving libpolys:

  • we have a lot of easy to-get-get-rid-of-warnings (in compile time): eliminate them.
  • create a single libpolys.a (and libpolys.so!?) out of all our libraries (libpolys/misc.a .... etc)
  • try to make use of clang and Sun-Studio-compiler for libpolys: don't work as of now :(
  • no n_InpAdd/n_InpDiv: only n_InpMult!
  • Moreover we have 3 (!) variants of division WITHOUT ANY DESCRIPTIONS!!!:
    1. number n_Div(number a, number b, const coeffs r)
    2. number n_IntDiv(number a, number b, const coeffs r)
    3. number n_ExactDiv(number a, number b, const coeffs r)
  • Writing/reading/conversion-to-string OF polynomials/numbers is very inconsistent and misleading: n_Write/p_Write should take reporter as an argument (can be optionally = standard reporter)
  • number output (n_Write) MUST NOT change a number!
  • same goes for the conversion to integer by n_Int!
  • Only n_Test(NUMBER, COEFFS): no way to test a domain consistency... same for polys/rings?

Errors in libpolys:

Note: Frank will take a look!

  • In the face of brand new extension fields by Frank: the following seem to be obsolete together with the corresponding n_Par/n_ParDeg...right???
    1. number ndPar(int, const coeffs r) { return n_Init(0,r); }
    2. int ndParDeg(number, const coeffs) { return 0; }
  • search for above and switch to the new interface (Done by Frank?)
  • Ring-interface is scarcely documented: add more doxygen there (Done by Frank?)

Clone this wiki locally