source: git/Singular/dyn_modules/python/ideal_wrap.cc @ fb1675

spielwiese
Last change on this file since fb1675 was fb1675, checked in by Hans Schoenemann <hannes@…>, 7 years ago
use include ".." for singular related .h, p8
  • Property mode set to 100644
File size: 1.8 KB
Line 
1#include "kernel/mod2.h"
2#ifdef HAVE_PYTHON_MOD
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
55void export_ideal()
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}
68void export_module()
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
Note: See TracBrowser for help on using the repository browser.