I want to convert c++ code to python. I have created a python module using SWIG to access c++ classes.
Now I want to pass the following c++ code to Python
C++
#define LEVEL 3double thre[LEVEL] = { 1.0l, 1.0e+2, 1.0e+5 };GradedDouble gd(LEVEL, thre);gd.avg(thre);
I need to convert the above code to python
C++ constructor used for generating python module
GradedDouble::GradedDouble(int n, double *thre)
{n_ = n;for (int i = 0; i < n_; ++i){thre_.push_back(thre[i]);grade_.push_back(new grade_type());}
}
SWIG interface file
/* File: example.i */
%module example
%include typemaps.i
%apply double * INPUT { double *}
%apply double * INPUT { double *buf };%{
#include "Item.h"
#include "GradedComplex.h"
#include "GradedDouble.h"
void avg(double *buf);
%}%include <std_string.i>
%include <std_complex.i>
%include "Item.h"
%include "GradedComplex.h"
%include "GradedDouble.h"
%template(Int) Item<int>;
%template(Double) Item<double>;
%template(Complex) Item<std::complex<double> >;
A sample python module function
class GradedDouble(_object):__swig_setmethods__ = {}__setattr__ = lambda self, name, value: _swig_setattr(self, GradedDouble, name, value)__swig_getmethods__ = {}__getattr__ = lambda self, name: _swig_getattr(self, GradedDouble, name)__repr__ = _swig_reprdef __init__(self, *args): this = _example.new_GradedDouble(*args)try: self.this.append(this)except: self.this = this__swig_destroy__ = _example.delete_GradedDouble__del__ = lambda self : None;def push(self, *args): return _example.GradedDouble_push(self, *args)def avg(self, *args): return _example.GradedDouble_avg(self, *args)
GradedDouble_swigregister = _example.GradedDouble_swigregister
GradedDouble_swigregister(GradedDouble)
How do I convert it?