[cig-commits] r13917 - short/3D/PyLith/branches/pylith-swig/modulesrc/utils
brad at geodynamics.org
brad at geodynamics.org
Wed Jan 21 21:22:55 PST 2009
Author: brad
Date: 2009-01-21 21:22:55 -0800 (Wed, 21 Jan 2009)
New Revision: 13917
Removed:
short/3D/PyLith/branches/pylith-swig/modulesrc/utils/petsc.pyxe.src
short/3D/PyLith/branches/pylith-swig/modulesrc/utils/utils.pyxe.src
Log:
Switched to SWIG.
Deleted: short/3D/PyLith/branches/pylith-swig/modulesrc/utils/petsc.pyxe.src
===================================================================
--- short/3D/PyLith/branches/pylith-swig/modulesrc/utils/petsc.pyxe.src 2009-01-22 05:21:26 UTC (rev 13916)
+++ short/3D/PyLith/branches/pylith-swig/modulesrc/utils/petsc.pyxe.src 2009-01-22 05:22:55 UTC (rev 13917)
@@ -1,171 +0,0 @@
-# -*- Pyrex -*-
-#
-# ======================================================================
-#
-# Brad T. Aagaard
-# U.S. Geological Survey
-#
-# {LicenseText}
-#
-# ======================================================================
-#
-
-#header{
-#include <petsc.h>
-#include <petscmat.h>
-#include <string.h>
-#include <stdexcept>
-#}header
-
-# ----------------------------------------------------------------------
-cdef extern from "Python.h":
- object PyCObject_FromVoidPtr(void*, void (*destruct)(void*))
- void* PyCObject_AsVoidPtr(object)
-
-cdef void* ptrFromHandle(obj):
- """Extract pointer from PyCObject."""
- return PyCObject_AsVoidPtr(obj.handle)
-
-cdef extern from "stdlib.h":
- ctypedef unsigned long size_t
- void* malloc(size_t size)
- void free(void* mem)
-
-cdef extern from "string.h":
- void strcpy(char*, char*)
- int strlen(char*)
-
-# ----------------------------------------------------------------------
-def petsc_initialize(options):
- """
- Initialize PETSc.
- """
- # create shim for 'PetscInitialize'
- #embed{ int Petsc_initialize(int* argc, char*** argv)
- PetscErrorCode err = PetscInitialize(argc, argv, NULL, NULL); CHKERRQ(err);
- return 0;
- #}embed
- cdef int err
- cdef char** argv
- cdef char* arg
- cdef int argc
-
- argc = len(options)
- argv = <char**> malloc((argc+1)*sizeof(char*));
- for i from 0 <= i < argc:
- arg = options[i]
- argv[i] = <char*> malloc((strlen(arg)+1)*sizeof(char));
- strcpy(argv[i], arg);
- argv[argc] = NULL;
- err = Petsc_initialize(&argc, &argv);
- if err:
- raise RuntimeError("Error initializing PETSc.")
-
- for i from 0 <= i < argc:
- free(argv[i])
- free(argv)
- return
-
-
-def petsc_finalize():
- """
- Finalize PETSc.
- """
- # create shim for 'PetscFinalize'
- #embed{ int Petsc_finalize()
- PetscErrorCode err = PetscFinalize(); CHKERRQ(err);
- return 0;
- #}embed
- cdef int err
- err = Petsc_finalize()
- if err:
- raise RuntimError("Error finalizing PETSc.")
-
- return
-
-
-def mat_assemble(mat, mode):
- """
- Assemble matrix.
- """
- # create shim for 'MatAssemblyBegin/MatAssemblyEnd'
- #embed{ int Mat_assemble(void* matVptr, char* mode)
- Mat* mat = (Mat*) matVptr;
- PetscErrorCode err = 0;
- if (0 == strcmp(mode, "final_assembly")) {
- err = MatAssemblyBegin(*mat, MAT_FINAL_ASSEMBLY);CHKERRQ(err);
- err = MatAssemblyEnd(*mat, MAT_FINAL_ASSEMBLY);CHKERRQ(err);
- } else if (0 == strcmp(mode, "flush_assembly")) {
- err = MatAssemblyBegin(*mat, MAT_FLUSH_ASSEMBLY); CHKERRQ(err);
- err = MatAssemblyEnd(*mat, MAT_FLUSH_ASSEMBLY); CHKERRQ(err);
- } else {
- throw std::runtime_error("Unknown mode");
- }
- return 0;
- #}embed
- cdef void* matVptr
- matVptr = PyCObject_AsVoidPtr(mat)
- if mode != "final_assembly" and mode != "flush_assembly":
- raise ValueError("Unknown mode '%s' for mat_assemble." % mode)
- err = Mat_assemble(matVptr, mode)
- if err:
- raise RuntimError("Error assembling matrix.")
-
- return
-
-
-def mat_setzero(mat):
- """
- Zero out entries in matrix (retain structure).
- """
- # create shim for 'MatZeroEntries'
- #embed{ int Mat_setzero(void* matVptr)
- Mat* mat = (Mat*) matVptr;
- PetscErrorCode err = 0;
- err = MatZeroEntries(*mat);
- return 0;
- #}embed
- cdef void* matVptr
- matVptr = PyCObject_AsVoidPtr(mat)
- err = Mat_setzero(matVptr)
- if err:
- raise RuntimError("Error zeroing matrix values.")
- return
-
-
-def mat_view(mat):
- """
- Dump matrix to stdout.
- """
- # create shim for 'MatView'
- #embed{ int Mat_view(void* matVptr)
- Mat* mat = (Mat*) matVptr;
- MatView(*mat, PETSC_VIEWER_STDOUT_WORLD);
- return 0;
- #}embed
- cdef void* matVptr
- err = Mat_view(PyCObject_AsVoidPtr(mat))
-
- return
-
-
-def mat_view_binary(mat, filename):
- """
- Dump matrix to stdout.
- """
- # create shim for 'MatView'
- #embed{ int Mat_view_binary(void* matVptr, char *filename)
- Mat* mat = (Mat*) matVptr;
- PetscViewer viewer;
- PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename, FILE_MODE_WRITE, &viewer);
- MatView(*mat, viewer);
- PetscViewerDestroy(viewer);
- return 0;
- #}embed
- cdef void* matVptr
- err = Mat_view_binary(PyCObject_AsVoidPtr(mat), filename)
-
- return
-
-
-# End of file
Deleted: short/3D/PyLith/branches/pylith-swig/modulesrc/utils/utils.pyxe.src
===================================================================
--- short/3D/PyLith/branches/pylith-swig/modulesrc/utils/utils.pyxe.src 2009-01-22 05:21:26 UTC (rev 13916)
+++ short/3D/PyLith/branches/pylith-swig/modulesrc/utils/utils.pyxe.src 2009-01-22 05:22:55 UTC (rev 13917)
@@ -1,332 +0,0 @@
-# -*- Pyrex -*-
-#
-# ======================================================================
-#
-# Brad T. Aagaard
-# U.S. Geological Survey
-#
-# {LicenseText}
-#
-# ======================================================================
-#
-
-#header{
-#include "pylith/utils/EventLogger.hh"
-
-#include <assert.h>
-#include <stdexcept>
-#include <Python.h>
-#}header
-
-# ----------------------------------------------------------------------
-cdef extern from "Python.h":
- object PyCObject_FromVoidPtr(void*, void (*destruct)(void*))
- void* PyCObject_AsVoidPtr(object)
-
-cdef void* ptrFromHandle(obj):
- """Extract pointer from PyCObject."""
- return PyCObject_AsVoidPtr(obj.handle)
-
-cdef extern from "stdlib.h":
- ctypedef unsigned long size_t
- void* malloc(size_t size)
- void free(void* mem)
-
-cdef void EventLogger_destructor(void* obj):
- """
- Destroy EventLogger object.
- """
- # create shim for destructor
- #embed{ void EventLogger_destructor_cpp(void* objVptr)
- pylith::utils::EventLogger* logger = (pylith::utils::EventLogger*) objVptr;
- delete logger;
- #}embed
- EventLogger_destructor_cpp(obj)
- return
-
-
-# ----------------------------------------------------------------------
-cdef class EventLogger:
-
- cdef void* thisptr # Pointer to C++ object
- cdef readonly object handle # PyCObject holding pointer to C++ object
- cdef readonly object name # Identifier for object base type
-
- def __init__(self):
- """
- Constructor.
- """
- # create shim for constructor
- #embed{ void* EventLogger_constructor()
- void* result = 0;
- try {
- result = (void*)(new pylith::utils::EventLogger);
- assert(0 != result);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
-
- self.thisptr = EventLogger_constructor()
- self.handle = self._createHandle()
- self.name = "pylith_utils_EventLogger"
- return
-
-
- def initialize(self):
- """
- Initialize event logger.
- """
- # create shim for method 'initialize'
- #embed{ void EventLogger_initialize(void* objVptr)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->initialize();
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
-
- EventLogger_initialize(self.thisptr)
- return
-
-
- def registerEvent(self, name):
- """
- Register event.
- """
- # create shim for method 'registerEvent'
- #embed{ int EventLogger_registerEvent(void* objVptr, char* name)
- int result = 0;
- try {
- assert(0 != objVptr);
- result = ((pylith::utils::EventLogger*) objVptr)->registerEvent(name);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
-
- return EventLogger_registerEvent(self.thisptr, name)
-
-
- def eventId(self, name):
- """
- Get event identifier.
- """
- # create shim for method 'eventId'
- #embed{ int EventLogger_eventId(void* objVptr, char* name)
- int result = 0;
- try {
- assert(0 != objVptr);
- result = ((pylith::utils::EventLogger*) objVptr)->eventId(name);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
-
- return EventLogger_eventId(self.thisptr, name)
-
-
- def eventBegin(self, id):
- """
- Log event begin.
- """
- # create shim for method 'eventBegin'
- #embed{ void EventLogger_eventBegin(void* objVptr, int id)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->eventBegin(id);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
-
- EventLogger_eventBegin(self.thisptr, id)
- return
-
-
- def eventEnd(self, id):
- """
- Log event end.
- """
- # create shim for method 'eventEnd'
- #embed{ void EventLogger_eventEnd(void* objVptr, int id)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->eventEnd(id);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
-
- EventLogger_eventEnd(self.thisptr, id)
- return
-
-
- def registerStage(self, name):
- """
- Register stage.
- """
- # create shim for method 'registerStage'
- #embed{ int EventLogger_registerStage(void* objVptr, char* name)
- int result = 0;
- try {
- assert(0 != objVptr);
- result = ((pylith::utils::EventLogger*) objVptr)->registerStage(name);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
-
- return EventLogger_registerStage(self.thisptr, name)
-
-
- def stageId(self, name):
- """
- Get stage identifier.
- """
- # create shim for method 'stageId'
- #embed{ int EventLogger_stageId(void* objVptr, char* name)
- int result = 0;
- try {
- assert(0 != objVptr);
- result = ((pylith::utils::EventLogger*) objVptr)->stageId(name);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
-
- return EventLogger_stageId(self.thisptr, name)
-
-
- def stagePush(self, id):
- """
- Log stage begin.
- """
- # create shim for method 'stagePush'
- #embed{ void EventLogger_stagePush(void* objVptr, int id)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->stagePush(id);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
-
- EventLogger_stagePush(self.thisptr, id)
- return
-
-
- def stagePop(self):
- """
- Log stage end.
- """
- # create shim for method 'stagePop'
- #embed{ void EventLogger_stagePop(void* objVptr)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->stagePop();
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
-
- EventLogger_stagePop(self.thisptr)
- return
-
-
- def _createHandle(self):
- """
- Wrap pointer to C++ object in PyCObject.
- """
- return PyCObject_FromVoidPtr(self.thisptr, EventLogger_destructor)
-
-
- property className:
- def __set__(self, name):
- """
- Set name of logging class.
- """
- # create shim for method 'className'
- #embed{ void EventLogger_className_set(void* objVptr, char* name)
- try {
- assert(0 != objVptr);
- ((pylith::utils::EventLogger*) objVptr)->className(name);
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- #}embed
- EventLogger_className_set(self.thisptr, name)
-
- def __get__(self):
- """
- Get name of logging class.
- """
- # create shim for method 'className'
- #embed{ char* EventLogger_className_get(void* objVptr)
- char* result = 0;
- try {
- assert(0 != objVptr);
- result = (char*)((pylith::utils::EventLogger*) objVptr)->className();
- } catch (const std::exception& err) {
- PyErr_SetString(PyExc_RuntimeError,
- const_cast<char*>(err.what()));
- } catch (...) {
- PyErr_SetString(PyExc_RuntimeError,
- "Caught unknown C++ exception.");
- } // try/catch
- return result;
- #}embed
- return EventLogger_className_get(self.thisptr)
-
-
-# End of file
More information about the CIG-COMMITS
mailing list