Skip to content

QEP: SWIG interface

guitorri edited this page Oct 1, 2014 · 1 revision

QEP: SWIG interface

Author: Guilherme
Status: Draft
Created: 01/10/2014

Introduction

SWIG creates wrappers of programs written in C/C++ targeting a variety of other high-level programming languages, including Python, Octave/Matlab. It enables further flexibility with negligible penalty in performance.

The initial focus is on Python and Octave/Matlab.

Proposal

  • Create an easy to interface to qucsator (perhaps also for qucsconv)
  • Enable Python: support for Numpy arrays, Lists...
  • Enable Octave/Matlab

Advantages

  • Speed up the development of algorithms with Python/Octave
    • Core solvers
    • Import/export netlist formats
  • Make use of available wrappers to high quality libraries

Python support

Besides the original SWIG documentation, the OpenMOC has a nice write-up/turorial about Python support.

Octave support

Richard Crozier wrote an interface which enables Octave to be used as an external solver for Qucs. See announcement in qucs-devel.

A similar feature should be achievable with SWIG.