File: fourti2Runner

package info (click to toggle)
frobby 0.9.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,616 kB
  • sloc: cpp: 30,134; sh: 1,184; makefile: 312; ansic: 102; lisp: 10
file content (42 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  void computeKernelLatticeBasis(const vector<Degree>& degrees,
				 BigIdeal& basis,
				 const string& originalFilename) {
    string filename = "__4ti2.tmp";

    deleteFile(filename + ".lat");
    deleteFile(filename + ".mat");
    deleteFile(filename);

    writeDegrees(degrees, filename);
    string cmd = "zbasis -parb --quiet " + filename + " > /dev/null";
    system(cmd.c_str());
    readLatticeBasis(filename + ".lat", basis);

    deleteFile(filename + ".lat");

    cmd = "mv -f " + filename + " " + originalFilename + ".mat";
    system(cmd.c_str());
  }


  void computeGrobnerBasis(const BigIdeal& latticeBasis,
			   BigIdeal& grobnerBasis,
			   const string& outputFilename) {
    string filename = "__4ti2.tmp";

    deleteFile(filename + ".gro");
    deleteFile(filename + ".lat");
    deleteFile(filename);
    
    writeLatticeBasis(filename + ".lat", latticeBasis);
    string cmd = "groebner -parb --quiet " + filename + " > /dev/null";
    system(cmd.c_str());
    readGrobnerBasis(filename + ".gro", grobnerBasis);

    deleteFile(outputFilename);

    cmd = "mv -f " + filename + ".gro " + outputFilename;
    system(cmd.c_str());

    deleteFile(filename + ".lat");
  }