~ubuntu-branches/ubuntu/saucy/gfan/saucy-proposed

« back to all changes in this revision

Viewing changes to sage.cpp

  • Committer: Package Import Robot
  • Author(s): Cédric Boutillier
  • Date: 2013-07-09 10:44:01 UTC
  • mfrom: (2.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20130709104401-5q66ozz5j5af0dak
Tags: 0.5+dfsg-3
* Upload to unstable.
* modify remove_failing_tests_on_32bits.patch to replace command of
  0009RenderStairCase test with an empty one instead of deleting it.
* remove lintian override about spelling error

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "primarydecomposition.h"
 
2
#include "python2.6/Python.h"
 
3
 
 
4
extern "C" void minimal_associated_primes(PolynomialSetList *l, PolynomialRing const *r, PolynomialSet const *g);
 
5
 
 
6
#include <iostream>
 
7
 
 
8
class SageSingularPrimDec : public PrimaryDecompositionEngine
 
9
{
 
10
 public:
 
11
         SageSingularPrimDec() : PrimaryDecompositionEngine()
 
12
         {
 
13
                 cerr<<"constructing SageSingularPrimDec"<<endl;
 
14
                 if (!Py_IsInitialized()) {
 
15
                         Py_Initialize();
 
16
           char* argv = {"gfan_python"};
 
17
                 PySys_SetArgv(1, &argv); // Sage needs argc, argv set for some reason
 
18
 
 
19
                 //Py_SetPythonHome("/home/burcin/sage/sage-4.3.2/local");
 
20
                 PyRun_SimpleString("import sys");
 
21
                 //PyRun_SimpleString("print sys.path");
 
22
                 PyRun_SimpleString("sys.path.append('/home/burcin/sage/sage-4.3.2/local/lib/python2.6/lib-dynload/')");
 
23
                 //PyRun_SimpleString("print sys.path");
 
24
                 cout<<"initialized python"<<endl;
 
25
 
 
26
                 PyRun_SimpleString("import sage.all");
 
27
 
 
28
                 PyObject* sage_module = PyImport_ImportModule("sage_link");
 
29
                 }
 
30
         }
 
31
         ~SageSingularPrimDec()
 
32
         {
 
33
                 Py_Finalize();
 
34
                         }
 
35
  virtual const char *name()
 
36
  {
 
37
          return "sagesingular";
 
38
  }
 
39
  virtual PolynomialSetList minimalAssociatedPrimes(PolynomialSet const &idealGenerators)
 
40
  {
 
41
//        ring r=singularRing(idealGenerators.getRing());
 
42
//        ideal singularPolynomialSet(idealGenerators);
 
43
 
 
44
          cerr<<"CALLING SINGULAR THROUGH SAGE"<<endl;
 
45
          PolynomialSetList ret;
 
46
 
 
47
 
 
48
          PolynomialRing r=idealGenerators.getRing();
 
49
          minimal_associated_primes(&ret,&r,&idealGenerators);
 
50
          cerr<<"RETURNiNG FROM SAGE"<<endl;
 
51
 
 
52
          return ret;
 
53
  }
 
54
};
 
55
 
 
56
static SageSingularPrimDec sageSingularPrimDec;