My Project
Loading...
Searching...
No Matches
ideal_wrap.cc
Go to the documentation of this file.
1#include "kernel/mod2.h"
2#ifdef HAVE_PYTHON
3#include <boost/python.hpp>
4#include "Poly.h"
5#include "Ideal.h"
6#include "ring_wrap.h"
7
8#include "poly_wrap.h"
9#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
10using boost::python::self;
11using namespace boost::python;
12
13static boost::python::object Ideal_as_str(const Ideal& p)
14{
15 using boost::python::str;
16 //ring r=p.getRing();
17 str helper;
18 list tojoin;
19 int i;
20 int s=p.size();
21 //tojoin.append("[");
22 for(i=0;i<s;i++){
23 tojoin.append(Poly_as_str(p[i]));
24 if (i<s-1)
25 tojoin.append(", ");
26 }
27 //tojoin.append("]");
28 str res=helper.join(tojoin);
29 return res;
30}
31static boost::python::object Module_as_str(const Module& p)
32{
33 using boost::python::str;
34 //ring r=p.getRing();
35 str helper;
36 list tojoin;
37 int i;
38 int s=p.size();
39 //tojoin.append("[");
40 for(i=0;i<s;i++){
41 tojoin.append(Vector_as_str(p[i]));
42 if (i<s-1)
43 tojoin.append(", ");
44 }
45 //tojoin.append("]");
46 str res=helper.join(tojoin);
47 return res;
48}
49
50static Ring Ideal_get_Ring(const Ideal & p){
51 return p.getRing();
52}
53
54
56{
57 boost::python::class_<Ideal>("Ideal", "supports most operation a\
58 python list supports with the expception, that elements must\
59 be Polynomials")
60 .def(init<>())
61 .def(init<const Ideal&>())
62 .def("__str__", Ideal_as_str)
63 .def("ring",Ideal_get_Ring)
64 .def(boost::python::init <>())
65 .def(vector_indexing_suite<Ideal >());
66
67}
69{
70 boost::python::class_<Module>("Module", "supports most operation a\
71 python list supports with the expception, that elements must\
72 be Polynomials")
73 .def(init<>())
74 .def(init<const Module&>())
75 .def("__str__", Module_as_str)
76 .def("ring",Ideal_get_Ring)
77 .def(boost::python::init <>())
78 .def(vector_indexing_suite<Module>());
79
80}
81#endif
int i
Definition: cfEzgcd.cc:132
int p
Definition: cfModGcd.cc:4078
Definition: Ideal.h:88
Definition: Ideal.h:121
Definition: ring_wrap.h:21
const CanonicalForm int s
Definition: facAbsFact.cc:51
CanonicalForm res
Definition: facAbsFact.cc:60
void export_module()
Definition: ideal_wrap.cc:68
static Ring Ideal_get_Ring(const Ideal &p)
Definition: ideal_wrap.cc:50
void export_ideal()
Definition: ideal_wrap.cc:55
static boost::python::object Ideal_as_str(const Ideal &p)
Definition: ideal_wrap.cc:13
static boost::python::object Module_as_str(const Module &p)
Definition: ideal_wrap.cc:31
boost::python::str Poly_as_str(const Poly &p)
Definition: poly_wrap.cc:10
boost::python::str Vector_as_str(const Vector &p)
Definition: poly_wrap.cc:18