[cig-commits] r20281 - in short/3D/PyLith/branches/v1.7-trunk/templates: friction materials
brad at geodynamics.org
brad at geodynamics.org
Fri Jun 1 15:36:51 PDT 2012
Author: brad
Date: 2012-06-01 15:36:51 -0700 (Fri, 01 Jun 2012)
New Revision: 20281
Modified:
short/3D/PyLith/branches/v1.7-trunk/templates/friction/Makefile.am
short/3D/PyLith/branches/v1.7-trunk/templates/friction/configure.ac
short/3D/PyLith/branches/v1.7-trunk/templates/materials/Makefile.am
short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.cc
short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.hh
short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.i
short/3D/PyLith/branches/v1.7-trunk/templates/materials/configure.ac
short/3D/PyLith/branches/v1.7-trunk/templates/materials/materialscontrib.i
Log:
Updated materials model template.
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/friction/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/friction/Makefile.am 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/friction/Makefile.am 2012-06-01 22:36:51 UTC (rev 20281)
@@ -68,7 +68,7 @@
dist__frictioncontribmodule_la_SOURCES = $(swig_sources) $(swig_generated)
-_frictioncontribmodule_la_LIBADD = libfrictioncontrib.la -lpylith
+_frictioncontribmodule_la_LIBADD = libfrictioncontrib.la
if NO_UNDEFINED
_frictioncontribmodule_la_LIBADD += \
$(PYTHON_BLDLIBRARY) $(PYTHON_LIBS) $(PYTHON_SYSLIBS)
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/friction/configure.ac
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/friction/configure.ac 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/friction/configure.ac 2012-06-01 22:36:51 UTC (rev 20281)
@@ -53,11 +53,8 @@
CIT_PATH_PETSC([3.2.0])
CIT_HEADER_PETSC
-
-
# PYLITH
pylith_save_CPPFLAGS=$CPPFLAGS
-pylith_save_LIBS=$LIBS
CPPFLAGS="$PETSC_CC_INCLUDES $CPPFLAGS"
AC_LANG(C++)
AC_CHECK_HEADER([pylith/friction/FrictionModel.hh], [], [
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/Makefile.am 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/Makefile.am 2012-06-01 22:36:51 UTC (rev 20281)
@@ -45,6 +45,7 @@
AM_CPPFLAGS = $(PYTHON_EGG_CPPFLAGS) -I$(PYTHON_INCDIR)
INCLUDES =
+INCLUDES += $(PETSC_CC_INCLUDES)
# MODULE ---------------------------------------------------------------
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.cc 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.cc 2012-06-01 22:36:51 UTC (rev 20281)
@@ -25,7 +25,7 @@
#include "pylith/materials/Metadata.hh" // USES Metadata
-#include "pylith/utils/array.hh" // USES double_array
+#include "pylith/utils/array.hh" // USES scalar_array
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "spatialdata/units/Nondimensional.hh" // USES Nondimensional
@@ -147,8 +147,8 @@
// Compute parameters from values in spatial database.
void
contrib::materials::PlaneStrainState::_dbToProperties(
- double* const propValues,
- const pylith::double_array& dbValues)
+ PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues)
{ // _dbToProperties
// Check consistency of arguments
assert(0 != propValues);
@@ -156,9 +156,9 @@
assert(_PlaneStrainState::numDBProperties == numDBValues);
// Extract values from array using our defined indices.
- const double density = dbValues[db_density];
- const double vs = dbValues[db_vs];
- const double vp = dbValues[db_vp];
+ const PylithScalar density = dbValues[db_density];
+ const PylithScalar vs = dbValues[db_vs];
+ const PylithScalar vp = dbValues[db_vp];
// Check for reasonable values. If user supplied unreasonable values
// throw an exception.
@@ -174,8 +174,8 @@
// Compute physical properties that we store from the user-supplied
// physical properties.
- const double mu = density * vs*vs;
- const double lambda = density * vp*vp - 2.0*mu;
+ const PylithScalar mu = density * vs*vs;
+ const PylithScalar lambda = density * vp*vp - 2.0*mu;
// Check for reasonable values. If values are unreasonable throw an
// exception.
@@ -197,7 +197,7 @@
// ----------------------------------------------------------------------
// Nondimensionalize properties.
void
-contrib::materials::PlaneStrainState::_nondimProperties(double* const values,
+contrib::materials::PlaneStrainState::_nondimProperties(PylithScalar* const values,
const int nvalues) const
{ // _nondimProperties
// Check consistency of arguments.
@@ -207,8 +207,8 @@
// Get scales needed to nondimensional parameters from the
// Nondimensional object.
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
// Use the Nondimensional::nondimensionalize() function to
// nondimensionalize the quantities using the appropriate scale.
@@ -223,7 +223,7 @@
// ----------------------------------------------------------------------
// Dimensionalize properties.
void
-contrib::materials::PlaneStrainState::_dimProperties(double* const values,
+contrib::materials::PlaneStrainState::_dimProperties(PylithScalar* const values,
const int nvalues) const
{ // _dimProperties
// Check consistency of arguments
@@ -233,8 +233,8 @@
// Get scales needed to dimensional parameters from the
// Nondimensional object.
- const double densityScale = _normalizer->densityScale();
- const double pressureScale = _normalizer->pressureScale();
+ const PylithScalar densityScale = _normalizer->densityScale();
+ const PylithScalar pressureScale = _normalizer->pressureScale();
// Use the Nondimensional::dimensionalize() function to
// dimensionalize the quantities using the appropriate scale.
@@ -249,10 +249,10 @@
// ----------------------------------------------------------------------
// Compute density at location from properties.
void
-contrib::materials::PlaneStrainState::_calcDensity(double* const density,
- const double* properties,
+contrib::materials::PlaneStrainState::_calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars)
{ // calcDensity
// Check consistency of arguments.
@@ -270,17 +270,17 @@
// ----------------------------------------------------------------------
// Compute stress tensor at location from properties.
void
-contrib::materials::PlaneStrainState::_calcStress(double* const stress,
+contrib::materials::PlaneStrainState::_calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars)
{ // _calcStress
@@ -299,20 +299,20 @@
assert(_PlaneStrainState::tensorSize == initialStrainSize);
// Extract the material properties from the properties array.
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
// Compute a convenient constant.
- const double mu2 = 2.0*mu;
+ const PylithScalar mu2 = 2.0*mu;
// Compute the current strains accounting for the initial strain.
- const double e11 = totalStrain[0] - initialStrain[0];
- const double e22 = totalStrain[1] - initialStrain[1];
- const double e12 = totalStrain[2] - initialStrain[2];
+ const PylithScalar e11 = totalStrain[0] - initialStrain[0];
+ const PylithScalar e22 = totalStrain[1] - initialStrain[1];
+ const PylithScalar e12 = totalStrain[2] - initialStrain[2];
// Compute another convenient constant.
- const double s12 = lambda * (e11 + e22);
+ const PylithScalar s12 = lambda * (e11 + e22);
// Compute the stresses and store them in the stress array.
stress[0] = s12 + mu2*e11 + initialStress[0];
@@ -324,17 +324,17 @@
// Compute elastic constants at location from properties.
void
contrib::materials::PlaneStrainState::_calcElasticConsts(
- double* const elasticConsts,
+ PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // calcElasticConsts
// Check consistency of arguments.
@@ -352,13 +352,13 @@
assert(_PlaneStrainState::tensorSize == initialStrainSize);
// Extract the material properties from the properties array.
- const double density = properties[p_density];
- const double mu = properties[p_mu];
- const double lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
// Compute a couple convenient constants.
- const double mu2 = 2.0 * mu;
- const double lambda2mu = lambda + mu2;
+ const PylithScalar mu2 = 2.0 * mu;
+ const PylithScalar lambda2mu = lambda + mu2;
// Compute the elastic constants and store them in the elastic
// constants array.
@@ -372,7 +372,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
contrib::materials::PlaneStrainState::stableTimeStepImplicit(
const pylith::topology::Mesh& mesh) {
// Override the ElasticMaterial::stableTimeStepImplicit() function
@@ -380,39 +380,40 @@
// ) with an optimized calculation of the stable time step. This is
// possible because the stable time step for an elastic material is
// infinite, so we can simply return a very large number.
- return pylith::PYLITH_MAXDOUBLE;
+ return pylith::PYLITH_MAXSCALAR;
}
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
-double
+PylithScalar
contrib::materials::PlaneStrainState::_stableTimeStepImplicit(
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars) const
-{ // _stableTimeStepImplicit Return the stable time step for this
- // material given its current state. This function will never be
- // called because we provide the stableTimeStepImplicit() function,
- // but we implement this function to satisfy the requirements of an
- // interface for an elastic material (which is defined by the
- // Material and ElasticMaterial objects).
- return pylith::PYLITH_MAXDOUBLE;
+{ // _stableTimeStepImplicit
+ // Return the stable time step for this material given its current
+ // state. This function will never be called because we provide the
+ // stableTimeStepImplicit() function, but we implement this function
+ // to satisfy the requirements of an interface for an elastic
+ // material (which is defined by the Material and ElasticMaterial
+ // objects).
+ return pylith::PYLITH_MAXSCALAR;
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
// Update state variables.
void
contrib::materials::PlaneStrainState::_updateStateVars(
- double* const stateVars,
+ PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize)
{ // _updateStateVars
// Check consistency of arguments.
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.hh 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.hh 2012-06-01 22:36:51 UTC (rev 20281)
@@ -79,7 +79,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -92,15 +92,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -108,7 +108,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -117,10 +117,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -143,17 +143,17 @@
* @param initialStrainSize Size of initial strain array.
* @param computeStateVars Flag indicating to compute updated state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -172,17 +172,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -194,10 +194,10 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
- const int numProperties,
- const double* stateVars,
- const int numStateVars) const;
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars) const;
// --------------------------------------------------------------------
// Optional function in the PyLith interface for a bulk constitutive
@@ -222,15 +222,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
// PRIVATE MEMBERS ////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.i 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/PlaneStrainState.i 2012-06-01 22:36:51 UTC (rev 20281)
@@ -55,7 +55,7 @@
* @param mesh Finite-element mesh.
* @returns Time step
*/
- double stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
+ PylithScalar stableTimeStepImplicit(const pylith::topology::Mesh& mesh);
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -68,15 +68,15 @@
* @param propValues Array of property values.
* @param dbValues Array of database values.
*/
- void _dbToProperties(double* const propValues,
- const pylith::double_array& dbValues);
+ void _dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues);
/** Nondimensionalize properties.
*
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _nondimProperties(double* const values,
+ void _nondimProperties(PylithScalar* const values,
const int nvalues) const;
/** Dimensionalize properties.
@@ -84,7 +84,7 @@
* @param values Array of property values.
* @param nvalues Number of values.
*/
- void _dimProperties(double* const values,
+ void _dimProperties(PylithScalar* const values,
const int nvalues) const;
/** Compute density from properties.
@@ -93,10 +93,10 @@
* @param properties Properties at location.
* @param numProperties Number of properties.
*/
- void _calcDensity(double* const density,
- const double* properties,
+ void _calcDensity(PylithScalar* const density,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars);
/** Compute stress tensor from properties and state variables. If
@@ -120,17 +120,17 @@
* @param computeStateVars Flag indicating to compute updated
* state variables.
*/
- void _calcStress(double* const stress,
+ void _calcStress(PylithScalar* const stress,
const int stressSize,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize,
const bool computeStateVars);
@@ -149,17 +149,17 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _calcElasticConsts(double* const elasticConsts,
+ void _calcElasticConsts(PylithScalar* const elasticConsts,
const int numElasticConsts,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* stateVars,
+ const PylithScalar* stateVars,
const int numStateVars,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
/** Get stable time step for implicit time integration.
@@ -171,10 +171,10 @@
*
* @returns Time step
*/
- double _stableTimeStepImplicit(const double* properties,
- const int numProperties,
- const double* stateVars,
- const int numStateVars) const;
+ PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars) const;
// PROTECTED METHODS //////////////////////////////////////////////
protected :
@@ -192,15 +192,15 @@
* @param initialStrain Initial strain tensor at location.
* @param initialStrainSize Size of initial strain array.
*/
- void _updateStateVars(double* const stateVars,
+ void _updateStateVars(PylithScalar* const stateVars,
const int numStateVars,
- const double* properties,
+ const PylithScalar* properties,
const int numProperties,
- const double* totalStrain,
+ const PylithScalar* totalStrain,
const int strainSize,
- const double* initialStress,
+ const PylithScalar* initialStress,
const int initialStressSize,
- const double* initialStrain,
+ const PylithScalar* initialStrain,
const int initialStrainSize);
}; // class PlaneStrainState
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/configure.ac
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/configure.ac 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/configure.ac 2012-06-01 22:36:51 UTC (rev 20281)
@@ -48,7 +48,14 @@
CIT_NUMPY_INCDIR
AC_PROG_SWIG(1.3.33)
+# PETSC (dictates precision)
+AC_LANG(C++)
+CIT_PATH_PETSC([3.2.0])
+CIT_HEADER_PETSC
+
# PYLITH
+pylith_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$PETSC_CC_INCLUDES $CPPFLAGS"
AC_LANG(C++)
AC_CHECK_HEADER([pylith/materials/ElasticMaterial.hh], [], [
AC_MSG_ERROR([PyLith ElasticMaterial header not found; try CPPFLAGS="-I<PyLith include dir>"])
@@ -70,6 +77,7 @@
AC_CHECK_FILE([materials/ElasticMaterial.i], [], [
AC_MSG_ERROR([PyLith ElasticMaterial.i SWIG interface file not found; Try setting PYLITH_SWIG_DIR=<directory containing materials/ElasticMaterial.i>])])
fi
+CPPFLAGS=$pylith_save_CPPFLAGS
# ENDIANNESS
Modified: short/3D/PyLith/branches/v1.7-trunk/templates/materials/materialscontrib.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/templates/materials/materialscontrib.i 2012-06-01 22:16:34 UTC (rev 20280)
+++ short/3D/PyLith/branches/v1.7-trunk/templates/materials/materialscontrib.i 2012-06-01 22:36:51 UTC (rev 20281)
@@ -27,7 +27,9 @@
#include "PlaneStrainState.hh"
-#include "pylith/utils/arrayfwd.hh"
+#include "pylith/utils/types.hh"
+#include "pylith/utils/array.hh"
+#include "pylith/utils/sievetypes.hh"
%}
// Convert standard C++ exceptions to Python exceptions.
@@ -41,7 +43,7 @@
} // exception
%include "typemaps.i"
-%include "include/doublearray.i"
+%include "include/scalartypemaps.i"
// Numpy interface stuff
%{
More information about the CIG-COMMITS
mailing list