Skip to content
malex984 edited this page Jul 19, 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) (Hans)
  3. eliminate mod2.h (replace by aux...h) (Hans)
  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! (Hans)
  2. install coeffs/mpr_complex.h and factory/templates/ftmpl_list.h
  3. what about longrat.h and 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. Fix headers
  • kutil.h // problematic...!?
  • tgb_internal.h // uses kutil :(
  • F4.h // uses tgb_internal
  1. Find out all possible "HAVE_*" (which were not yet set) and define them in mod2.h for the time being!
  2. GMP: pass correct GMP_CFLAGS/GMP_LIBS: GMPrat.h, misc.cc, si_gmp.h + sort out kernel/si_gmp.h: remove in faivour of coeffs/si_gmp.h or factory/cf_gmp.h (which are private at the moment...)?! put a copy to kernel/...?
  3. Coordinate work with other active! people (please assign yourself) for working through files

List of files to be fixed!

Write your name next to a file if you are working on it. When you are done, use ~~ to put a strike through the file name.

See Porting instructions for instructions on what needs to be done for each file.

  • digitech.cc
  • eigenval.cc
  • f5c.cc, f5data.cc, f5gb.cc, f5lists.cc, F5cLists.cc, F4.cc?, F5cData.cc? (Christian, should we define HAVE_F5C in mod2.h?)
  • fast_maps.cc
  • fast_mult.cc
  • febase.cc / febase.h (Hans?)
  • feread.cc (already fine)
  • fegetopt.* (already fine)
  • fglmcomb.cc
  • fglmgauss.cc
  • fglmhom.cc (already fine)
  • fglmvec.cc
  • fglmzero.cc
  • gfan.cc (HAVE_FANS!)
  • GMPrat.cc (already fine?)
  • gr_kstd2.cc (Oleksandr)
  • hdegree.cc
  • hilb.cc
  • hutil.cc
  • ideals.cc
  • int64vec.cc (relys on gmp...)
  • khstd.cc
  • kspoly.cc
  • kstd1.cc
  • kstd2.cc
  • kstdfac.cc
  • kutil.cc
  • linearAlgebra.cc
  • misc.cc
  • mmstd.* (already fine)
  • multicnt.cc (already fine)
  • npolygon.cc
  • ratgring.cc (Oleksandr)
  • 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
  • kInline.cc
  • kpolys.cc
  • mmalloc.cc (already fine)
  • tgb_obsolete.cc // remove it???

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 :(
  • find some tool to check test coverage

Clone this wiki locally