Skip to content
malex984 edited this page Aug 3, 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 (in polys/polys.h) and rCurrRingAssure_*?
  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. Find out all possible "HAVE_*" (which were not yet set) and define them in mod2.h for the time being! (Hans?)
  6. GMP: ~~pass correct GMP_CFLAGS/GMP_LIBS: GMPrat.h, misc.cc, si_gmp.h~ + sort out kernel/si_gmp.h: removed in favour of coeffs/si_gmp.h (or factory/cf_gmp.h, which are private at the moment...)?! put a copy to kernel/...? (Oleksandr?)
  7. Fix headers
  • kutil.h // problematic...!?
  • tgb_internal.h // uses kutil :(
  • F4.h // uses tgb_internal
  1. what about currQuotient? maybe we should document such stuff on Porting instructions?!
  2. pFDeg! (Hans?)
  3. pInline1.h and pInline2.h were forgotten in ROOT!/polys (Hans?)
  4. rename ./for_Hans_with_love.sh into autogen.sh (or use the standard one if it supports multiple configure entries...?)
  5. 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 (already fine?)
  • eigenval.cc (already fine?)
  • f5c.cc, f5data.cc, f5gb.cc, f5lists.cc, F5cLists.cc, F4.cc?, F5cData.cc (Christian, they are empty now)
  • fast_maps.cc (Hans)
  • fast_mult.cc (Martin)
  • febase.cc, febase.h (Hans)
  • feread.c (Hans)
  • fegetopt.* (Hans)
  • fglmvec.cc, fglmzero.cc, fglmcomb.cc, fglmgauss.cc (Hans)
  • fglmhom.cc (empty)
  • gfan.cc (empty, needs HAVE_FANS!)
  • GMPrat.cc (already fine/needs GMP)
  • gr_kstd2.cc (Hans, fine?)
  • hdegree.cc (already fine?)
  • hilb.cc (already fine?)
  • hutil.cc (Hans)
  • ideals.cc (Hans)
  • int64vec.cc (already fine)
  • khstd.cc
  • kstd1.cc, kstd2.cc, kstdfac.cc
  • kutil.cc (mostly Martin + Non-Commutative: Oleksandr)
  • linearAlgebra.cc (Martin: mixed with/without const ring R, interface part (with lists) went to the /Singular directory)
  • misc.cc (already fine?)
  • mmstd.c (Hans)
  • multicnt.cc (already fine)
  • npolygon.cc (Martin)
  • ratgring.cc? (empty, Oleksandr/needs HAVE_RATGRING)
  • ringgb.cc (Martin)
  • semic.cc (Martin, moved to /Singular)
  • shiftgb.cc (already fine)
  • spectrum.cc (Martin, moved to /Singular)
  • splist.cc (Martin, moved to /Singular)
  • syz.cc (Oleksandr)
  • syz0.cc (Oleksandr)
  • syz1.cc (Oleksandr)
  • syz2.cc (Oleksandr)
  • syz3.cc (Oleksandr)
  • tgb.cc, tgbgauss.cc (Hans)
  • tgb_obsolete.cc (removed)
  • timer.cc (Hans!/Burcin, works with HAVE_SYS_TIME_H, TIME_WITH_SYS_TIME, HAVE_GETTIMEOFDAY on 64-bit current gentoo)
  • units.cc (Burcin, patch here, )
  • walkMain.cc, walkProc.cc, walkSupport.cc
  • kspoly.cc (Burcin)
  • kpolys.cc (Burcin, patch here)
  • kInline.cc -> kInLine.h
  • mmalloc.cc (already fine)

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