[instant] 01/03: Imported Upstream version 2016.1.0
Johannes Ring
johannr-guest at moszumanska.debian.org
Fri Jun 24 11:19:39 UTC 2016
This is an automated email from the git hooks/post-receive script.
johannr-guest pushed a commit to branch master
in repository instant.
commit ff6ede130bb027eedaff8a29d781282c6bb5eaa2
Author: Johannes Ring <johannr at simula.no>
Date: Fri Jun 24 13:13:10 2016 +0200
Imported Upstream version 2016.1.0
---
.bzrignore | 2 +
.gitignore | 2 +
ChangeLog | 2 +
README | 4 +-
doc/Instant.html | 139 -----
doc/html_reference/api-objects.txt | 196 ------
doc/html_reference/class-tree.html | 235 --------
doc/html_reference/crarr.png | Bin 340 -> 0 bytes
doc/html_reference/epydoc.css | 322 ----------
doc/html_reference/epydoc.js | 293 ---------
doc/html_reference/frames.html | 17 -
doc/html_reference/help.html | 278 ---------
doc/html_reference/identifier-index.html | 490 ---------------
doc/html_reference/index.html | 17 -
doc/html_reference/instant-module.html | 203 -------
doc/html_reference/instant-pysrc.html | 151 -----
doc/html_reference/instant.build-module.html | 662 ---------------------
doc/html_reference/instant.build-pysrc.html | 619 -------------------
doc/html_reference/instant.cache-module.html | 453 --------------
doc/html_reference/instant.cache-pysrc.html | 277 ---------
.../instant.codegeneration-module.html | 425 -------------
.../instant.codegeneration-pysrc.html | 400 -------------
doc/html_reference/instant.config-module.html | 291 ---------
doc/html_reference/instant.config-pysrc.html | 219 -------
doc/html_reference/instant.inlining-module.html | 407 -------------
doc/html_reference/instant.inlining-pysrc.html | 257 --------
doc/html_reference/instant.instant-class.html | 559 -----------------
doc/html_reference/instant.locking-module.html | 233 --------
doc/html_reference/instant.locking-pysrc.html | 195 ------
doc/html_reference/instant.output-module.html | 355 -----------
doc/html_reference/instant.output-pysrc.html | 200 -------
doc/html_reference/instant.paths-module.html | 307 ----------
doc/html_reference/instant.paths-pysrc.html | 188 ------
doc/html_reference/instant.signatures-module.html | 194 ------
doc/html_reference/instant.signatures-pysrc.html | 173 ------
doc/html_reference/module-tree.html | 130 ----
doc/html_reference/redirect.html | 38 --
doc/html_reference/toc-everything.html | 129 ----
doc/html_reference/toc-instant-module.html | 31 -
doc/html_reference/toc-instant.build-module.html | 41 --
doc/html_reference/toc-instant.cache-module.html | 49 --
.../toc-instant.codegeneration-module.html | 42 --
doc/html_reference/toc-instant.config-module.html | 35 --
.../toc-instant.inlining-module.html | 37 --
doc/html_reference/toc-instant.locking-module.html | 44 --
doc/html_reference/toc-instant.output-module.html | 49 --
doc/html_reference/toc-instant.paths-module.html | 43 --
.../toc-instant.signatures-module.html | 36 --
doc/html_reference/toc.html | 42 --
doc/makedoc.sh | 6 -
doc/sphinx/Makefile | 177 ++++++
doc/sphinx/README | 27 +
doc/sphinx/generate-apidoc | 29 +
doc/sphinx/source/api-doc/instant.rst | 86 +++
doc/sphinx/source/api-doc/modules.rst | 7 +
doc/sphinx/source/conf.py | 271 +++++++++
doc/sphinx/source/index.rst | 25 +
doc/sphinx/source/releases.rst | 8 +
doc/sphinx/source/releases/next.rst | 2 +
doc/sphinx/source/releases/v1.6.0.rst | 6 +
instant/__init__.py | 6 +-
instant/codegeneration.py | 4 +-
setup.py | 20 +-
63 files changed, 667 insertions(+), 9518 deletions(-)
diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 0000000..54f4cb8
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1,2 @@
+build
+tests/**/
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3a1f657
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+build/
+tests/**/
diff --git a/ChangeLog b/ChangeLog
index 13b2392..6be39ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+2016.1.0 [2016-06-23]
+ - Minor fixes
1.6.0 [2015-07-28]
- Minor fixes
1.5.0 [2015-01-12]
diff --git a/README b/README
index 8ff71b5..df81922 100644
--- a/README
+++ b/README
@@ -20,7 +20,7 @@ Optional dependencies
To enable NFS safe file locking flufl.lock can be installed:
-https://launchpad.net/flufl.lock
+https://gitlab.com/warsaw/flufl.lock
Environment
@@ -29,7 +29,7 @@ Environment
Instant's behaviour depened on following environment variables:
- INSTANT_CACHE_DIR
- - INSTANT_ERROR_DIR
+ - INSTANT_ERROR_DIR
These options can override placement of default cache and error
directories in ~/.instant/cache and ~/.instant/error.
diff --git a/doc/Instant.html b/doc/Instant.html
deleted file mode 100644
index f90ecdc..0000000
--- a/doc/Instant.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html><head><title>The Instant C/C++ in Python</title><style>
-pre {color: #000000;
- background-color: #b0c8d0;
- position: relative;
- left: 40px; margin-right: 80px;
- border-style: solid; border-color: black;
- border-width: thin}
-</style></head>
-
-<body bgcolor="#ffffff" link="#0d271a" vlink="#8b0a50">
-
-<table width="600" cellpadding="0" cellspacing="0">
-<tbody><tr>
- <td valign="top" bgcolor="#b0c8d0">
- <table width="180" valign="top">
- <tbody><tr>
- <td>
-<table width="100%">
-<tbody><tr>
-
-<tr><td bgcolor="#000000"><font color="#ffffff"><b>Local</b></font></td></tr>
-<tr><td><a href="code/index.html">Documentation</a></td></tr>
-<tr><td><a href="http://sourceforge.net/projects/pyinstant">Download</a></td></tr>
-<tr><td></td></tr>
-<tr><td></td></tr>
-
-
-
-<tr><td bgcolor="#000000"><font color="#ffffff"><b>Global</b></font></td></tr>
-<tr><td><a href="http://www.python.org/">Python</a></td></tr>
-<tr><td><a href="http://www.numpy.org">NumPy</a></td></tr>
-<tr><td><a href="http://www.stsci.edu/resources/software_hardware/numarray">Numarray</a></td></tr>
-
-<tr><td><a href="http://www.swig.org/">SWIG</a></td></tr>
-<tr><td><a href="http://www.simula.no/">Simula Research Laboratory</a></td></tr>
-<tr><td></td></tr>
-<tr><td></td></tr>
-
-
-
- </tbody></table>
- </td>
- </tr>
- </tbody></table>
- </td>
-<td valign="top">
-<table width="600" valign="top">
-<tbody><tr>
-<td>
-<p>
-</p><h1>Instant inlining of C/C++ code in Python</h1>
-
-<h2>News</h2>
-<b>Release 0.9 (3/01/07):</b> Port to Windows with mingw pluss some
- added functionality and clean up.
-<br>
-<b>Release 0.8 (5/10/06):</b> Added support for <a href="http://www.numpy.org">NumPy</a>
-and <a href="http://www.stsci.edu/resources/software_hardware/numarray">Numarray</a>.
-<b>Release 0.7 (12/09/06):</b> Added functionality for the use of pkg-config files. <br>
-<b>Release 0.6 (17/07/06):</b> Cleanup of the user interface. <br>
-<b>Release 0.5 (10/03/06):</b> Instant uses SWIG directors for cross language inheritance. <br>
-<b>Release 0.4 (03/01/05):</b> Added md5sums to avoid unnecessary compilation. <br>
-<b>Release 0.3 (27/11/05):</b> Instant supports Numeric arrays. <br>
-
-
-<h2>Appetizer </h2>
-Instant is a Python module that allows for instant inlining of C and
-C++ code in Python. It is a small Python module built on top of SWIG and Distutils.
-<p>
-Example of use:
-<pre>
-from Instant import inline
-
-add_func = inline("double add(double a, double b){ return a+b; }")
-
-print "The sum of 3 and 4.5 is ", add_func(3, 4.5)
-
-</pre>
-
-Example with NumPy arrays converted to C double arrays:
-<pre>
-from Instant import inline_with_numpy
-
-c_code = """
-double sum (int n1, double* array1){
- double tmp = 0.0;
- for (int i=0; i<n1; i++) {
- tmp += array1[i];
- }
- return tmp;
-}
-"""
-
-
-sum_func = inline_with_numpy(c_code, arrays = [['n1', 'array1']])
-
-a = numpy.arange(10000000); a = numpy.sin(a)
-
-sum1 = sum_func(a)
-
-</pre>
-On my machine, the above example is about twice as fast as using the
-sum function implemented in NumPy. This comparison
-is of course not fair, since there are no safety checks in the
-above example. The comparison is implemented in the file <a href="../tests/test9.py">test9.py</a>
-that comes with the Instant package. The old package Numeric is about
-as slow as NumPy (<a href="../tests/test2.py">test2.py</a>), while the same example with Numarray is
-about as fast as with Instant (<a href="../tests/test10.py">test10.py</a>).
-
-
-
-
-<p>
-
-<h2>Requirement</h2>
-Instant requires Python and SWIG. It has only been tested with
-Python 2.3 and 2.4 and SWIG 1.3.24 or newer. It only runs on Unix systems.
-
-<h2>Related Projects</h2>
-The <a href="http://www.scipy.org/documentation/weave">weave</a> module
-in <a href="http://www.scipy.org">SciPy</a> <br>
-The <a href="http://pyinline.sourceforge.net/">PyInline</a> module <br>
-The <a href="http://nz.cosc.canterbury.ac.nz/~greg/python/Pyrex/version/Doc/About.html">PyRex</a> module
-
-
-</p><hr>
-<address><a href="mailto:magnew at ifi.uio.no">Magne Westlie</a></address>
-<address><a href="mailto:kent-and at simula.no">Kent-Andre Mardal</a></address>
-
-</td>
-</tr>
-</tbody></table>
-</td>
-</tr>
-</tbody></table>
-
-
-
-</body></html>
diff --git a/doc/html_reference/api-objects.txt b/doc/html_reference/api-objects.txt
deleted file mode 100644
index 87af512..0000000
--- a/doc/html_reference/api-objects.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-instant instant-module.html
-instant.delete_temp_dir instant.paths-module.html#delete_temp_dir
-instant.get_instant_dir instant.paths-module.html#get_instant_dir
-instant.instant_debug instant.output-module.html#instant_debug
-instant.place_module_in_memory_cache instant.cache-module.html#place_module_in_memory_cache
-instant.modulename_from_checksum instant.cache-module.html#modulename_from_checksum
-instant.write_file instant.output-module.html#write_file
-instant.instant_assert instant.output-module.html#instant_assert
-instant.set_logging_level instant.output-module.html#set_logging_level
-instant.check_disk_cache instant.cache-module.html#check_disk_cache
-instant.get_default_cache_dir instant.paths-module.html#get_default_cache_dir
-instant.get_temp_dir instant.paths-module.html#get_temp_dir
-instant.strip_strings instant.build-module.html#strip_strings
-instant.memory_cached_module instant.cache-module.html#memory_cached_module
-instant.assert_is_str instant.build-module.html#assert_is_str
-instant.reindent instant.codegeneration-module.html#reindent
-instant.inline_module instant.inlining-module.html#inline_module
-instant.instant_error instant.output-module.html#instant_error
-instant.__package__ instant-module.html#__package__
-instant.get_logger instant.output-module.html#get_logger
-instant.validate_cache_dir instant.paths-module.html#validate_cache_dir
-instant.check_swig_version instant.config-module.html#check_swig_version
-instant.recompile instant.build-module.html#recompile
-instant.copy_files instant.build-module.html#copy_files
-instant.assert_is_str_list instant.build-module.html#assert_is_str_list
-instant.get_swig_version instant.config-module.html#get_swig_version
-instant.instant_info instant.output-module.html#instant_info
-instant.cached_modules instant.cache-module.html#cached_modules
-instant.get_func_name instant.inlining-module.html#get_func_name
-instant.header_and_libs_from_pkgconfig instant.config-module.html#header_and_libs_from_pkgconfig
-instant.write_setup instant.codegeneration-module.html#write_setup
-instant.check_memory_cache instant.cache-module.html#check_memory_cache
-instant.inline_module_with_numpy instant.inlining-module.html#inline_module_with_numpy
-instant.is_valid_module_name instant.cache-module.html#is_valid_module_name
-instant.import_module_directly instant.cache-module.html#import_module_directly
-instant.get_lock instant.locking-module.html#get_lock
-instant.copy_to_cache instant.build-module.html#copy_to_cache
-instant.import_and_cache_module instant.cache-module.html#import_and_cache_module
-instant.instant_warning instant.output-module.html#instant_warning
-instant.assert_is_bool instant.build-module.html#assert_is_bool
-instant.import_module instant.cache-module.html#import_module
-instant.get_log_handler instant.output-module.html#get_log_handler
-instant.inline_with_numpy instant.inlining-module.html#inline_with_numpy
-instant.write_interfacefile instant.codegeneration-module.html#write_interfacefile
-instant.mapstrings instant.codegeneration-module.html#mapstrings
-instant.set_log_handler instant.output-module.html#set_log_handler
-instant.checksum_from_modulename instant.cache-module.html#checksum_from_modulename
-instant.release_lock instant.locking-module.html#release_lock
-instant.inline instant.inlining-module.html#inline
-instant.get_status_output instant.output-module.html#get_status_output
-instant.build_module instant.build-module.html#build_module
-instant.arg_strings instant.build-module.html#arg_strings
-instant.compute_checksum instant.signatures-module.html#compute_checksum
-instant.build instant.build-module.html
-instant.build.delete_temp_dir instant.paths-module.html#delete_temp_dir
-instant.build.get_instant_dir instant.paths-module.html#get_instant_dir
-instant.build.instant_debug instant.output-module.html#instant_debug
-instant.build.place_module_in_memory_cache instant.cache-module.html#place_module_in_memory_cache
-instant.build.write_file instant.output-module.html#write_file
-instant.build.instant_assert instant.output-module.html#instant_assert
-instant.build.set_logging_level instant.output-module.html#set_logging_level
-instant.build.check_disk_cache instant.cache-module.html#check_disk_cache
-instant.build.get_default_cache_dir instant.paths-module.html#get_default_cache_dir
-instant.build.get_temp_dir instant.paths-module.html#get_temp_dir
-instant.build.strip_strings instant.build-module.html#strip_strings
-instant.build.memory_cached_module instant.cache-module.html#memory_cached_module
-instant.build.assert_is_str instant.build-module.html#assert_is_str
-instant.build.reindent instant.codegeneration-module.html#reindent
-instant.build.__package__ instant.build-module.html#__package__
-instant.build.get_logger instant.output-module.html#get_logger
-instant.build.copy_files instant.build-module.html#copy_files
-instant.build.validate_cache_dir instant.paths-module.html#validate_cache_dir
-instant.build.write_interfacefile instant.codegeneration-module.html#write_interfacefile
-instant.build.modulename_from_checksum instant.cache-module.html#modulename_from_checksum
-instant.build.assert_is_str_list instant.build-module.html#assert_is_str_list
-instant.build.instant_info instant.output-module.html#instant_info
-instant.build.cached_modules instant.cache-module.html#cached_modules
-instant.build.recompile instant.build-module.html#recompile
-instant.build.header_and_libs_from_pkgconfig instant.config-module.html#header_and_libs_from_pkgconfig
-instant.build.write_setup instant.codegeneration-module.html#write_setup
-instant.build.check_memory_cache instant.cache-module.html#check_memory_cache
-instant.build.instant_error instant.output-module.html#instant_error
-instant.build.is_valid_module_name instant.cache-module.html#is_valid_module_name
-instant.build.import_module_directly instant.cache-module.html#import_module_directly
-instant.build.get_lock instant.locking-module.html#get_lock
-instant.build.copy_to_cache instant.build-module.html#copy_to_cache
-instant.build.import_and_cache_module instant.cache-module.html#import_and_cache_module
-instant.build.instant_warning instant.output-module.html#instant_warning
-instant.build.assert_is_bool instant.build-module.html#assert_is_bool
-instant.build.import_module instant.cache-module.html#import_module
-instant.build.get_log_handler instant.output-module.html#get_log_handler
-instant.build.mapstrings instant.codegeneration-module.html#mapstrings
-instant.build.set_log_handler instant.output-module.html#set_log_handler
-instant.build.checksum_from_modulename instant.cache-module.html#checksum_from_modulename
-instant.build.release_lock instant.locking-module.html#release_lock
-instant.build.get_status_output instant.output-module.html#get_status_output
-instant.build.build_module instant.build-module.html#build_module
-instant.build.arg_strings instant.build-module.html#arg_strings
-instant.build.compute_checksum instant.signatures-module.html#compute_checksum
-instant.cache instant.cache-module.html
-instant.cache.instant_debug instant.output-module.html#instant_debug
-instant.cache.place_module_in_memory_cache instant.cache-module.html#place_module_in_memory_cache
-instant.cache.instant_assert instant.output-module.html#instant_assert
-instant.cache.check_disk_cache instant.cache-module.html#check_disk_cache
-instant.cache.get_default_cache_dir instant.paths-module.html#get_default_cache_dir
-instant.cache.validate_cache_dir instant.paths-module.html#validate_cache_dir
-instant.cache.memory_cached_module instant.cache-module.html#memory_cached_module
-instant.cache.is_valid_module_name instant.cache-module.html#is_valid_module_name
-instant.cache.__package__ instant.cache-module.html#__package__
-instant.cache.modulename_from_checksum instant.cache-module.html#modulename_from_checksum
-instant.cache.cached_modules instant.cache-module.html#cached_modules
-instant.cache.check_memory_cache instant.cache-module.html#check_memory_cache
-instant.cache._modulename_prefix instant.cache-module.html#_modulename_prefix
-instant.cache.import_module_directly instant.cache-module.html#import_module_directly
-instant.cache.get_lock instant.locking-module.html#get_lock
-instant.cache.import_and_cache_module instant.cache-module.html#import_and_cache_module
-instant.cache.instant_warning instant.output-module.html#instant_warning
-instant.cache._memory_cache instant.cache-module.html#_memory_cache
-instant.cache.checksum_from_modulename instant.cache-module.html#checksum_from_modulename
-instant.cache.release_lock instant.locking-module.html#release_lock
-instant.cache.import_module instant.cache-module.html#import_module
-instant.cache.compute_checksum instant.signatures-module.html#compute_checksum
-instant.codegeneration instant.codegeneration-module.html
-instant.codegeneration._test_write_interfacefile instant.codegeneration-module.html#_test_write_interfacefile
-instant.codegeneration.instant_warning instant.output-module.html#instant_warning
-instant.codegeneration.instant_debug instant.output-module.html#instant_debug
-instant.codegeneration.write_interfacefile instant.codegeneration-module.html#write_interfacefile
-instant.codegeneration.mapstrings instant.codegeneration-module.html#mapstrings
-instant.codegeneration.__package__ instant.codegeneration-module.html#__package__
-instant.codegeneration.instant_assert instant.output-module.html#instant_assert
-instant.codegeneration.write_file instant.output-module.html#write_file
-instant.codegeneration.write_setup instant.codegeneration-module.html#write_setup
-instant.codegeneration._test_write_setup instant.codegeneration-module.html#_test_write_setup
-instant.codegeneration.reindent instant.codegeneration-module.html#reindent
-instant.config instant.config-module.html
-instant.config.get_swig_version instant.config-module.html#get_swig_version
-instant.config.header_and_libs_from_pkgconfig instant.config-module.html#header_and_libs_from_pkgconfig
-instant.config.__package__ instant.config-module.html#__package__
-instant.config.check_swig_version instant.config-module.html#check_swig_version
-instant.config.get_status_output instant.output-module.html#get_status_output
-instant.inlining instant.inlining-module.html
-instant.inlining.inline_module instant.inlining-module.html#inline_module
-instant.inlining.instant_warning instant.output-module.html#instant_warning
-instant.inlining.inline_with_numpy instant.inlining-module.html#inline_with_numpy
-instant.inlining.get_func_name instant.inlining-module.html#get_func_name
-instant.inlining.instant_error instant.output-module.html#instant_error
-instant.inlining.__package__ instant.inlining-module.html#__package__
-instant.inlining.inline_module_with_numpy instant.inlining-module.html#inline_module_with_numpy
-instant.inlining.instant_assert instant.output-module.html#instant_assert
-instant.inlining.inline instant.inlining-module.html#inline
-instant.inlining.build_module instant.build-module.html#build_module
-instant.locking instant.locking-module.html
-instant.locking._lock_names instant.locking-module.html#_lock_names
-instant.locking._lock_files instant.locking-module.html#_lock_files
-instant.locking.instant_debug instant.output-module.html#instant_debug
-instant.locking.__package__ instant.locking-module.html#__package__
-instant.locking.instant_error instant.output-module.html#instant_error
-instant.locking.instant_assert instant.output-module.html#instant_assert
-instant.locking.release_lock instant.locking-module.html#release_lock
-instant.locking._lock_count instant.locking-module.html#_lock_count
-instant.locking.get_lock instant.locking-module.html#get_lock
-instant.locking.release_all_locks instant.locking-module.html#release_all_locks
-instant.locking.validate_cache_dir instant.paths-module.html#validate_cache_dir
-instant.output instant.output-module.html
-instant.output.instant_info instant.output-module.html#instant_info
-instant.output.write_file instant.output-module.html#write_file
-instant.output.get_log_handler instant.output-module.html#get_log_handler
-instant.output.instant_debug instant.output-module.html#instant_debug
-instant.output._loghandler instant.output-module.html#_loghandler
-instant.output.__package__ instant.output-module.html#__package__
-instant.output.get_logger instant.output-module.html#get_logger
-instant.output.instant_assert instant.output-module.html#instant_assert
-instant.output._log instant.output-module.html#_log
-instant.output.instant_error instant.output-module.html#instant_error
-instant.output.get_status_output instant.output-module.html#get_status_output
-instant.output.set_log_handler instant.output-module.html#set_log_handler
-instant.output.set_logging_level instant.output-module.html#set_logging_level
-instant.output.instant_warning instant.output-module.html#instant_warning
-instant.paths instant.paths-module.html
-instant.paths.delete_temp_dir instant.paths-module.html#delete_temp_dir
-instant.paths._tmp_dir instant.paths-module.html#_tmp_dir
-instant.paths.get_instant_dir instant.paths-module.html#get_instant_dir
-instant.paths._test instant.paths-module.html#_test
-instant.paths.__package__ instant.paths-module.html#__package__
-instant.paths.validate_cache_dir instant.paths-module.html#validate_cache_dir
-instant.paths.instant_assert instant.output-module.html#instant_assert
-instant.paths.get_default_cache_dir instant.paths-module.html#get_default_cache_dir
-instant.paths.instant_debug instant.output-module.html#instant_debug
-instant.paths.get_temp_dir instant.paths-module.html#get_temp_dir
-instant.signatures instant.signatures-module.html
-instant.signatures.instant_debug instant.output-module.html#instant_debug
-instant.signatures.__package__ instant.signatures-module.html#__package__
-instant.signatures.instant_error instant.output-module.html#instant_error
-instant.signatures.instant_assert instant.output-module.html#instant_assert
-instant.signatures._test instant.signatures-module.html#_test
-instant.signatures.compute_checksum instant.signatures-module.html#compute_checksum
diff --git a/doc/html_reference/class-tree.html b/doc/html_reference/class-tree.html
deleted file mode 100644
index 45233ba..0000000
--- a/doc/html_reference/class-tree.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Class Hierarchy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Trees </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%"> </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="class-tree.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Class Hierarchy</h1>
-<ul class="nomargin-top">
- <li> <strong class="uidlink">UserDict.UserDict</strong>
- <ul>
- <li> <strong class="uidlink">UserDict.IterableUserDict</strong>
- <ul>
- <li> <strong class="uidlink"><a href="os._Environ-class.html">os._Environ</a></strong>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="logging.BufferingFormatter-class.html">logging.BufferingFormatter</a></strong>:
- <em class="summary">A formatter suitable for formatting a number of records.</em>
- </li>
- <li> <strong class="uidlink"><a href="logging.Filter-class.html">logging.Filter</a></strong>:
- <em class="summary">Filter instances are used to perform arbitrary filtering of
- LogRecords.</em>
- </li>
- <li> <strong class="uidlink"><a href="logging.Filterer-class.html">logging.Filterer</a></strong>:
- <em class="summary">A base class for loggers and handlers which allows them to share
- common code.</em>
- <ul>
- <li> <strong class="uidlink"><a href="logging.Logger-class.html">logging.Logger</a></strong>:
- <em class="summary">Instances of the Logger class represent a single logging
- channel.</em>
- <ul>
- <li> <strong class="uidlink"><a href="logging.RootLogger-class.html">logging.RootLogger</a></strong>:
- <em class="summary">A root logger is not that different to any other logger, except
- that it must have a logging level and there is only one instance of
- it in the hierarchy.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="logging.Handler-class.html">logging.Handler</a></strong>:
- <em class="summary">Handler instances dispatch logging events to specific
- destinations.</em>
- <ul>
- <li> <strong class="uidlink"><a href="logging.StreamHandler-class.html">logging.StreamHandler</a></strong>:
- <em class="summary">A handler class which writes logging records, appropriately
- formatted, to a stream.</em>
- <ul>
- <li> <strong class="uidlink"><a href="logging.FileHandler-class.html">logging.FileHandler</a></strong>:
- <em class="summary">A handler class which writes formatted logging records to disk
- files.</em>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="logging.Formatter-class.html">logging.Formatter</a></strong>:
- <em class="summary">Formatter instances are used to convert a LogRecord to text.</em>
- </li>
- <li> <strong class="uidlink"><a href="logging.LogRecord-class.html">logging.LogRecord</a></strong>:
- <em class="summary">A LogRecord instance represents an event being logged.</em>
- </li>
- <li> <strong class="uidlink"><a href="logging.Manager-class.html">logging.Manager</a></strong>:
- <em class="summary">There is [under normal circumstances] just one Manager instance,
- which holds the hierarchy of loggers.</em>
- </li>
- <li> <strong class="uidlink"><a href="logging.PlaceHolder-class.html">logging.PlaceHolder</a></strong>:
- <em class="summary">PlaceHolder instances are used in the Manager logger hierarchy
- to take the place of nodes for which no loggers have been
- defined.</em>
- </li>
- <li> <strong class="uidlink">object</strong>:
- <em class="summary">The most base type</em>
- <ul>
- <li> <strong class="uidlink">exceptions.BaseException</strong>:
- <em class="summary">Common base class for all exceptions</em>
- <ul>
- <li> <strong class="uidlink">exceptions.Exception</strong>:
- <em class="summary">Common base class for all non-exit exceptions.</em>
- <ul>
- <li> <strong class="uidlink"><a href="sre_constants.error-class.html">sre_constants.error</a></strong>
- </li>
- <li> <strong class="uidlink">exceptions.StandardError</strong>:
- <em class="summary">Base class for all standard Python exceptions that do not
- represent interpreter exiting.</em>
- <ul>
- <li> <strong class="uidlink">exceptions.EnvironmentError</strong>:
- <em class="summary">Base class for I/O related errors.</em>
- <ul>
- <li> <strong class="uidlink"><a href="exceptions.OSError-class.html">exceptions.OSError</a></strong>:
- <em class="summary">OS system call failed.</em>
- </li>
- <li> <strong class="uidlink"><a href="shutil.Error-class.html">shutil.Error</a></strong>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="posix.statvfs_result-class.html">posix.statvfs_result</a></strong>:
- <em class="summary">statvfs_result: Result from statvfs or fstatvfs.</em>
- </li>
- <li> <strong class="uidlink"><a href="itertools.chain-class.html">itertools.chain</a></strong>:
- <em class="summary">chain(*iterables) --> chain object</em>
- </li>
- <li> <strong class="uidlink"><a href="subprocess.Popen-class.html">subprocess.Popen</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="time.struct_time-class.html">time.struct_time</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="posix.stat_result-class.html">posix.stat_result</a></strong>:
- <em class="summary">stat_result: Result from stat or lstat.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="re.Scanner-class.html">re.Scanner</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="tempfile._RandomNameSequence-class.html">tempfile._RandomNameSequence</a></strong>:
- <em class="summary">An instance of _RandomNameSequence generates an endless sequence
- of unpredictable strings which can safely be incorporated into file
- names.</em>
- </li>
- <li> <strong class="uidlink"><a href="tempfile._TemporaryFileWrapper-class.html">tempfile._TemporaryFileWrapper</a></strong>:
- <em class="summary">Temporary file wrapper</em>
- </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Trees </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0beta1 on Mon Oct 20 14:04:25 2008
- </td>
- <td align="right" class="footer">
- <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie()
- // -->
-</script>
-
-</body>
-</html>
diff --git a/doc/html_reference/crarr.png b/doc/html_reference/crarr.png
deleted file mode 100644
index 26b43c5..0000000
Binary files a/doc/html_reference/crarr.png and /dev/null differ
diff --git a/doc/html_reference/epydoc.css b/doc/html_reference/epydoc.css
deleted file mode 100644
index 86d4170..0000000
--- a/doc/html_reference/epydoc.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* Epydoc CSS Stylesheet
- *
- * This stylesheet can be used to customize the appearance of epydoc's
- * HTML output.
- *
- */
-
-/* Default Colors & Styles
- * - Set the default foreground & background color with 'body'; and
- * link colors with 'a:link' and 'a:visited'.
- * - Use bold for decision list terms.
- * - The heading styles defined here are used for headings *within*
- * docstring descriptions. All headings used by epydoc itself use
- * either class='epydoc' or class='toc' (CSS styles for both
- * defined below).
- */
-body { background: #ffffff; color: #000000; }
-p { margin-top: 0.5em; margin-bottom: 0.5em; }
-a:link { color: #0000ff; }
-a:visited { color: #204080; }
-dt { font-weight: bold; }
-h1 { font-size: +140%; font-style: italic;
- font-weight: bold; }
-h2 { font-size: +125%; font-style: italic;
- font-weight: bold; }
-h3 { font-size: +110%; font-style: italic;
- font-weight: normal; }
-code { font-size: 100%; }
-/* N.B.: class, not pseudoclass */
-a.link { font-family: monospace; }
-
-/* Page Header & Footer
- * - The standard page header consists of a navigation bar (with
- * pointers to standard pages such as 'home' and 'trees'); a
- * breadcrumbs list, which can be used to navigate to containing
- * classes or modules; options links, to show/hide private
- * variables and to show/hide frames; and a page title (using
- * <h1>). The page title may be followed by a link to the
- * corresponding source code (using 'span.codelink').
- * - The footer consists of a navigation bar, a timestamp, and a
- * pointer to epydoc's homepage.
- */
-h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; }
-h2.epydoc { font-size: +130%; font-weight: bold; }
-h3.epydoc { font-size: +115%; font-weight: bold;
- margin-top: 0.2em; }
-td h3.epydoc { font-size: +115%; font-weight: bold;
- margin-bottom: 0; }
-table.navbar { background: #a0c0ff; color: #000000;
- border: 2px groove #c0d0d0; }
-table.navbar table { color: #000000; }
-th.navbar-select { background: #70b0ff;
- color: #000000; }
-table.navbar a { text-decoration: none; }
-table.navbar a:link { color: #0000ff; }
-table.navbar a:visited { color: #204080; }
-span.breadcrumbs { font-size: 85%; font-weight: bold; }
-span.options { font-size: 70%; }
-span.codelink { font-size: 85%; }
-td.footer { font-size: 85%; }
-
-/* Table Headers
- * - Each summary table and details section begins with a 'header'
- * row. This row contains a section title (marked by
- * 'span.table-header') as well as a show/hide private link
- * (marked by 'span.options', defined above).
- * - Summary tables that contain user-defined groups mark those
- * groups using 'group header' rows.
- */
-td.table-header { background: #70b0ff; color: #000000;
- border: 1px solid #608090; }
-td.table-header table { color: #000000; }
-td.table-header table a:link { color: #0000ff; }
-td.table-header table a:visited { color: #204080; }
-span.table-header { font-size: 120%; font-weight: bold; }
-th.group-header { background: #c0e0f8; color: #000000;
- text-align: left; font-style: italic;
- font-size: 115%;
- border: 1px solid #608090; }
-
-/* Summary Tables (functions, variables, etc)
- * - Each object is described by a single row of the table with
- * two cells. The left cell gives the object's type, and is
- * marked with 'code.summary-type'. The right cell gives the
- * object's name and a summary description.
- * - CSS styles for the table's header and group headers are
- * defined above, under 'Table Headers'
- */
-table.summary { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin-bottom: 0.5em; }
-td.summary { border: 1px solid #608090; }
-code.summary-type { font-size: 85%; }
-table.summary a:link { color: #0000ff; }
-table.summary a:visited { color: #204080; }
-
-
-/* Details Tables (functions, variables, etc)
- * - Each object is described in its own div.
- * - A single-row summary table w/ table-header is used as
- * a header for each details section (CSS style for table-header
- * is defined above, under 'Table Headers').
- */
-table.details { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin: .2em 0 0 0; }
-table.details table { color: #000000; }
-table.details a:link { color: #0000ff; }
-table.details a:visited { color: #204080; }
-
-/* Fields */
-dl.fields { margin-left: 2em; margin-top: 1em;
- margin-bottom: 1em; }
-dl.fields dd ul { margin-left: 0em; padding-left: 0em; }
-dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; }
-div.fields { margin-left: 2em; }
-div.fields p { margin-bottom: 0.5em; }
-
-/* Index tables (identifier index, term index, etc)
- * - link-index is used for indices containing lists of links
- * (namely, the identifier index & term index).
- * - index-where is used in link indices for the text indicating
- * the container/source for each link.
- * - metadata-index is used for indices containing metadata
- * extracted from fields (namely, the bug index & todo index).
- */
-table.link-index { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090; }
-td.link-index { border-width: 0px; }
-table.link-index a:link { color: #0000ff; }
-table.link-index a:visited { color: #204080; }
-span.index-where { font-size: 70%; }
-table.metadata-index { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin: .2em 0 0 0; }
-td.metadata-index { border-width: 1px; border-style: solid; }
-table.metadata-index a:link { color: #0000ff; }
-table.metadata-index a:visited { color: #204080; }
-
-/* Function signatures
- * - sig* is used for the signature in the details section.
- * - .summary-sig* is used for the signature in the summary
- * table, and when listing property accessor functions.
- * */
-.sig-name { color: #006080; }
-.sig-arg { color: #008060; }
-.sig-default { color: #602000; }
-.summary-sig { font-family: monospace; }
-.summary-sig-name { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:link
- { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:visited
- { color: #006080; font-weight: bold; }
-.summary-sig-arg { color: #006040; }
-.summary-sig-default { color: #501800; }
-
-/* Subclass list
- */
-ul.subclass-list { display: inline; }
-ul.subclass-list li { display: inline; }
-
-/* To render variables, classes etc. like functions */
-table.summary .summary-name { color: #006080; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:link { color: #006080; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:visited { color: #006080; font-weight: bold;
- font-family: monospace; }
-
-/* Variable values
- * - In the 'variable details' sections, each varaible's value is
- * listed in a 'pre.variable' box. The width of this box is
- * restricted to 80 chars; if the value's repr is longer than
- * this it will be wrapped, using a backslash marked with
- * class 'variable-linewrap'. If the value's repr is longer
- * than 3 lines, the rest will be ellided; and an ellipsis
- * marker ('...' marked with 'variable-ellipsis') will be used.
- * - If the value is a string, its quote marks will be marked
- * with 'variable-quote'.
- * - If the variable is a regexp, it is syntax-highlighted using
- * the re* CSS classes.
- */
-pre.variable { padding: .5em; margin: 0;
- background: #dce4ec; color: #000000;
- border: 1px solid #708890; }
-.variable-linewrap { color: #604000; font-weight: bold; }
-.variable-ellipsis { color: #604000; font-weight: bold; }
-.variable-quote { color: #604000; font-weight: bold; }
-.variable-group { color: #008000; font-weight: bold; }
-.variable-op { color: #604000; font-weight: bold; }
-.variable-string { color: #006030; }
-.variable-unknown { color: #a00000; font-weight: bold; }
-.re { color: #000000; }
-.re-char { color: #006030; }
-.re-op { color: #600000; }
-.re-group { color: #003060; }
-.re-ref { color: #404040; }
-
-/* Base tree
- * - Used by class pages to display the base class hierarchy.
- */
-pre.base-tree { font-size: 80%; margin: 0; }
-
-/* Frames-based table of contents headers
- * - Consists of two frames: one for selecting modules; and
- * the other listing the contents of the selected module.
- * - h1.toc is used for each frame's heading
- * - h2.toc is used for subheadings within each frame.
- */
-h1.toc { text-align: center; font-size: 105%;
- margin: 0; font-weight: bold;
- padding: 0; }
-h2.toc { font-size: 100%; font-weight: bold;
- margin: 0.5em 0 0 -0.3em; }
-
-/* Syntax Highlighting for Source Code
- * - doctest examples are displayed in a 'pre.py-doctest' block.
- * If the example is in a details table entry, then it will use
- * the colors specified by the 'table pre.py-doctest' line.
- * - Source code listings are displayed in a 'pre.py-src' block.
- * Each line is marked with 'span.py-line' (used to draw a line
- * down the left margin, separating the code from the line
- * numbers). Line numbers are displayed with 'span.py-lineno'.
- * The expand/collapse block toggle button is displayed with
- * 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
- * modify the font size of the text.)
- * - If a source code page is opened with an anchor, then the
- * corresponding code block will be highlighted. The code
- * block's header is highlighted with 'py-highlight-hdr'; and
- * the code block's body is highlighted with 'py-highlight'.
- * - The remaining py-* classes are used to perform syntax
- * highlighting (py-string for string literals, py-name for names,
- * etc.)
- */
-pre.py-doctest { padding: .5em; margin: 1em;
- background: #e8f0f8; color: #000000;
- border: 1px solid #708890; }
-table pre.py-doctest { background: #dce4ec;
- color: #000000; }
-pre.py-src { border: 2px solid #000000;
- background: #f0f0f0; color: #000000; }
-.py-line { border-left: 2px solid #000000;
- margin-left: .2em; padding-left: .4em; }
-.py-lineno { font-style: italic; font-size: 90%;
- padding-left: .5em; }
-a.py-toggle { text-decoration: none; }
-div.py-highlight-hdr { border-top: 2px solid #000000;
- border-bottom: 2px solid #000000;
- background: #d8e8e8; }
-div.py-highlight { border-bottom: 2px solid #000000;
- background: #d0e0e0; }
-.py-prompt { color: #005050; font-weight: bold;}
-.py-more { color: #005050; font-weight: bold;}
-.py-string { color: #006030; }
-.py-comment { color: #003060; }
-.py-keyword { color: #600000; }
-.py-output { color: #404040; }
-.py-name { color: #000050; }
-.py-name:link { color: #000050 !important; }
-.py-name:visited { color: #000050 !important; }
-.py-number { color: #005000; }
-.py-defname { color: #000060; font-weight: bold; }
-.py-def-name { color: #000060; font-weight: bold; }
-.py-base-class { color: #000060; }
-.py-param { color: #000060; }
-.py-docstring { color: #006030; }
-.py-decorator { color: #804020; }
-/* Use this if you don't want links to names underlined: */
-/*a.py-name { text-decoration: none; }*/
-
-/* Graphs & Diagrams
- * - These CSS styles are used for graphs & diagrams generated using
- * Graphviz dot. 'img.graph-without-title' is used for bare
- * diagrams (to remove the border created by making the image
- * clickable).
- */
-img.graph-without-title { border: none; }
-img.graph-with-title { border: 1px solid #000000; }
-span.graph-title { font-weight: bold; }
-span.graph-caption { }
-
-/* General-purpose classes
- * - 'p.indent-wrapped-lines' defines a paragraph whose first line
- * is not indented, but whose subsequent lines are.
- * - The 'nomargin-top' class is used to remove the top margin (e.g.
- * from lists). The 'nomargin' class is used to remove both the
- * top and bottom margin (but not the left or right margin --
- * for lists, that would cause the bullets to disappear.)
- */
-p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em;
- margin: 0; }
-.nomargin-top { margin-top: 0; }
-.nomargin { margin-top: 0; margin-bottom: 0; }
-
-/* HTML Log */
-div.log-block { padding: 0; margin: .5em 0 .5em 0;
- background: #e8f0f8; color: #000000;
- border: 1px solid #000000; }
-div.log-error { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffb0b0; color: #000000;
- border: 1px solid #000000; }
-div.log-warning { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffffb0; color: #000000;
- border: 1px solid #000000; }
-div.log-info { padding: .1em .3em .1em .3em; margin: 4px;
- background: #b0ffb0; color: #000000;
- border: 1px solid #000000; }
-h2.log-hdr { background: #70b0ff; color: #000000;
- margin: 0; padding: 0em 0.5em 0em 0.5em;
- border-bottom: 1px solid #000000; font-size: 110%; }
-p.log { font-weight: bold; margin: .5em 0 .5em 0; }
-tr.opt-changed { color: #000000; font-weight: bold; }
-tr.opt-default { color: #606060; }
-pre.log { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/doc/html_reference/epydoc.js b/doc/html_reference/epydoc.js
deleted file mode 100644
index e787dbc..0000000
--- a/doc/html_reference/epydoc.js
+++ /dev/null
@@ -1,293 +0,0 @@
-function toggle_private() {
- // Search for any private/public links on this page. Store
- // their old text in "cmd," so we will know what action to
- // take; and change their text to the opposite action.
- var cmd = "?";
- var elts = document.getElementsByTagName("a");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "privatelink") {
- cmd = elts[i].innerHTML;
- elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
- "hide private":"show private");
- }
- }
- // Update all DIVs containing private objects.
- var elts = document.getElementsByTagName("div");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
- }
- else if (elts[i].className == "public") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
- }
- }
- // Update all table rows containing private objects. Note, we
- // use "" instead of "block" becaue IE & firefox disagree on what
- // this should be (block vs table-row), and "" just gives the
- // default for both browsers.
- var elts = document.getElementsByTagName("tr");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
- }
- }
- // Update all list items containing private objects.
- var elts = document.getElementsByTagName("li");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
- "none":"");
- }
- }
- // Update all list items containing private objects.
- var elts = document.getElementsByTagName("ul");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
- }
- }
- // Set a cookie to remember the current option.
- document.cookie = "EpydocPrivate="+cmd;
- }
-function show_private() {
- var elts = document.getElementsByTagName("a");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "privatelink") {
- cmd = elts[i].innerHTML;
- if (cmd && cmd.substr(0,4)=="show")
- toggle_private();
- }
- }
- }
-function getCookie(name) {
- var dc = document.cookie;
- var prefix = name + "=";
- var begin = dc.indexOf("; " + prefix);
- if (begin == -1) {
- begin = dc.indexOf(prefix);
- if (begin != 0) return null;
- } else
- { begin += 2; }
- var end = document.cookie.indexOf(";", begin);
- if (end == -1)
- { end = dc.length; }
- return unescape(dc.substring(begin + prefix.length, end));
- }
-function setFrame(url1, url2) {
- parent.frames[1].location.href = url1;
- parent.frames[2].location.href = url2;
- }
-function checkCookie() {
- var cmd=getCookie("EpydocPrivate");
- if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
- toggle_private();
- }
-function toggleCallGraph(id) {
- var elt = document.getElementById(id);
- if (elt.style.display == "none")
- elt.style.display = "block";
- else
- elt.style.display = "none";
- }
-function expand(id) {
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.style.display = "block";
- var elt = document.getElementById(id+"-expanded-linenums");
- if (elt) elt.style.display = "block";
- var elt = document.getElementById(id+"-collapsed");
- if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
- var elt = document.getElementById(id+"-collapsed-linenums");
- if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
- var elt = document.getElementById(id+"-toggle");
- if (elt) { elt.innerHTML = "-"; }
-}
-
-function collapse(id) {
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.style.display = "none";
- var elt = document.getElementById(id+"-expanded-linenums");
- if (elt) elt.style.display = "none";
- var elt = document.getElementById(id+"-collapsed-linenums");
- if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
- var elt = document.getElementById(id+"-toggle");
- if (elt) { elt.innerHTML = "+"; }
- var elt = document.getElementById(id+"-collapsed");
- if (elt) {
- elt.style.display = "block";
-
- var indent = elt.getAttribute("indent");
- var pad = elt.getAttribute("pad");
- var s = "<tt class='py-lineno'>";
- for (var i=0; i<pad.length; i++) { s += " " }
- s += "</tt>";
- s += " <tt class='py-line'>";
- for (var i=0; i<indent.length; i++) { s += " " }
- s += "<a href='#' onclick='expand(\"" + id;
- s += "\");return false'>...</a></tt><br />";
- elt.innerHTML = s;
- }
-}
-
-function toggle(id) {
- elt = document.getElementById(id+"-toggle");
- if (elt.innerHTML == "-")
- collapse(id);
- else
- expand(id);
- return false;
-}
-
-function highlight(id) {
- var elt = document.getElementById(id+"-def");
- if (elt) elt.className = "py-highlight-hdr";
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.className = "py-highlight";
- var elt = document.getElementById(id+"-collapsed");
- if (elt) elt.className = "py-highlight";
-}
-
-function num_lines(s) {
- var n = 1;
- var pos = s.indexOf("\n");
- while ( pos > 0) {
- n += 1;
- pos = s.indexOf("\n", pos+1);
- }
- return n;
-}
-
-// Collapse all blocks that mave more than `min_lines` lines.
-function collapse_all(min_lines) {
- var elts = document.getElementsByTagName("div");
- for (var i=0; i<elts.length; i++) {
- var elt = elts[i];
- var split = elt.id.indexOf("-");
- if (split > 0)
- if (elt.id.substring(split, elt.id.length) == "-expanded")
- if (num_lines(elt.innerHTML) > min_lines)
- collapse(elt.id.substring(0, split));
- }
-}
-
-function expandto(href) {
- var start = href.indexOf("#")+1;
- if (start != 0 && start != href.length) {
- if (href.substring(start, href.length) != "-") {
- collapse_all(4);
- pos = href.indexOf(".", start);
- while (pos != -1) {
- var id = href.substring(start, pos);
- expand(id);
- pos = href.indexOf(".", pos+1);
- }
- var id = href.substring(start, href.length);
- expand(id);
- highlight(id);
- }
- }
-}
-
-function kill_doclink(id) {
- var parent = document.getElementById(id);
- parent.removeChild(parent.childNodes.item(0));
-}
-function auto_kill_doclink(ev) {
- if (!ev) var ev = window.event;
- if (!this.contains(ev.toElement)) {
- var parent = document.getElementById(this.parentID);
- parent.removeChild(parent.childNodes.item(0));
- }
-}
-
-function doclink(id, name, targets_id) {
- var elt = document.getElementById(id);
-
- // If we already opened the box, then destroy it.
- // (This case should never occur, but leave it in just in case.)
- if (elt.childNodes.length > 1) {
- elt.removeChild(elt.childNodes.item(0));
- }
- else {
- // The outer box: relative + inline positioning.
- var box1 = document.createElement("div");
- box1.style.position = "relative";
- box1.style.display = "inline";
- box1.style.top = 0;
- box1.style.left = 0;
-
- // A shadow for fun
- var shadow = document.createElement("div");
- shadow.style.position = "absolute";
- shadow.style.left = "-1.3em";
- shadow.style.top = "-1.3em";
- shadow.style.background = "#404040";
-
- // The inner box: absolute positioning.
- var box2 = document.createElement("div");
- box2.style.position = "relative";
- box2.style.border = "1px solid #a0a0a0";
- box2.style.left = "-.2em";
- box2.style.top = "-.2em";
- box2.style.background = "white";
- box2.style.padding = ".3em .4em .3em .4em";
- box2.style.fontStyle = "normal";
- box2.onmouseout=auto_kill_doclink;
- box2.parentID = id;
-
- // Get the targets
- var targets_elt = document.getElementById(targets_id);
- var targets = targets_elt.getAttribute("targets");
- var links = "";
- target_list = targets.split(",");
- for (var i=0; i<target_list.length; i++) {
- var target = target_list[i].split("=");
- links += "<li><a href='" + target[1] +
- "' style='text-decoration:none'>" +
- target[0] + "</a></li>";
- }
-
- // Put it all together.
- elt.insertBefore(box1, elt.childNodes.item(0));
- //box1.appendChild(box2);
- box1.appendChild(shadow);
- shadow.appendChild(box2);
- box2.innerHTML =
- "Which <b>"+name+"</b> do you want to see documentation for?" +
- "<ul style='margin-bottom: 0;'>" +
- links +
- "<li><a href='#' style='text-decoration:none' " +
- "onclick='kill_doclink(\""+id+"\");return false;'>"+
- "<i>None of the above</i></a></li></ul>";
- }
- return false;
-}
-
-function get_anchor() {
- var href = location.href;
- var start = href.indexOf("#")+1;
- if ((start != 0) && (start != href.length))
- return href.substring(start, href.length);
- }
-function redirect_url(dottedName) {
- // Scan through each element of the "pages" list, and check
- // if "name" matches with any of them.
- for (var i=0; i<pages.length; i++) {
-
- // Each page has the form "<pagename>-m" or "<pagename>-c";
- // extract the <pagename> portion & compare it to dottedName.
- var pagename = pages[i].substring(0, pages[i].length-2);
- if (pagename == dottedName.substring(0,pagename.length)) {
-
- // We've found a page that matches `dottedName`;
- // construct its URL, using leftover `dottedName`
- // content to form an anchor.
- var pagetype = pages[i].charAt(pages[i].length-1);
- var url = pagename + ((pagetype=="m")?"-module.html":
- "-class.html");
- if (dottedName.length > pagename.length)
- url += "#" + dottedName.substring(pagename.length+1,
- dottedName.length);
- return url;
- }
- }
- }
diff --git a/doc/html_reference/frames.html b/doc/html_reference/frames.html
deleted file mode 100644
index 0e0610c..0000000
--- a/doc/html_reference/frames.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
- "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
- <frameset rows="30%,70%">
- <frame src="toc.html" name="moduleListFrame"
- id="moduleListFrame" />
- <frame src="toc-everything.html" name="moduleFrame"
- id="moduleFrame" />
- </frameset>
- <frame src="instant-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/doc/html_reference/help.html b/doc/html_reference/help.html
deleted file mode 100644
index 6eb6d32..0000000
--- a/doc/html_reference/help.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Help</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Help </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%"> </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="help.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-
-<h1 class="epydoc"> API Documentation </h1>
-
-<p> This document contains the API (Application Programming Interface)
-documentation for this project. Documentation for the Python
-objects defined by the project is divided into separate pages for each
-package, module, and class. The API documentation also includes two
-pages containing information about the project as a whole: a trees
-page, and an index page. </p>
-
-<h2> Object Documentation </h2>
-
- <p>Each <strong>Package Documentation</strong> page contains: </p>
- <ul>
- <li> A description of the package. </li>
- <li> A list of the modules and sub-packages contained by the
- package. </li>
- <li> A summary of the classes defined by the package. </li>
- <li> A summary of the functions defined by the package. </li>
- <li> A summary of the variables defined by the package. </li>
- <li> A detailed description of each function defined by the
- package. </li>
- <li> A detailed description of each variable defined by the
- package. </li>
- </ul>
-
- <p>Each <strong>Module Documentation</strong> page contains:</p>
- <ul>
- <li> A description of the module. </li>
- <li> A summary of the classes defined by the module. </li>
- <li> A summary of the functions defined by the module. </li>
- <li> A summary of the variables defined by the module. </li>
- <li> A detailed description of each function defined by the
- module. </li>
- <li> A detailed description of each variable defined by the
- module. </li>
- </ul>
-
- <p>Each <strong>Class Documentation</strong> page contains: </p>
- <ul>
- <li> A class inheritance diagram. </li>
- <li> A list of known subclasses. </li>
- <li> A description of the class. </li>
- <li> A summary of the methods defined by the class. </li>
- <li> A summary of the instance variables defined by the class. </li>
- <li> A summary of the class (static) variables defined by the
- class. </li>
- <li> A detailed description of each method defined by the
- class. </li>
- <li> A detailed description of each instance variable defined by the
- class. </li>
- <li> A detailed description of each class (static) variable defined
- by the class. </li>
- </ul>
-
-<h2> Project Documentation </h2>
-
- <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
- <ul>
- <li> The <em>module hierarchy</em> lists every package and module, with
- modules grouped into packages. At the top level, and within each
- package, modules and sub-packages are listed alphabetically. </li>
- <li> The <em>class hierarchy</em> lists every class, grouped by base
- class. If a class has more than one base class, then it will be
- listed under each base class. At the top level, and under each base
- class, classes are listed alphabetically. </li>
- </ul>
-
- <p> The <strong>Index</strong> page contains indices of terms and
- identifiers: </p>
- <ul>
- <li> The <em>term index</em> lists every term indexed by any object's
- documentation. For each term, the index provides links to each
- place where the term is indexed. </li>
- <li> The <em>identifier index</em> lists the (short) name of every package,
- module, class, method, function, variable, and parameter. For each
- identifier, the index provides a short description, and a link to
- its documentation. </li>
- </ul>
-
-<h2> The Table of Contents </h2>
-
-<p> The table of contents occupies the two frames on the left side of
-the window. The upper-left frame displays the <em>project
-contents</em>, and the lower-left frame displays the <em>module
-contents</em>: </p>
-
-<table class="help summary" border="1" cellspacing="0" cellpadding="3">
- <tr style="height: 30%">
- <td align="center" style="font-size: small">
- Project<br />Contents<hr />...</td>
- <td align="center" style="font-size: small" rowspan="2" width="70%">
- API<br />Documentation<br />Frame<br /><br /><br />
- </td>
- </tr>
- <tr>
- <td align="center" style="font-size: small">
- Module<br />Contents<hr /> <br />...<br />
- </td>
- </tr>
-</table><br />
-
-<p> The <strong>project contents frame</strong> contains a list of all packages
-and modules that are defined by the project. Clicking on an entry
-will display its contents in the module contents frame. Clicking on a
-special entry, labeled "Everything," will display the contents of
-the entire project. </p>
-
-<p> The <strong>module contents frame</strong> contains a list of every
-submodule, class, type, exception, function, and variable defined by a
-module or package. Clicking on an entry will display its
-documentation in the API documentation frame. Clicking on the name of
-the module, at the top of the frame, will display the documentation
-for the module itself. </p>
-
-<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
-navigation bar can be used to control whether the table of contents is
-displayed or not. </p>
-
-<h2> The Navigation Bar </h2>
-
-<p> A navigation bar is located at the top and bottom of every page.
-It indicates what type of page you are currently viewing, and allows
-you to go to related pages. The following table describes the labels
-on the navigation bar. Note that not some labels (such as
-[Parent]) are not displayed on all pages. </p>
-
-<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
-<tr class="summary">
- <th>Label</th>
- <th>Highlighted when...</th>
- <th>Links to...</th>
-</tr>
- <tr><td valign="top"><strong>[Parent]</strong></td>
- <td valign="top"><em>(never highlighted)</em></td>
- <td valign="top"> the parent of the current package </td></tr>
- <tr><td valign="top"><strong>[Package]</strong></td>
- <td valign="top">viewing a package</td>
- <td valign="top">the package containing the current object
- </td></tr>
- <tr><td valign="top"><strong>[Module]</strong></td>
- <td valign="top">viewing a module</td>
- <td valign="top">the module containing the current object
- </td></tr>
- <tr><td valign="top"><strong>[Class]</strong></td>
- <td valign="top">viewing a class </td>
- <td valign="top">the class containing the current object</td></tr>
- <tr><td valign="top"><strong>[Trees]</strong></td>
- <td valign="top">viewing the trees page</td>
- <td valign="top"> the trees page </td></tr>
- <tr><td valign="top"><strong>[Index]</strong></td>
- <td valign="top">viewing the index page</td>
- <td valign="top"> the index page </td></tr>
- <tr><td valign="top"><strong>[Help]</strong></td>
- <td valign="top">viewing the help page</td>
- <td valign="top"> the help page </td></tr>
-</table>
-
-<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
-the top navigation bar can be used to control whether documentation
-for private objects is displayed. Private objects are usually defined
-as objects whose (short) names begin with a single underscore, but do
-not end with an underscore. For example, "<code>_x</code>",
-"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
-are private objects; but "<code>re.sub</code>",
-"<code>__init__</code>", and "<code>type_</code>" are not. However,
-if a module defines the "<code>__all__</code>" variable, then its
-contents are used to decide which objects are private. </p>
-
-<p> A timestamp below the bottom navigation bar indicates when each
-page was last updated. </p>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Help </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/identifier-index.html b/doc/html_reference/identifier-index.html
deleted file mode 100644
index 7358115..0000000
--- a/doc/html_reference/identifier-index.html
+++ /dev/null
@@ -1,490 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Identifier Index</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Indices </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%"> </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="identifier-index.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<table border="0" width="100%">
-<tr valign="bottom"><td>
-<h1 class="epydoc">Identifier Index</h1>
-</td><td>
-[
- <a href="#A">A</a>
- <a href="#B">B</a>
- <a href="#C">C</a>
- <a href="#D">D</a>
- E
- F
- <a href="#G">G</a>
- <a href="#H">H</a>
- <a href="#I">I</a>
- J
- K
- <a href="#L">L</a>
- <a href="#M">M</a>
- N
- <a href="#O">O</a>
- <a href="#P">P</a>
- Q
- <a href="#R">R</a>
- <a href="#S">S</a>
- T
- U
- <a href="#V">V</a>
- <a href="#W">W</a>
- X
- Y
- Z
- <a href="#_">_</a>
-]
-</td></table>
-<table border="0" width="100%">
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#arg_strings">arg_strings()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_str">assert_is_str()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_bool">assert_is_bool()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_str_list">assert_is_str_list()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html">build</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#build_module">build_module()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html">cache</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html#check_swig_version">check_swig_version()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html">config</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#cached_modules">cached_modules()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#checksum_from_modulename">checksum_from_modulename()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#copy_files">copy_files()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#check_disk_cache">check_disk_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html">codegeneration</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#copy_to_cache">copy_to_cache()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#check_memory_cache">check_memory_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#compute_checksum">compute_checksum()</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#delete_temp_dir">delete_temp_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_default_cache_dir">get_default_cache_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#get_lock">get_lock()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_status_output">get_status_output()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#get_func_name">get_func_name()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_log_handler">get_log_handler()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html#get_swig_version">get_swig_version()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_instant_dir">get_instant_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_logger">get_logger()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_temp_dir">get_temp_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.config-module.html#header_and_libs_from_pkgconfig">header_and_libs_from_pkgconfig()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_and_cache_module">import_and_cache_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_module_with_numpy">inline_module_with_numpy()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_debug">instant_debug()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_module">import_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_with_numpy">inline_with_numpy()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_error">instant_error()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_module_directly">import_module_directly()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html">inlining</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_info">instant_info()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline">inline()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant-module.html">instant</a></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_warning">instant_warning()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_module">inline_module()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_assert">instant_assert()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#is_valid_module_name">is_valid_module_name()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.locking-module.html">locking</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#mapstrings">mapstrings()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#memory_cached_module">memory_cached_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#modulename_from_checksum">modulename_from_checksum()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html">output</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html">paths</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#place_module_in_memory_cache">place_module_in_memory_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#recompile">recompile()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#release_all_locks">release_all_locks()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#reindent">reindent()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#set_log_handler">set_log_handler()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html">signatures</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#set_logging_level">set_logging_level()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#strip_strings">strip_strings()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#validate_cache_dir">validate_cache_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#write_file">write_file()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#write_interfacefile">write_interfacefile()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#write_setup">write_setup()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#_modulename_prefix">_modulename_prefix</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#_test">_test()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_count">_lock_count</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#_test">_test()</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_files">_lock_files</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#_test_write_interfacefile">_test_write_interfacefile()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.config-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_names">_lock_names</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#_test_write_setup">_test_write_setup()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#_log">_log</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#_tmp_dir">_tmp_dir</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#_loghandler">_loghandler</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#_memory_cache">_memory_cache</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-</table>
-<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Indices </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/index.html b/doc/html_reference/index.html
deleted file mode 100644
index 0e0610c..0000000
--- a/doc/html_reference/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
- "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
- <frameset rows="30%,70%">
- <frame src="toc.html" name="moduleListFrame"
- id="moduleListFrame" />
- <frame src="toc-everything.html" name="moduleFrame"
- id="moduleFrame" />
- </frameset>
- <frame src="instant-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/doc/html_reference/instant-module.html b/doc/html_reference/instant-module.html
deleted file mode 100644
index 2e071e4..0000000
--- a/doc/html_reference/instant-module.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Home </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- Package instant
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package instant</h1><p class="nomargin-top"><span class="codelink"><a href="instant-pysrc.html">source code</a></span></p>
-<p>Instant allows compiled C/C++ modules to be created at runtime in your
- Python application, using SWIG to wrap the C/C++ code.</p>
- <p>A simple example:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
- <p>The main functions are <code>build_module</code>,
- <code>write_code</code>, and <code>inline*</code> see their documentation
- for more details.</p>
- <p>For more examples, see the tests/ directory in the Instant
- distribution.</p>
- <p>Questions, bugs and patches should be sent to
- instant-dev at fenics.org.</p>
-
-<hr />
-<div class="fields"> <p><strong>Version:</strong>
- 0.9.7
- </p>
- <p><strong>Date:</strong>
- 2009-05-28
- </p>
- <p><strong>Author:</strong>
- Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin
- Alnes <martinal at simula.no>, Ilmar M. Wilbers
- <ilmarw at simula.no>
- </p>
-</div><!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Submodules</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Submodules"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
- <tr><td class="summary">
- <ul class="nomargin">
- <li> <strong class="uidlink"><a href="instant.build-module.html">instant.build</a></strong>: <em class="summary">This module contains the main part of Instant, the build_module
- function.</em> </li>
- <li> <strong class="uidlink"><a href="instant.cache-module.html">instant.cache</a></strong>: <em class="summary">This module contains helper functions for working with the module
- cache.</em> </li>
- <li> <strong class="uidlink"><a href="instant.codegeneration-module.html">instant.codegeneration</a></strong>: <em class="summary">This module contains helper functions for code generation.</em> </li>
- <li> <strong class="uidlink"><a href="instant.config-module.html">instant.config</a></strong>: <em class="summary">This module contains helper functions for configuration using
- pkg-config.</em> </li>
- <li> <strong class="uidlink"><a href="instant.inlining-module.html">instant.inlining</a></strong>: <em class="summary">This module contains the inline* functions, which allows easy
- inlining of C/C++ functions.</em> </li>
- <li> <strong class="uidlink"><a href="instant.locking-module.html">instant.locking</a></strong>: <em class="summary">File locking for the cache system, to avoid problems when multiple
- processes work with the same module.</em> </li>
- <li> <strong class="uidlink"><a href="instant.output-module.html">instant.output</a></strong>: <em class="summary">This module contains internal logging utilities.</em> </li>
- <li> <strong class="uidlink"><a href="instant.paths-module.html">instant.paths</a></strong>: <em class="summary">This module contains helper functions for working with temp and
- cache directories.</em> </li>
- <li> <strong class="uidlink"><a href="instant.signatures-module.html">instant.signatures</a></strong>: <em class="summary">This module contains helper functions for working with checksums.</em> </li>
- </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Home </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant-pysrc.html b/doc/html_reference/instant-pysrc.html
deleted file mode 100644
index b892926..0000000
--- a/doc/html_reference/instant-pysrc.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Home </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- Package instant
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant-module.html">Package instant</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-docstring">Instant allows compiled C/C++ modules to be created</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-docstring">at runtime in your Python application, using SWIG to wrap the</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-docstring">C/C++ code.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-docstring">A simple example:</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-docstring"> >>> from instant import inline</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-docstring"> >>> add_func = inline(\"double add(double a, double b){ return a+b; }\")</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring"> >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-docstring">The main functions are C{build_module}, C{write_code}, and</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-docstring">C{inline*} see their documentation for more details.</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-docstring">For more examples, see the tests/ directory in the Instant distribution.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-docstring">Questions, bugs and patches should be sent to instant-dev at fenics.org.</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-name">__authors__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin Alnes <martinal at simula.no>, Ilmar M. Wilbers <ilmarw at simula.no>"</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-name">__date__</tt> <tt class="py-op">=</tt> <tt class="py-string">"2009-05-28"</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">"0.9.7"</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-comment"># TODO: Import only the official interface</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module instant.config=instant.config-module.html"><a title="instant.config" class="py-name" href="#" onclick="return doclink('link-1', 'config', 'link-1');">config</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-2', 'paths', 'link-2');">paths</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-3', 'signatures', 'link-3');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.cache=instant.cache-module.html"><a title="instant.cache" class="py-name" href="#" onclick="return doclink('link-4', 'cache', 'link-4');">cache</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name" targets="Module instant.codegeneration=instant.codegeneration-module.html"><a title="instant.codegeneration" class="py-name" href="#" onclick="return doclink('link-5', 'codegeneration', 'link-5');">codegeneration</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name" targets="Module instant.build=instant.build-module.html"><a title="instant.build" class="py-name" href="#" onclick="return doclink('link-6', 'build', 'link-6');">build</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.inlining=instant.inlining-module.html"><a title="instant.inlining" class="py-name" href="#" onclick="return doclink('link-7', 'inlining', 'link-7');">inlining</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Home </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.build-module.html b/doc/html_reference/instant.build-module.html
deleted file mode 100644
index ce63c34..0000000
--- a/doc/html_reference/instant.build-module.html
+++ /dev/null
@@ -1,662 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.build</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module build
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.build-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module build</h1><p class="nomargin-top"><span class="codelink"><a href="instant.build-pysrc.html">source code</a></span></p>
-<p>This module contains the main part of Instant, the build_module
- function.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="assert_is_str"></a><span class="summary-sig-name">assert_is_str</span>(<span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#assert_is_str">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="assert_is_bool"></a><span class="summary-sig-name">assert_is_bool</span>(<span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#assert_is_bool">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="assert_is_str_list"></a><span class="summary-sig-name">assert_is_str_list</span>(<span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#assert_is_str_list">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="strip_strings"></a><span class="summary-sig-name">strip_strings</span>(<span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#strip_strings">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="arg_strings"></a><span class="summary-sig-name">arg_strings</span>(<span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#arg_strings">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.build-module.html#copy_files" class="summary-sig-name">copy_files</a>(<span class="summary-sig-arg">source</span>,
- <span class="summary-sig-arg">dest</span>,
- <span class="summary-sig-arg">files</span>)</span><br />
- Copy a list of files from a source directory to a destination
- directory.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#copy_files">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="recompile"></a><span class="summary-sig-name">recompile</span>(<span class="summary-sig-arg">modulename</span>,
- <span class="summary-sig-arg">module_path</span>,
- <span class="summary-sig-arg">setup_name</span>,
- <span class="summary-sig-arg">new_compilation_checksum</span>)</span><br />
- Recompile module if the new checksum is different from the one in the
- checksum file in the module directory.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#recompile">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="copy_to_cache"></a><span class="summary-sig-name">copy_to_cache</span>(<span class="summary-sig-arg">module_path</span>,
- <span class="summary-sig-arg">cache_dir</span>,
- <span class="summary-sig-arg">modulename</span>)</span><br />
- Copy module directory to cache.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#copy_to_cache">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.build-module.html#build_module" class="summary-sig-name">build_module</a>(<span class="summary-sig-arg">modulename</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">source_directory</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">code</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">init_code</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">additional_definitions</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">additional_declarations</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">sources</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">wrap_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">local_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">system_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">include_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">library_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">libraries</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">swigargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-c++</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-fcompact</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-str [...]
- <span class="summary-sig-arg">swig_include_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">cppargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-O2</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">lddargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">object_files</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">arrays</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="summary-sig-arg">generate_interface</span>=<span class="summary-sig-default">True</span>,
- <span class="summary-sig-arg">generate_setup</span>=<span class="summary-sig-default">True</span>,
- <span class="summary-sig-arg">signature</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
- Generate and compile a module from C/C++ code using SWIG.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.build-pysrc.html#build_module">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="copy_files"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">copy_files</span>(<span class="sig-arg">source</span>,
- <span class="sig-arg">dest</span>,
- <span class="sig-arg">files</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.build-pysrc.html#copy_files">source code</a></span>
- </td>
- </tr></table>
-
- <p>Copy a list of files from a source directory to a destination
- directory. This may seem a bit complicated, but a lot of this code is
- error checking.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="build_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">build_module</span>(<span class="sig-arg">modulename</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">source_directory</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">code</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">init_code</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">additional_definitions</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">additional_declarations</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">sources</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">wrap_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">local_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">system_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">include_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">library_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">libraries</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">swigargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-c++</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-fcompact</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-O</code><c [...]
- <span class="sig-arg">swig_include_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">cppargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-O2</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">lddargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">object_files</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">arrays</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
- <span class="sig-arg">generate_interface</span>=<span class="sig-default">True</span>,
- <span class="sig-arg">generate_setup</span>=<span class="sig-default">True</span>,
- <span class="sig-arg">signature</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">cache_dir</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.build-pysrc.html#build_module">source code</a></span>
- </td>
- </tr></table>
-
- <p>Generate and compile a module from C/C++ code using SWIG.</p>
- <h1 class="heading">Arguments:</h1>
- <p>The keyword arguments are as follows:</p>
- <ul>
- <li>
- <b>modulename</b>:
- <ul>
- <li>
- The name you want for the module. If specified, the module will
- not be cached. If missing, a name will be constructed based on
- a checksum of the other arguments, and the module will be
- placed in the global cache. String.
- </li>
- </ul>
- </li>
- <li>
- <b>source_directory</b>:
- <ul>
- <li>
- The directory where user supplied files reside. The files given
- in <b>sources</b>, <b>wrap_headers</b>, and
- <b>local_headers</b> are expected to exist in this directory.
- String.
- </li>
- </ul>
- </li>
- <li>
- <b>code</b>:
- <ul>
- <li>
- A string containing C or C++ code to be compiled and wrapped.
- String.
- </li>
- </ul>
- </li>
- <li>
- <b>init_code</b>:
- <ul>
- <li>
- Code that should be executed when the Instant module is
- imported. This code is inserted in the SWIG interface file, and
- is used for instance for calling <code>import_array()</code>
- used for the initialization of NumPy arrays. String.
- </li>
- </ul>
- </li>
- <li>
- <b>additional_definitions</b>:
- <ul>
- <li>
- Additional definitions (typically needed for inheritance) for
- interface file. These definitions should be given as
- triple-quoted strings in the case they span multiple lines, and
- are placed both in the initial block for C/C++ code
- (<code>%{,%}</code>-block), and the main section of the
- interface file. String.
- </li>
- </ul>
- </li>
- <li>
- <b>additional_declarations</b>:
- <ul>
- <li>
- Additional declarations (typically needed for inheritance) for
- interface file. These declarations should be given as
- triple-quoted strings in the case they span multiple lines, and
- are plaves in the main section of the interface file. String.
- </li>
- </ul>
- </li>
- <li>
- <b>sources</b>:
- <ul>
- <li>
- Source files to compile and link with the module. These files
- are compiled togehter with the SWIG-generated wrapper file into
- the final library file. Should reside in directory specified in
- <b>source_directory</b>. List of strings.
- </li>
- </ul>
- </li>
- <li>
- <b>wrap_headers</b>:
- <ul>
- <li>
- Local header files that should be wrapped by SWIG. The files
- specified will be included both in the initial block for C/C++
- code (with a C directive) and in the main section of the
- interface file (with a SWIG directive). Should reside in
- directory specified in <b>source_directory</b>. List of
- strings.
- </li>
- </ul>
- </li>
- <li>
- <b>local_headers</b>:
- <ul>
- <li>
- Local header files required to compile the wrapped code. The
- files specified will be included in the initial block for C/C++
- code (with a C directive). Should reside in directory specified
- in <b>source_directory</b>. List of strings.
- </li>
- </ul>
- </li>
- <li>
- <b>system_headers</b>:
- <ul>
- <li>
- System header files required to compile the wrapped code. The
- files specified will be included in the initial block for C/C++
- code (with a C directive). List of strings.
- </li>
- </ul>
- </li>
- <li>
- <b>include_dirs</b>:
- <ul>
- <li>
- Directories to search for header files for building the
- extension module. Needs to be absolute path names. List of
- strings.
- </li>
- </ul>
- </li>
- <li>
- <b>library_dirs</b>:
- <ul>
- <li>
- Directories to search for libraries (<code>-l</code>) for
- building the extension module. Needs to be absolute paths. List
- of strings.
- </li>
- </ul>
- </li>
- <li>
- <b>libraries</b>:
- <ul>
- <li>
- Libraries needed by the Instant module. The libraries will be
- linked in from the shared object file. The initial
- <code>-l</code> is added automatically. List of strings.
- </li>
- </ul>
- </li>
- <li>
- <b>swigargs</b>:
- <ul>
- <li>
- List of arguments to swig, e.g.
- <code>["-lpointers.i"]</code> to include the SWIG
- pointers.i library.
- </li>
- </ul>
- </li>
- <li>
- <b>swig_include_dirs</b>:
- <ul>
- <li>
- A list of directories to include in the 'swig' command.
- </li>
- </ul>
- </li>
- <li>
- <b>cppargs</b>:
- <ul>
- <li>
- List of arguments to the compiler, e.g.
- <code>["-Wall", "-fopenmp"]</code>.
- </li>
- </ul>
- </li>
- <li>
- <b>lddargs</b>:
- <ul>
- <li>
- List of arguments to the linker, e.g. <code>["-E",
- "-U"]</code>.
- </li>
- </ul>
- </li>
- <li>
- <b>object_files</b>:
- <ul>
- <li>
- If you want to compile the files yourself. TODO: Not yet
- supported.
- </li>
- </ul>
- </li>
- <li>
- <b>arrays</b>:
- <ul>
- <li>
- A nested list describing the C arrays to be made from NumPy
- arrays. If the NumPy array is 1D, the inner list should contain
- strings with the variable names for length of the array and the
- array itself. If the NumPy array is a matrix or a tensor, the
- inner list should contain strings with variable names for the
- number of dimensions, the length in each dimension, and the
- array itself, respectively.
- </li>
- </ul>
- </li>
- <li>
- <b>generate_interface</b>:
- <ul>
- <li>
- A bool to indicate if you want to generate the interface files.
- </li>
- </ul>
- </li>
- <li>
- <b>generate_setup</b>:
- <ul>
- <li>
- A bool to indicate if you want to generate the setup.py file.
- </li>
- </ul>
- </li>
- <li>
- <b>signature</b>:
- <ul>
- <li>
- A signature string to identify the form instead of the source
- code.
- </li>
- </ul>
- </li>
- <li>
- <b>cache_dir</b>:
- <ul>
- <li>
- A directory to look for cached modules and place new ones. If
- missing, a default directory is used. Note that the module will
- not be cached if <b>modulename</b> is specified. The cache
- directory should not be used for anything else.
- </li>
- </ul>
- </li>
- </ul>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.build-pysrc.html b/doc/html_reference/instant.build-pysrc.html
deleted file mode 100644
index 0990417..0000000
--- a/doc/html_reference/instant.build-pysrc.html
+++ /dev/null
@@ -1,619 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.build</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module build
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.build-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.build-module.html">Module instant.build</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains the main part of Instant, the build_module function."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">shutil</tt><tt class="py-op">,</tt> <tt class="py-name">glob</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">itertools</tt> <tt class="py-keyword">import</tt> <tt class="py-name">chain</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># TODO: Import only the official interface</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module instant.config=instant.config-module.html"><a title="instant.config" class="py-name" href="#" onclick="return doclink('link-1', 'config', 'link-1');">config</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Function instant.config.header_and_libs_from_pkgconfig()=instant.config-module.html#header_and_libs_ [...]
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-3', 'paths', 'link-3');">paths</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-4', 'signatures', 'link-4');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name" targets="Module instant.cache=instant.cache-module.html"><a title="instant.cache" class="py-name" href="#" onclick="return doclink('link-5', 'cache', 'link-5');">cache</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name" targets="Module instant.codegeneration=instant.codegeneration-module.html"><a title="instant.codegeneration" class="py-name" href="#" onclick="return doclink('link-6', 'codegeneration', 'link-6');">codegeneration</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.locking=instant.locking-module.html"><a title="instant.locking" class="py-name" href="#" onclick="return doclink('link-7', 'locking', 'link-7');">locking</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Function instant.locking.get_lock()=instant.locking-module.html#get_lock"><a title="instant.lo [...]
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> </tt>
-<a name="assert_is_str"></a><div id="assert_is_str-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="assert_is_str-toggle" onclick="return toggle('assert_is_str');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_str">assert_is_str</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_str-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_str-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-10', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="p [...]
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting string."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="assert_is_bool"></a><div id="assert_is_bool-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="assert_is_bool-toggle" onclick="return toggle('assert_is_bool');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_bool">assert_is_bool</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_bool-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_bool-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name"> [...]
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting bool."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="assert_is_str_list"></a><div id="assert_is_str_list-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="assert_is_str_list-toggle" onclick="return toggle('assert_is_str_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_str_list">assert_is_str_list</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_str_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_str_list-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-12', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="p [...]
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting sequence."</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op [...]
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting sequence of strings."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="strip_strings"></a><div id="strip_strings-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="strip_strings-toggle" onclick="return toggle('strip_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#strip_strings">strip_strings</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="strip_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="strip_strings-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt id="link-14" class="py-name" targets="Function instant.build.assert_is_str_list()=instant.build-module.html#assert_is_str_list"><a title="instant.build.assert_is_str_list" class="py-name" href="#" onclick="return doclink('link-14', 'assert_is_str_list', 'link-14');">assert_is_str_list</a> [...]
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">x</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="arg_strings"></a><div id="arg_strings-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="arg_strings-toggle" onclick="return toggle('arg_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#arg_strings">arg_strings</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="arg_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="arg_strings-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-15" class="py-name" targets="Function instant.build.strip_strings()=instant.build-module.html#strip_strings"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-15', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="copy_files"></a><div id="copy_files-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="copy_files-toggle" onclick="return toggle('copy_files');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#copy_files">copy_files</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">dest</tt><tt class="py-op">,</tt> <tt class="py-param">files< [...]
-</div><div id="copy_files-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="copy_files-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-docstring">"""Copy a list of files from a source directory to a destination directory.</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> This may seem a bit complicated, but a lot of this code is error checking."""</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">overwriting</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">files</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">glob</tt><tt class="py-op">.</tt><tt class="py-name">glob</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt cla [...]
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">overwriting</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Function instant.output.instant_warning()=instant.output-module.html#instant_warning"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-16', 'instant_warning', 'link-16');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.copy_files: Path '%s' already exists, "</tt>\ </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-string">"overwriting existing files: %r."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">overwriting</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">source</tt> <tt class="py-op">!=</tt> <tt class="py-name">dest</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt id="link-17" class="py-name" targets="Function instant.output.instant_debug()=instant.output-module.html#instant_debug"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-17', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.copy_files: Copying files %r from %r to %r"</tt>\ </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">files</tt><tt class="py-op">,</tt> <tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">files</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt id="link-18" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-18', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt> <tt class="py-op">!=</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">"In instant.copy_files: Seems like the "</tt>\ </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-string">"input files are absolute paths, should be relative to "</tt>\ </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-string">"source. (%r, %r)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-19', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py [...]
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-string">"Missing source file '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copyfile</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
-<a name="recompile"></a><div id="recompile-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="recompile-toggle" onclick="return toggle('recompile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#recompile">recompile</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt class="py-param">module_path</tt><tt class="py-op">,</tt> <tt class="py-param">s [...]
-</div><div id="recompile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="recompile-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-docstring">"""Recompile module if the new checksum is different from</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> the one in the checksum file in the module directory."""</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-comment"># Check if the old checksum matches the new one</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">compilation_checksum_filename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.checksum"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">checksum_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">old_compilation_checksum</tt> <tt class="py-op">=</tt> <tt class="py-name">checksum_file</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">checksum_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">old_compilation_checksum</tt> <tt class="py-op">==</tt> <tt class="py-name">new_compilation_checksum</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># Verify that SWIG is on the system</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">swig_stat</tt><tt class="py-op">,</tt> <tt class="py-name">swig_out</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name" targets="Function instant.output.get_status_output()=instant.output-module.html#get_status_output"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-20', 'get_status_outp [...]
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">swig_stat</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-21" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-21', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: Could not find swig!"</tt>\ </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-string">" You can download swig from http://www.swig.org"</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-comment"># Create log file for logging of compilation errors</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">compile_log_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-string">"compile.log"</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">compile_log_filename</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-comment"># Build module</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"python %s build_ext"</tt> <tt class="py-op">%</tt> <tt class="py-name">setup_name</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt id="link-22" class="py-name" targets="Function instant.output.instant_info()=instant.output-module.html#instant_info"><a title="instant.output.instant_info" class="py-name" href="#" onclick="return doclink('link-22', 'instant_info', 'link-22');">instant_info</a></tt><tt class="py-op">(</tt><tt class="py-string">"--- Instant: compiling ---"</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt id="link-23" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-23', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"cmd = %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-24', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-25', 'get_status_output', 'link-20');">get_stat [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-26', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ret</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt id="link-27" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-27', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: The module did not "</tt>\ </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-string">"compile, see '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">compile_log_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-comment"># 'Install' module</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"python %s install --install-platlib=."</tt> <tt class="py-op">%</tt> <tt class="py-name">setup_name</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt id="link-28" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-28', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"cmd = %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-29', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-30', 'get_status_output', 'link-20');">get_sta [...]
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-31', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ret</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt id="link-32" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-32', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: Could not 'install' "</tt>\ </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-string">"the module, see '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">compile_log_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-comment"># Compilation succeeded, write new_compilation_checksum to checksum_file</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt id="link-33" class="py-name" targets="Function instant.output.write_file()=instant.output-module.html#write_file"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-33', 'write_file', 'link-33');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">,</tt> <tt class="py-name">new_compilation_checksum</tt><tt [...]
-</div><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt>
-<a name="copy_to_cache"></a><div id="copy_to_cache-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="copy_to_cache-toggle" onclick="return toggle('copy_to_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#copy_to_cache">copy_to_cache</a><tt class="py-op">(</tt><tt class="py-param">module_path</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">,</tt [...]
-</div><div id="copy_to_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="copy_to_cache-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-docstring">"Copy module directory to cache."</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-comment"># Get lock, check if the module exists, _otherwise_ copy the</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-comment"># finished compiled module from /tmp/foo to the cache directory,</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-comment"># and then release lock</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-34', 'get_lock', 'link-8');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-comment"># Validate the path</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">cache_module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-comment"># This indicates a race condition has happened (and is being avoided!).</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt id="link-35" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-35', 'instant_warning', 'link-16');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Path '%s' already exists,"</tt>\ </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-string">" but module wasn't found in cache previously. Not overwriting,"</tt>\ </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-string">" assuming this module is valid."</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-36', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cache_module_path</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-comment"># Not deleting anymore, relying on locking system</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-comment">#shutil.rmtree(cache_module_path, ignore_errors=True)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-comment"># Error checks</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt id="link-37" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-37', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class=" [...]
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-string">" Cannot copy non-existing directory %r!"</tt> <tt class="py-op">%</tt> <tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-38', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-n [...]
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Cache directory %r shouldn't exist "</tt>\ </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-string">"at this point!"</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-39', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Copying built module from %r"</tt>\ </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-string">" to cache at %r"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-comment"># Do the copying</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copytree</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt id="link-40" class="py-name" targets="Function instant.paths.delete_temp_dir()=instant.paths-module.html#delete_temp_dir"><a title="instant.paths.delete_temp_dir" class="py-name" href="#" onclick="return doclink('link-40', 'delete_temp_dir', 'link-40');">delete_temp_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt id="link-41" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-41', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cache_module_path</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> </tt>
-<a name="build_module"></a><div id="build_module-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="build_module-toggle" onclick="return toggle('build_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#build_module">build_module</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="p [...]
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-param">code</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">init_code</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-param">additional_definitions</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">additional_declarations</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-param">sources</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">wrap_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-param">local_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">system_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-param">include_dirs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'.'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">library_dirs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">libraries</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</ [...]
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-param">swigargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'-c++'</tt><tt class="py-op">,</tt> <tt class="py-string">'-fcompact'</tt><tt class="py-op">,</tt> <tt class="py-string">'-O'</tt><tt class="py-op">,</tt> <tt class="py-string">'-I.'</tt><tt class="py-op">,</tt> <tt class="py-string">'-small'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-param">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-param">cppargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'-O2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">lddargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-param">object_files</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">arrays</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-param">generate_interface</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">generate_setup</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-param">signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_module-expanded"><a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-docstring">"""Generate and compile a module from C/C++ code using SWIG.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> Arguments: </tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> ==========</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> The keyword arguments are as follows:</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> - B{modulename}:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> - The name you want for the module.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> If specified, the module will not be cached.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> If missing, a name will be constructed based on</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> a checksum of the other arguments, and the module</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> will be placed in the global cache. String.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> - B{source_directory}:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> - The directory where user supplied files reside. The files</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> given in B{sources}, B{wrap_headers}, and B{local_headers}</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> are expected to exist in this directory. String.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> - B{code}:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> - A string containing C or C++ code to be compiled and wrapped. String.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> - B{init_code}:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> - Code that should be executed when the Instant module is</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> imported. This code is inserted in the SWIG interface file, and is</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> used for instance for calling C{import_array()} used for the</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> initialization of NumPy arrays. String.</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> - B{additional_definitions}:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> - Additional definitions (typically needed for inheritance)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> for interface file. These definitions should be given as triple-quoted</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> strings in the case they span multiple lines, and are placed both in the</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> initial block for C/C++ code (C{%{,%}}-block), and the main section</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> of the interface file. String.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> - B{additional_declarations}:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> - Additional declarations (typically needed for inheritance)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> for interface file. These declarations should be given as triple-quoted</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> strings in the case they span multiple lines, and are plaves in the main</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> section of the interface file. String.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> - B{sources}:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"> - Source files to compile and link with the module. These</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"> files are compiled togehter with the SWIG-generated wrapper file into</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> the final library file. Should reside in directory specified in</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> B{source_directory}. List of strings.</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> - B{wrap_headers}:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> - Local header files that should be wrapped by SWIG. The</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> files specified will be included both in the initial block for C/C++ code</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> (with a C directive) and in the main section of the interface file (with</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> a SWIG directive). Should reside in directory specified in</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> B{source_directory}. List of strings.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> - B{local_headers}:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> - Local header files required to compile the wrapped</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> code. The files specified will be included in the initial block for</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"> C/C++ code (with a C directive). Should reside in directory specified in</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> B{source_directory}. List of strings.</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> - B{system_headers}:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> - System header files required to compile the wrapped</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> code. The files specified will be included in the initial block for C/C++</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> code (with a C directive). List of strings.</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> - B{include_dirs}:</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> - Directories to search for header files for building the</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> extension module. Needs to be absolute path names. List of strings.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> - B{library_dirs}:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> - Directories to search for libraries (C{-l}) for building</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"> the extension module. Needs to be absolute paths. List of strings.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> - B{libraries}:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> - Libraries needed by the Instant module. The libraries will</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"> be linked in from the shared object file. The initial C{-l} is added</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> automatically. List of strings.</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> - B{swigargs}:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> - List of arguments to swig, e.g. C{["-lpointers.i"]}</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> to include the SWIG pointers.i library.</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> - B{swig_include_dirs}:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> - A list of directories to include in the 'swig' command.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> - B{cppargs}:</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> - List of arguments to the compiler, e.g. C{["-Wall", "-fopenmp"]}.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> - B{lddargs}:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> - List of arguments to the linker, e.g. C{["-E", "-U"]}.</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> - B{object_files}:</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"> - If you want to compile the files yourself. TODO: Not yet supported.</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> - B{arrays}:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> - A nested list describing the C arrays to be made from NumPy arrays.</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> If the NumPy array is 1D, the inner list should contain strings with</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> the variable names for length of the array and the array itself.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> If the NumPy array is a matrix or a tensor, the inner list should</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> contain strings with variable names for the number of dimensions,</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> the length in each dimension, and the array itself, respectively.</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> - B{generate_interface}:</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> - A bool to indicate if you want to generate the interface files.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> - B{generate_setup}:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> - A bool to indicate if you want to generate the setup.py file.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> - B{signature}:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> - A signature string to identify the form instead of the source code.</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> - B{cache_dir}:</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> - A directory to look for cached modules and place new ones.</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> If missing, a default directory is used. Note that the module</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"> will not be cached if B{modulename} is specified.</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> The cache directory should not be used for anything else.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-comment"># Store original directory to be able to restore later</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">original_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-comment"># --- Validate arguments </tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt id="link-42" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-42', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name [...]
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting modulename to be string or None."</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt id="link-43" class="py-name" targets="Function instant.build.assert_is_str()=instant.build-module.html#assert_is_str"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-43', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">source_directory</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-44', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-45', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">init_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt id="link-46" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-46', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">additional_definitions</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-47', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">additional_declarations</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">sources</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-48', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">sources</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">wrap_headers</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-49', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">local_headers</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-50', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">system_headers</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-51', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">system_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">include_dirs</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-52', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">library_dirs</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-53', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">library_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">libraries</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-54', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">libraries</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">swigargs</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name" targets="Function instant.build.arg_strings()=instant.build-module.html#arg_strings"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-55', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-56', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">cppargs</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-57', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">cppargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">lddargs</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-58', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">object_files</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-59', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">object_files</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">arrays</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-60" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-60', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt cla [...]
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt id="link-61" class="py-name" targets="Function instant.build.assert_is_bool()=instant.build-module.html#assert_is_bool"><a title="instant.build.assert_is_bool" class="py-name" href="#" onclick="return doclink('link-61', 'assert_is_bool', 'link-61');">assert_is_bool</a></tt><tt class="py-op">(</tt><tt class="py-name">generate_interface</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="instant.build.assert_is_bool" class="py-name" href="#" onclick="return doclink('link-62', 'assert_is_bool', 'link-61');">assert_is_bool</a></tt><tt class="py-op">(</tt><tt class="py-name">generate_setup</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt id="link-63" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-63', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt> <tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> \ </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> \ </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">or</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">,</tt> <tt class="py-string">"signature"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Expecting modulename to be string or None."</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt id="link-64" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-64', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword [...]
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Can't have both modulename and signature."</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-comment"># --- Replace arguments with defaults if necessary</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name" targets="Function instant.paths.validate_cache_dir()=instant.paths-module.html#validate_cache_dir"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-65', 'validate_cache_dir', 'link-65');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt>< [...]
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-comment"># Split sources by file-suffix (.c or .cpp)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-name">csrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sources</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.c'</tt><tt class="py-op"> [...]
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sources</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.cpp'</tt><tt class="py- [...]
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt id="link-66" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-66', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">csrcs</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">c [...]
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Source files must have '.c' or '.cpp' suffix"</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-comment"># --- Debugging code</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt id="link-67" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-67', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'In instant.build_module:'</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt id="link-68" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-68', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'::: Begin Arguments :::'</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-69', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' modulename: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-70', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' source_directory: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt id="link-71" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-71', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' code: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-72', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' init_code: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">init_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt id="link-73" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-73', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' additional_definitions: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">additional_definitions</tt><tt class="py-op">)</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-74', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' additional_declarations: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">additional_declarations</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt id="link-75" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-75', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' sources: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">sources</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt id="link-76" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-76', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' csrcs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">csrcs</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt id="link-77" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-77', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' cppsrcs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cppsrcs</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt id="link-78" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-78', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' wrap_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt id="link-79" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-79', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' local_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-80', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' system_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">system_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt id="link-81" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-81', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' include_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt id="link-82" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-82', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' library_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt id="link-83" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-83', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' libraries: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">libraries</tt><tt class="py-op">)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt id="link-84" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-84', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' swigargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt id="link-85" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-85', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' swig_include_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt id="link-86" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-86', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' cppargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cppargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt id="link-87" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-87', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' lddargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt id="link-88" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-88', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' object_files: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">object_files</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt id="link-89" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-89', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' arrays: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">arrays</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt id="link-90" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-90', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' generate_interface: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">generate_interface</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt id="link-91" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-91', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' generate_setup: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt id="link-92" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-92', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' signature: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">signature</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt id="link-93" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-93', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">' cache_dir: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt id="link-94" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-94', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'::: End Arguments :::'</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-comment"># --- Setup module directory, making it and copying</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-comment"># files to it if necessary, and compute a modulename</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-comment"># if it isn't specified explicitly</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">modulename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-comment"># Compute a signature if we have none passed by the user:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-comment"># Collect arguments used for checksum creation,</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-comment"># including everything that affects the interface</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-comment"># file generation and module compilation.</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-name">checksum_args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> \ </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-comment"># We don't care about the modulename, that's what we're trying to construct!</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-comment">#modulename,</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-comment"># We don't care where the user code resides:</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-comment">#source_directory,</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">init_code</tt><tt class="py-op">,</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">additional_definitions</tt><tt class="py-op">,</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-name">additional_declarations</tt><tt class="py-op">,</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-comment"># Skipping filenames, since we use the file contents:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-comment">#sources, wrap_headers,</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-comment">#local_headers,</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">,</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-name">object_files</tt><tt class="py-op">,</tt> <tt class="py-name">arrays</tt><tt class="py-op">,</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">generate_interface</tt><tt class="py-op">,</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">,</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-comment"># The signature isn't defined, and the cache_dir doesn't affect the module:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-comment">#signature, cache_dir)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">,</tt> <tt class="py-name">file</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-nam [...]
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">checksum_ [...]
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name" targets="Function instant.cache.modulename_from_checksum()=instant.cache-module.html#modulename_from_checksum"><a title="instant.cache.modulename_from_checksum" class="py-name" href="#" onclick="return doclink('link-95', 'modulename_from_checksum', 'link-95');">modulename_from_checksum</a></tt><tt class="py-op">(</ [...]
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">signature</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">signature</tt><tt class="py-op">]</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name" targets="Function instant.cache.check_memory_cache()=instant.cache-module.html#check_memory_cache"><a title="instant.cache.check_memory_cache" class="py-name" href="#" onclick="return doclink('link-97', 'check_memory_cache', 'link-97');">check_memory_cache</a> [...]
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-comment"># Look for module in disk cache </tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name" targets="Function instant.cache.check_disk_cache()=instant.cache-module.html#check_disk_cache"><a title="instant.cache.check_disk_cache" class="py-name" href="#" onclick="return doclink('link-98', 'check_disk_cache', 'link-98');">check_disk_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class [...]
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> <tt class="py-comment"># Make a temporary module path for compilation</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name" targets="Function instant.paths.get_temp_dir()=instant.paths-module.html#get_temp_dir"><a title="instant.paths.get_temp_dir" class="py-name" href="#" onclick="re [...]
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt id="link-100" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-100', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt clas [...]
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-string">"In instant.build_module: Not expecting module_path to exist: '%s'"</tt>\ </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-name">use_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">use_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">original_path</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-comment">## Look for module in memory cache</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-comment">#module, moduleids = check_memory_cache(modulename)</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-comment">#if module: return module</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-comment">#instant_assert(modulename == moduleids[-1] and len(moduleids) == 1, "Logic breach.")</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-comment">## Look for module in local directory</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-comment">#module = check_disk_cache(modulename, original_path, moduleids)</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-comment">#if module: return module</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-comment"># Wrapping rest of code in try-block to </tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-comment"># clean up at the end if something fails.</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-comment"># --- Copy user-supplied files to module path</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-name">files_to_copy</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">object_files</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt id="link-101" class="py-name" targets="Function instant.build.copy_files()=instant.build-module.html#copy_files"><a title="instant.build.copy_files" class="py-name" href="#" onclick="return doclink('link-101', 'copy_files', 'link-101');">copy_files</a></tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">,</tt> <tt class="py-name">module_path</tt><tt class="py-op">,</tt> < [...]
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-comment"># At this point, all user input files should reside in module_path.</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-comment"># --- Generate additional files in module directory</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-comment"># Generate __init__.py which imports compiled module contents</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt id="link-102" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-102', 'write_file', 'link-33');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-string">"__init__.py"</tt><tt class="py-op">,</tt> <tt class="py-string">"from %s import *"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-comment"># Generate SWIG interface if wanted</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-name">ifile_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">generate_interface</tt><tt class="py-op">:</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt id="link-103" class="py-name" targets="Function instant.codegeneration.write_interfacefile()=instant.codegeneration-module.html#write_interfacefile"><a title="instant.codegeneration.write_interfacefile" class="py-name" href="#" onclick="return doclink('link-103', 'write_interfacefile', 'link-103');">write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-name">ifile_name</tt><tt class="py-op" [...]
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-name">additional_definitions</tt><tt class="py-op">,</tt> <tt class="py-name">additional_declarations</tt><tt class="py-op">,</tt> <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-name">local_headers</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">,</tt> <tt class="py-name">arrays</tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-comment"># Generate setup.py if wanted</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-name">setup_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"setup.py"</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">:</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt id="link-104" class="py-name" targets="Function instant.codegeneration.write_setup()=instant.codegeneration-module.html#write_setup"><a title="instant.codegeneration.write_setup" class="py-name" href="#" onclick="return doclink('link-104', 'write_setup', 'link-104');">write_setup</a></tt><tt class="py-op">(</tt><tt class="py-name">setup_name</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</ [...]
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-comment"># --- Build module</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-comment"># At this point we have all the files, and can make the</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-comment"># total checksum from all file contents. This is used to</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-comment"># decide whether the module needs recompilation or not.</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-comment"># Compute new_compilation_checksum</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-comment"># Collect arguments used for checksum creation,</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-comment"># including everything that affects the module compilation.</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-comment"># Since the interface file is included in allfiles, </tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-comment"># we don't need stuff that modifies it here.</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">checksum_args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> \ </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-comment"># We don't care about the modulename, that's what</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-comment"># we're trying to construct!</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-comment">#modulename,</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-comment"># We don't care where the user code resides:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-comment">#source_directory,</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-comment">#code, init_code,</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-comment">#additional_definitions, additional_declarations,</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-comment"># Skipping filenames, since we use the file contents:</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-comment">#sources, wrap_headers,</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-comment">#local_headers,</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">,</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-name">object_files</tt><tt class="py-op">,</tt> <tt class="py-comment">#arrays,</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-comment">#generate_interface, generate_setup,</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-comment"># The signature isn't defined, and the</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-comment"># cache_dir doesn't affect the module:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-comment">#signature, cache_dir)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">checksum_args [...]
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">ifile_name</tt><tt class="py-op">]</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-name">new_compilation_checksum</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-105', 'compute_checksum', 'link-96');">compute_checksum</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">allfiles</tt><tt class="py-op">)</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-comment"># Recompile if necessary</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt id="link-106" class="py-name" targets="Function instant.build.recompile()=instant.build-module.html#recompile"><a title="instant.build.recompile" class="py-name" href="#" onclick="return doclink('link-106', 'recompile', 'link-106');">recompile</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="p [...]
-<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-comment"># --- Load, cache, and return module</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-comment"># Copy compiled module to cache</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name" targets="Function instant.build.copy_to_cache()=instant.build-module.html#copy_to_cache"><a title="instant.build.copy_to_cache" class="py-name" href="#" onclick="return doclink('link-107', 'copy_to_cache', 'link-107');">copy_to_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class=" [...]
-<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-comment"># Import module and place in memory cache</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-comment"># Do not use locks if use_cache is False:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-108', 'get_lock', 'link-8');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name" targets="Function instant.cache.import_and_cache_module()=instant.cache-module.html#import_and_cache_module"><a title="instant.cache.import_and_cache_module" class="py-name" href="#" onclick="return doclink('link-109', 'import_and_cache_module', 'link-109');">import_and_cache_module</a></tt><tt class="py-op">(</tt><tt cl [...]
-<a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt id="link-110" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-110', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt id="link-111" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-111', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to import newly compiled module!"</tt><tt class="py-op">)</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"> <tt id="link-112" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-112', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Returning %s from build_module."</tt>\ </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt class="py-comment"># The end!</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-comment"># Always get back to original directory.</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">original_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt id="link-113" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-113', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Should never reach this point!"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> <tt class="py-comment"># end build_module</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.cache-module.html b/doc/html_reference/instant.cache-module.html
deleted file mode 100644
index d54494b..0000000
--- a/doc/html_reference/instant.cache-module.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.cache</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module cache
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.cache-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module cache</h1><p class="nomargin-top"><span class="codelink"><a href="instant.cache-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with the module
- cache.</p>
- <p>Example operations:</p>
- <ul>
- <li>
- modulename = modulename_from_checksum(checksum)
- </li>
- <li>
- modulename = modulename_from_checksum(compute_checksum(signature))
- </li>
- <li>
- module = import_module_directly(path, modulename)
- </li>
- <li>
- module = import_module(modulename)
- </li>
- <li>
- module = import_module(checksum)
- </li>
- <li>
- module = import_module(compute_checksum(signature))
- </li>
- <li>
- modules = cached_modules()
- </li>
- <li>
- modules = cached_modules(cache_dir)
- </li>
- </ul>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="modulename_from_checksum"></a><span class="summary-sig-name">modulename_from_checksum</span>(<span class="summary-sig-arg">checksum</span>)</span><br />
- Construct a module name from a checksum for use in cache.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#modulename_from_checksum">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="checksum_from_modulename"></a><span class="summary-sig-name">checksum_from_modulename</span>(<span class="summary-sig-arg">modulename</span>)</span><br />
- Construct a module name from a checksum for use in cache.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#checksum_from_modulename">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="import_module_directly"></a><span class="summary-sig-name">import_module_directly</span>(<span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">modulename</span>)</span><br />
- Import a module with the given module name that resides in the given
- path.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#import_module_directly">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="memory_cached_module"></a><span class="summary-sig-name">memory_cached_module</span>(<span class="summary-sig-arg">moduleid</span>)</span><br />
- Returns the cached module if found.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#memory_cached_module">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="place_module_in_memory_cache"></a><span class="summary-sig-name">place_module_in_memory_cache</span>(<span class="summary-sig-arg">moduleid</span>,
- <span class="summary-sig-arg">module</span>)</span><br />
- Place a compiled module in cache with given id.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#place_module_in_memory_cache">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="is_valid_module_name"></a><span class="summary-sig-name">is_valid_module_name</span>(<span class="summary-sig-arg">name</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#is_valid_module_name">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="import_and_cache_module"></a><span class="summary-sig-name">import_and_cache_module</span>(<span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">modulename</span>,
- <span class="summary-sig-arg">moduleids</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#import_and_cache_module">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="check_memory_cache"></a><span class="summary-sig-name">check_memory_cache</span>(<span class="summary-sig-arg">moduleid</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#check_memory_cache">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="check_disk_cache"></a><span class="summary-sig-name">check_disk_cache</span>(<span class="summary-sig-arg">modulename</span>,
- <span class="summary-sig-arg">cache_dir</span>,
- <span class="summary-sig-arg">moduleids</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#check_disk_cache">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.cache-module.html#import_module" class="summary-sig-name">import_module</a>(<span class="summary-sig-arg">moduleid</span>,
- <span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
- Import module from cache given its moduleid and an optional cache
- directory.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#import_module">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="cached_modules"></a><span class="summary-sig-name">cached_modules</span>(<span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
- Return a list with the names of all cached modules.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.cache-pysrc.html#cached_modules">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_modulename_prefix"></a><span class="summary-name">_modulename_prefix</span> = <code title="'instant_module_'"><code class="variable-quote">'</code><code class="variable-string">instant_module_</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_memory_cache"></a><span class="summary-name">_memory_cache</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="import_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">import_module</span>(<span class="sig-arg">moduleid</span>,
- <span class="sig-arg">cache_dir</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.cache-pysrc.html#import_module">source code</a></span>
- </td>
- </tr></table>
-
- <p>Import module from cache given its moduleid and an optional cache
- directory.</p>
- <p>The moduleid can be either</p>
- <ul>
- <li>
- the module name
- </li>
- <li>
- a signature string, of which a checksum is taken to look up in the
- cache
- </li>
- <li>
- a checksum string, which is used directly to look up in the cache
- </li>
- <li>
- a hashable non-string object with a function moduleid.signature()
- which is used to get a signature string
- </li>
- </ul>
- <p>The hashable object is used to look up in the memory cache before
- signature() is called. If the module is found on disk, it is placed in
- the memory cache.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.cache-pysrc.html b/doc/html_reference/instant.cache-pysrc.html
deleted file mode 100644
index 16ee8dc..0000000
--- a/doc/html_reference/instant.cache-pysrc.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.cache</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module cache
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.cache-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.cache-module.html">Module instant.cache</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with the module cache.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-docstring">Example operations:</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-docstring"> - modulename = modulename_from_checksum(checksum)</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-docstring"> - modulename = modulename_from_checksum(compute_checksum(signature))</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-docstring"> - module = import_module_directly(path, modulename)</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-docstring"> - module = import_module(modulename)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-docstring"> - module = import_module(checksum)</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring"> - module = import_module(compute_checksum(signature))</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-docstring"> - modules = cached_modules()</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-docstring"> - modules = cached_modules(cache_dir)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_warning()=instant.output-module.html#instant_warning"><a title="ins [...]
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-4', 'paths', 'link-4');">paths</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.paths.get_default_cache_dir()=instant.paths-module.html#get_default_cache_dir"><a title [...]
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-7', 'signatures', 'link-7');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Function instant.signatures.compute_checksum()=instant.signatures-module.html#c [...]
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name" targets="Module instant.locking=instant.locking-module.html"><a title="instant.locking" class="py-name" href="#" onclick="return doclink('link-9', 'locking', 'link-9');">locking</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Function instant.locking.get_lock()=instant.locking-module.html#get_lock"><a title="instant.l [...]
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># TODO: We could make this an argument, but it's used indirectly several places so take care.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable instant.cache._modulename_prefix=instant.cache-module.html#_modulename_prefix"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-12', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"instant_module_"</tt> </tt>
-<a name="modulename_from_checksum"></a><div id="modulename_from_checksum-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="modulename_from_checksum-toggle" onclick="return toggle('modulename_from_checksum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#modulename_from_checksum">modulename_from_checksum</a><tt class="py-op">(</tt><tt class="py-param">checksum</tt><tt class="py-op">)</ [...]
-</div><div id="modulename_from_checksum-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="modulename_from_checksum-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> <tt class="py-docstring">"Construct a module name from a checksum for use in cache."</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-13', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt> <tt class="py-op">+</tt> <tt class="py-name">checksum</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="checksum_from_modulename"></a><div id="checksum_from_modulename-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="checksum_from_modulename-toggle" onclick="return toggle('checksum_from_modulename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#checksum_from_modulename">checksum_from_modulename</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">) [...]
-</div><div id="checksum_from_modulename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="checksum_from_modulename-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-docstring">"Construct a module name from a checksum for use in cache."</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">modulename</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-14', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="import_module_directly"></a><div id="import_module_directly-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="import_module_directly-toggle" onclick="return toggle('import_module_directly');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_module_directly">import_module_directly</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="p [...]
-</div><div id="import_module_directly-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_module_directly-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-docstring">"Import a module with the given module name that resides in the given path."</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-15', 'instant_warning', 'link-1');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.import_module_directly: Failed to import module '%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="p [...]
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable instant.cache._memory_cache=instant.cache-module.html#_memory_cache"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-16', '_memory_cache', 'link-16');">_memory_cache</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="memory_cached_module"></a><div id="memory_cached_module-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="memory_cached_module-toggle" onclick="return toggle('memory_cached_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#memory_cached_module">memory_cached_module</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">)</tt><tt class="py-op">:</ [...]
-</div><div id="memory_cached_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="memory_cached_module-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-docstring">"Returns the cached module if found."</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-17', '_memory_cache', 'link-16');">_memory_cache</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py- [...]
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt id="link-18" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-18', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Found '%s' in memory cache with key '%r'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleid</tt>< [...]
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="place_module_in_memory_cache"></a><div id="place_module_in_memory_cache-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="place_module_in_memory_cache-toggle" onclick="return toggle('place_module_in_memory_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#place_module_in_memory_cache">place_module_in_memory_cache</a><tt class="py-op">(</tt><tt class="py-param">moduleid</ [...]
-</div><div id="place_module_in_memory_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="place_module_in_memory_cache-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"Place a compiled module in cache with given id."</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-19', '_memory_cache', 'link-16');">_memory_cache</a></tt><tt class="py-op">[</tt><tt class="py-name">moduleid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">module</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt id="link-20" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-20', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Added module '%s' to cache with key '%r'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleid</tt>< [...]
-</div><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt>
-<a name="is_valid_module_name"></a><div id="is_valid_module_name-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="is_valid_module_name-toggle" onclick="return toggle('is_valid_module_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#is_valid_module_name">is_valid_module_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="is_valid_module_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_valid_module_name-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">NAMELENGTHLIMIT</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-name">NAMELENGTHLIMIT</tt> <tt class="py-keyword">and</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-str [...]
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
-<a name="import_and_cache_module"></a><div id="import_and_cache_module-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="import_and_cache_module-toggle" onclick="return toggle('import_and_cache_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_and_cache_module">import_and_cache_module</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">,</tt> <tt cl [...]
-</div><div id="import_and_cache_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_and_cache_module-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name" targets="Function instant.cache.import_module_directly()=instant.cache-module.html#import_module_directly"><a title="instant.cache.import_module_directly" class="py-name" href="#" onc [...]
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt id="link-22" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-22', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">module</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"Failed to import module found in ca [...]
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">moduleid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">moduleids</tt><tt class="py-op">:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-23" class="py-name" targets="Function instant.cache.place_module_in_memory_cache()=instant.cache-module.html#place_module_in_memory_cache"><a title="instant.cache.place_module_in_memory_cache" class="py-name" href="#" onclick="return doclink('link-23', 'place_module_in_memory_cache', 'link-23');">place_module_in_memory_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class [...]
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="check_memory_cache"></a><div id="check_memory_cache-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="check_memory_cache-toggle" onclick="return toggle('check_memory_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#check_memory_cache">check_memory_cache</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="check_memory_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_memory_cache-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-comment"># Check memory cache first with the given moduleid</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">moduleid</tt><tt class="py-op">]</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name" targets="Function instant.cache.memory_cached_module()=instant.cache-module.html#memory_cached_module"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-24', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid< [...]
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-comment"># Get signature from moduleid if it isn't a string,</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># and check memory cache again</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-string">"signature"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">moduleid</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleid</tt><tt class="py-op">.</tt><tt class="py-name">signature</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-25', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Got signature "</tt>\ </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-string">"'%s' from moduleid.signature()."</tt> <tt class="py-op">%</tt> <tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-26', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">moduleid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">moduleids</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt id="link-27" class="py-name"><a title="instant.cache.place_module_in_memory_cache" class="py-name" href="#" onclick="return doclink('link-27', 'place_module_in_memory_cache', 'link-23');">place_module_in_memory_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">moduleids</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-comment"># Construct a filename from the checksum of moduleid if it</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-comment"># isn't already a valid name, and check memory cache again</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-28" class="py-name" targets="Function instant.cache.is_valid_module_name()=instant.cache-module.html#is_valid_module_name"><a title="instant.cache.is_valid_module_name" class="py-name" href="#" onclick="return doclink('link-28', 'is_valid_module_name', 'link-28');">is_valid_module_name</a></tt><tt class="py-op">(</tt><tt class="py-name">mod [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">moduleid</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name" targets="Function instant.cache.modulename_from_checksum()=instant.cache-module.html#modulename_from_checksum"><a title="instant.cache.modulename_from_checksum" class="py-name" href="#" onclick="return doclink('link-29', 'modulename_from_checksum', 'link-29');">modulename_from_checksum</a></tt><tt class="py-op">(</tt><tt [...]
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt id="link-31" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-31', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Constructed module name "</tt>\ </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-string">"'%s' from moduleid '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-32', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">moduleids</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-33', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Failed to find module."</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
-<a name="check_disk_cache"></a><div id="check_disk_cache-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="check_disk_cache-toggle" onclick="return toggle('check_disk_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#check_disk_cache">check_disk_cache</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt cl [...]
-</div><div id="check_disk_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_disk_cache-expanded"><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-comment"># Get file lock to avoid race conditions in cache</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-34', 'get_lock', 'link-10');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-comment"># Ensure a valid cache_dir</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-35', 'validate_cache_dir', 'link-6');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-comment"># Check on disk, in current directory and cache directory</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">path</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py [...]
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-comment"># Found existing directory, try to import and place in memory cache</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name" targets="Function instant.cache.import_and_cache_module()=instant.cache-module.html#import_and_cache_module"><a title="instant.cache.import_and_cache_module" class="py-name" href="#" onclick="return doclink('link-36', 'import_and_cache_module', 'link-36');">import_and_cache_module</a></tt><tt class="py-op">(</tt><tt c [...]
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt id="link-37" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-37', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Imported module "</tt>\ </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-string">"'%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-38', 'release_lock', 'link-11');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-39', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Failed to imported "</tt>\ </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-string">"module '%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-comment"># All attempts failed</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-40', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Can't import module with modulename "</tt>\ </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-string">"%r using cache directory %r."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt id="link-41" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-41', 'release_lock', 'link-11');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
-<a name="import_module"></a><div id="import_module-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="import_module-toggle" onclick="return toggle('import_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_module">import_module</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><t [...]
-</div><div id="import_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_module-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-docstring">"""Import module from cache given its moduleid and an optional cache directory.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> The moduleid can be either</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> - the module name</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> - a signature string, of which a checksum is taken to look up in the cache</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> - a checksum string, which is used directly to look up in the cache</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> - a hashable non-string object with a function moduleid.signature() which is used to get a signature string</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> The hashable object is used to look up in the memory cache before signature() is called.</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> If the module is found on disk, it is placed in the memory cache.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-comment"># Look for module in memory cache</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name" targets="Function instant.cache.check_memory_cache()=instant.cache-module.html#check_memory_cache"><a title="instant.cache.check_memory_cache" class="py-name" href="#" onclick="return doclink('link-42', 'check_memory_cache', 'link-42');">check_memory_cache</a></tt><tt [...]
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-comment"># Look for module in disk cache</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-43" class="py-name" targets="Function instant.cache.check_disk_cache()=instant.cache-module.html#check_disk_cache"><a title="instant.cache.check_disk_cache" class="py-name" href="#" onclick="return doclink('link-43', 'check_disk_cache', 'link-43');">check_disk_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class= [...]
-</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> </tt>
-<a name="cached_modules"></a><div id="cached_modules-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="cached_modules-toggle" onclick="return toggle('cached_modules');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#cached_modules">cached_modules</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><t [...]
-</div><div id="cached_modules-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="cached_modules-expanded"><a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-docstring">"Return a list with the names of all cached modules."</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-44', 'validate_cache_dir', 'link-6');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">listdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.codegeneration-module.html b/doc/html_reference/instant.codegeneration-module.html
deleted file mode 100644
index 70246db..0000000
--- a/doc/html_reference/instant.codegeneration-module.html
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.codegeneration</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module codegeneration
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.codegeneration-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module codegeneration</h1><p class="nomargin-top"><span class="codelink"><a href="instant.codegeneration-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for code generation.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="mapstrings"></a><span class="summary-sig-name">mapstrings</span>(<span class="summary-sig-arg">format</span>,
- <span class="summary-sig-arg">sequence</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#mapstrings">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.codegeneration-module.html#reindent" class="summary-sig-name">reindent</a>(<span class="summary-sig-arg">code</span>)</span><br />
- Reindent a multiline string to allow easier to read syntax.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#reindent">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.codegeneration-module.html#write_interfacefile" class="summary-sig-name">write_interfacefile</a>(<span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">modulename</span>,
- <span class="summary-sig-arg">code</span>,
- <span class="summary-sig-arg">init_code</span>,
- <span class="summary-sig-arg">additional_definitions</span>,
- <span class="summary-sig-arg">additional_declarations</span>,
- <span class="summary-sig-arg">system_headers</span>,
- <span class="summary-sig-arg">local_headers</span>,
- <span class="summary-sig-arg">wrap_headers</span>,
- <span class="summary-sig-arg">arrays</span>)</span><br />
- Generate a SWIG interface file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#write_interfacefile">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.codegeneration-module.html#write_setup" class="summary-sig-name">write_setup</a>(<span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">modulename</span>,
- <span class="summary-sig-arg">csrcs</span>,
- <span class="summary-sig-arg">cppsrcs</span>,
- <span class="summary-sig-arg">local_headers</span>,
- <span class="summary-sig-arg">include_dirs</span>,
- <span class="summary-sig-arg">library_dirs</span>,
- <span class="summary-sig-arg">libraries</span>,
- <span class="summary-sig-arg">swig_include_dirs</span>,
- <span class="summary-sig-arg">swigargs</span>,
- <span class="summary-sig-arg">cppargs</span>,
- <span class="summary-sig-arg">lddargs</span>)</span><br />
- Generate a setup.py file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#write_setup">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="_test_write_interfacefile"></a><span class="summary-sig-name">_test_write_interfacefile</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#_test_write_interfacefile">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="_test_write_setup"></a><span class="summary-sig-name">_test_write_setup</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.codegeneration-pysrc.html#_test_write_setup">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="reindent"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">reindent</span>(<span class="sig-arg">code</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.codegeneration-pysrc.html#reindent">source code</a></span>
- </td>
- </tr></table>
-
- <p>Reindent a multiline string to allow easier to read syntax.</p>
- <p>Each line will be indented relative to the first non-empty line. Start
- the first line without text like shown in this example:</p>
-<pre class="literalblock">
- code = reindent("""
- Foo
- Bar
- Blatti
- Ping
- """)
-</pre>
- <p>makes all indentation relative to Foo.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="write_interfacefile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_interfacefile</span>(<span class="sig-arg">filename</span>,
- <span class="sig-arg">modulename</span>,
- <span class="sig-arg">code</span>,
- <span class="sig-arg">init_code</span>,
- <span class="sig-arg">additional_definitions</span>,
- <span class="sig-arg">additional_declarations</span>,
- <span class="sig-arg">system_headers</span>,
- <span class="sig-arg">local_headers</span>,
- <span class="sig-arg">wrap_headers</span>,
- <span class="sig-arg">arrays</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.codegeneration-pysrc.html#write_interfacefile">source code</a></span>
- </td>
- </tr></table>
-
- <p>Generate a SWIG interface file. Intended for internal library use.</p>
- <p>The input arguments are as follows:</p>
- <ul>
- <li>
- modulename (Name of the module)
- </li>
- <li>
- code (Code to be wrapped)
- </li>
- <li>
- init_code (Code to put in the init section of the interface file)
- </li>
- <li>
- additional_definitions (Definitions to be placed in initial block
- with C code as well as in the main section of the SWIG interface
- file)
- </li>
- <li>
- additional_declarations (Declarations to be placed in the main
- section of the SWIG interface file)
- </li>
- <li>
- system_headers (A list of system headers with declarations needed by
- the wrapped code)
- </li>
- <li>
- local_headers (A list of local headers with declarations needed by
- the wrapped code)
- </li>
- <li>
- wrap_headers (A list of local headers that will be included in the
- code and wrapped by SWIG)
- </li>
- <li>
- arrays (A nested list, the inner lists describing the different
- arrays)
- </li>
- </ul>
- <p>The result of this function is that a SWIG interface with the name
- modulename.i is written to the current directory.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="write_setup"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_setup</span>(<span class="sig-arg">filename</span>,
- <span class="sig-arg">modulename</span>,
- <span class="sig-arg">csrcs</span>,
- <span class="sig-arg">cppsrcs</span>,
- <span class="sig-arg">local_headers</span>,
- <span class="sig-arg">include_dirs</span>,
- <span class="sig-arg">library_dirs</span>,
- <span class="sig-arg">libraries</span>,
- <span class="sig-arg">swig_include_dirs</span>,
- <span class="sig-arg">swigargs</span>,
- <span class="sig-arg">cppargs</span>,
- <span class="sig-arg">lddargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.codegeneration-pysrc.html#write_setup">source code</a></span>
- </td>
- </tr></table>
-
- <p>Generate a setup.py file. Intended for internal library use.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.codegeneration-pysrc.html b/doc/html_reference/instant.codegeneration-pysrc.html
deleted file mode 100644
index 656241d..0000000
--- a/doc/html_reference/instant.codegeneration-pysrc.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.codegeneration</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module codegeneration
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.codegeneration-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.codegeneration-module.html">Module instant.codegeneration</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for code generation."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instan [...]
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
-<a name="mapstrings"></a><div id="mapstrings-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="mapstrings-toggle" onclick="return toggle('mapstrings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#mapstrings">mapstrings</a><tt class="py-op">(</tt><tt class="py-param">format</tt><tt class="py-op">,</tt> <tt class="py-param">sequence</tt><tt class="py-op">)</tt><tt class="py-op [...]
-</div><div id="mapstrings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mapstrings-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">format</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py- [...]
-</div><a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> </tt>
-<a name="reindent"></a><div id="reindent-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="reindent-toggle" onclick="return toggle('reindent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#reindent">reindent</a><tt class="py-op">(</tt><tt class="py-param">code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="reindent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="reindent-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> <tt class="py-docstring">'''Reindent a multiline string to allow easier to read syntax.</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-docstring"> Each line will be indented relative to the first non-empty line.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-docstring"> Start the first line without text like shown in this example::</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-docstring"> code = reindent("""</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-docstring"> Foo</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring"> Bar</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring"> Blatti</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring"> Ping</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"> """)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"> makes all indentation relative to Foo.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-name">space</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-comment"># Get initial spaces from first non-empty line:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">r"^( [ ]*)"</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">r</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">space</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">space</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">space</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-5" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-5', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">space</tt> <tt class="py-op">==</tt> <tt class="py-string">" "</tt><tt class="py-op">*</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-string">"Logic breach in reindent [...]
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r"^%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">space</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt [...]
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="write_interfacefile"></a><div id="write_interfacefile-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="write_interfacefile-toggle" onclick="return toggle('write_interfacefile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#write_interfacefile">write_interfacefile</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-par [...]
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-param">additional_definitions</tt><tt class="py-op">,</tt> <tt class="py-param">additional_declarations</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-param">system_headers</tt><tt class="py-op">,</tt> <tt class="py-param">local_headers</tt><tt class="py-op">,</tt> <tt class="py-param">wrap_headers</tt><tt class="py-op">,</tt> <tt class="py-param">arrays</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="write_interfacefile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="write_interfacefile-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-docstring">"""Generate a SWIG interface file. Intended for internal library use.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> The input arguments are as follows:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> - modulename (Name of the module)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> - code (Code to be wrapped)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> - init_code (Code to put in the init section of the interface file)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> - additional_definitions (Definitions to be placed in initial block with</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> C code as well as in the main section of the SWIG interface file)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> - additional_declarations (Declarations to be placed in the main section</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> of the SWIG interface file)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> - system_headers (A list of system headers with declarations needed by the wrapped code)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> - local_headers (A list of local headers with declarations needed by the wrapped code)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> - wrap_headers (A list of local headers that will be included in the code and wrapped by SWIG)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> - arrays (A nested list, the inner lists describing the different arrays)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> The result of this function is that a SWIG interface with</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> the name modulename.i is written to the current directory.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt id="link-6" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-6', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Generating SWIG interface file '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># create typemaps </tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">valid_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'float'</tt><tt class="py-op">,</tt> <tt class="py-string">'double'</tt><tt class="py-op">,</tt> <tt class="py-string">'short'</tt><tt class="py-op">,</tt> <tt class="py-string">'int'</tt><tt class="py-op">,</tt> <tt class="py-string">'long'</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-string">'unsigned short'</tt><tt class="py-op">,</tt> <tt class="py-string">'unsigned int'</tt><tt class="py-op">,</tt> <tt class="py-string">'unsigned long'</tt><tt class="py-op">]</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">DATA_TYPE</tt> <tt class="py-op">=</tt> <tt class="py-string">'double'</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">arrays</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">vt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">valid_types</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">vt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">DATA_TYPE</tt> <tt class="py-op">=</tt> <tt class="py-name">vt</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">vt</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'in'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-comment"># input arrays</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'in'</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-7', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class [...]
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-8" class="py-name" targets="Function instant.codegeneration.reindent()=instant.codegeneration-module.html#reindent"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-8', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, %(dtype)s* IN_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt [...]
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-comment"># 2-dimensional arrays, i.e. matrices</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-9" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-9', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, int DIM2, %(dtype)s* IN_ARRAY2) {(int %(n1)s, int %(n2)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-comment"># 3-dimensional arrays, i.e. tensors</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-10" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-10', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, int DIM2, int DIM3, %(dtype)s* IN_ARRAY3) {(int %(n1)s, int %(n2)s, int %(n3)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'out'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># output arrays</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'out'</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-str [...]
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-12" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-12', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, %(dtype)s* ARGOUT_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-comment"># in-place arrays</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt cl [...]
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'multi'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-comment"># n-dimensional arrays, i.e. tensors > 3-dimensional</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'multi'</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-14" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-14', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-string"> %%typemap(in) (int %(n)s,int* %(ptv)s,%(dtype)s* %(array)s){</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-string"> if (!PyArray_Check($input)) { </tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-string"> PyErr_SetString(PyExc_TypeError, "Not a NumPy array");</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-string"> return NULL; ;</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-string"> }</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-string"> PyArrayObject* pyarray;</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-string"> pyarray = (PyArrayObject*)$input; </tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-string"> $1 = int(pyarray->nd);</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-string"> int* dims = new int($1); </tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-string"> for (int d=0; d<$1; d++) {</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-string"> dims[d] = int(pyarray->dimensions[d]);</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-string"> }</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-string"> $2 = dims; </tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-string"> $3 = (%(dtype)s*)pyarray->data;</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-string"> }</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-string"> %%typemap(freearg) (int %(n)s,int* %(ptv)s,%(dtype)s* %(array)s){</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-string"> // deleting dims</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-string"> delete $2; </tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-string"> }</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">,</tt> <tt class="py-string">'ptv'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt [...]
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-15" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-15', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, %(dtype)s* INPLACE_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><t [...]
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-comment"># 2-dimensional arrays, i.e. matrices</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-16" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-16', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, int DIM2, %(dtype)s* INPLACE_ARRAY2) {(int %(n1)s, int %(n2)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt c [...]
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-comment"># 3-dimensional arrays, i.e. tensors</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-17" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-17', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-string"> %%apply (int DIM1, int DIM2, int DIM3, %(dtype)s* INPLACE_ARRAY3) {(int %(n1)s, int %(n2)s, int %(n3)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt c [...]
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-comment"># end</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-comment"># end if</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment"># end for</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">system_headers_code</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name" targets="Function instant.codegeneration.mapstrings()=instant.codegeneration-module.html#mapstrings"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-18', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include <%s [...]
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">local_headers_code</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-19', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">wrap_headers_code1</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-20', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">wrap_headers_code2</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-21', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'%%include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">numpy_i_include</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">arrays</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">numpy_i_include</tt> <tt class="py-op">=</tt> <tt class="py-string">r'%include "numpy.i"'</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">interface_string</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-22', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-string"> %%module %(modulename)s</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-string"> //%%module (directors="1") %(modulename)s</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-string"> //%%feature("director");</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-string"> %%{</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-string"> #include <iostream></tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-string"> %(additional_definitions)s </tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-string"> %(system_headers_code)s </tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-string"> %(local_headers_code)s </tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-string"> %(wrap_headers_code1)s </tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-string"> %(code)s</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-string"> %%}</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-string"> //%%feature("autodoc", "1");</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-string"> %(numpy_i_include)s</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-string"> %%init%%{</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-string"> %(init_code)s</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-string"> %%}</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-string"> %(additional_definitions)s</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-string"> %(additional_declarations)s</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-string"> %(wrap_headers_code2)s</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-string"> //%(typemaps)s</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-string"> %(code)s;</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt id="link-23" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-23', 'write_file', 'link-4');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">interface_string</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt id="link-24" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-24', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Done generating interface file."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
-<a name="write_setup"></a><div id="write_setup-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="write_setup-toggle" onclick="return toggle('write_setup');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#write_setup">write_setup</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt [...]
-</div><div id="write_setup-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="write_setup-expanded"><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-docstring">"""Generate a setup.py file. Intended for internal library use."""</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-25', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Generating %s."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt [...]
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-comment"># Handle arguments</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">swigfilename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">wrapperfilename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s_wrap.cxx"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-comment"># Treat C and C++ files in the same way for now</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-name">cppsrcs</tt> <tt class="py-op">+</tt> <tt class="py-name">csrcs</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">wrapperfilename</tt><tt class="py-op">]</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-name">swig_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">swigargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">swig_args</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">compile_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cppargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">compile_args</tt> <tt class="py-op">=</tt> <tt class="py-string">", extra_compile_args=%r"</tt> <tt class="py-op">%</tt> <tt class="py-name">cppargs</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">link_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">lddargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-name">link_args</tt> <tt class="py-op">=</tt> <tt class="py-string">", extra_link_args=%r"</tt> <tt class="py-op">%</tt> <tt class="py-name">lddargs</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">"-I%s"</tt><tt class="py-op">%</tt><tt class="py-name">d</tt> <tt class="py-keyword">for</tt> <tt class="py-name">d</tt> <tt class="py-keyword">in</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">local_headers</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -I.."</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-comment"># Generate code</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-26', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-string"> import os</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-string"> from distutils.core import setup, Extension</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-string"> name = '%s'</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-string"> swig_cmd =r'swig -python %s %s %s'</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-string"> os.system(swig_cmd)</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-string"> sources = %s</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-string"> setup(name = '%s',</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-string"> ext_modules = [Extension('_' + '%s',</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-string"> sources,</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-string"> include_dirs=%s,</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-string"> library_dirs=%s,</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-string"> libraries=%s %s %s)]) </tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-string"> """</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">swig_args</tt><tt class="py-op">,</tt> <tt class="py-name">swigfilename</tt><tt class="py-op">,</tt> <tt class="py-name">cppsrcs</tt><tt class="py-op">,</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> <tt class="py-name">compile_args</tt><tt class="py-op">,</tt> <tt class="py-name">link_args</tt><tt cla [...]
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt id="link-27" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-27', 'write_file', 'link-4');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt id="link-28" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-28', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Done writing setup.py file."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> </tt>
-<a name="_test_write_interfacefile"></a><div id="_test_write_interfacefile-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="_test_write_interfacefile-toggle" onclick="return toggle('_test_write_interfacefile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#_test_write_interfacefile">_test_write_interfacefile</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-o [...]
-</div><div id="_test_write_interfacefile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_test_write_interfacefile-expanded"><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-string">"testmodule"</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-string">"void foo() {}"</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">init_code</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom init code */"</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">additional_definitions</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom definitions */"</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">additional_declarations</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom declarations */"</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">system_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"system_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"system_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-name">local_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"local_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"local_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-name">wrap_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"wrap_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"wrap_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">arrays</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">"length1"</tt><tt class="py-op">,</tt> <tt class="py-string">"array1"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"dims"</tt><tt class="py-op">,</tt> <tt class="py-string">"lengths"</tt><tt class="py-op">,</tt> <tt class="py-string">"a [...]
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt id="link-29" class="py-name" targets="Function instant.codegeneration.write_interfacefile()=instant.codegeneration-module.html#write_interfacefile"><a title="instant.codegeneration.write_interfacefile" class="py-name" href="#" onclick="return doclink('link-29', 'write_interfacefile', 'link-29');">write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt [...]
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> [...]
-</div><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> </tt>
-<a name="_test_write_setup"></a><div id="_test_write_setup-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="_test_write_setup-toggle" onclick="return toggle('_test_write_setup');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#_test_write_setup">_test_write_setup</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test_write_setup-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_test_write_setup-expanded"><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-string">"testmodule"</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">csrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"csrc1.c"</tt><tt class="py-op">,</tt> <tt class="py-string">"csrc2.c"</tt><tt class="py-op">]</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"cppsrc1.cpp"</tt><tt class="py-op">,</tt> <tt class="py-string">"cppsrc2.cpp"</tt><tt class="py-op">]</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">local_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"local_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"local_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"includedir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"includedir2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-name">library_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"librarydir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"librarydir2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">libraries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"lib1"</tt><tt class="py-op">,</tt> <tt class="py-string">"lib2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"swigdir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"swigdir2"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-name">swigargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-Swigarg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-Swigarg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">cppargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-cpparg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-cpparg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">lddargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-Lddarg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-Lddarg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt id="link-30" class="py-name" targets="Function instant.codegeneration.write_setup()=instant.codegeneration-module.html#write_setup"><a title="instant.codegeneration.write_setup" class="py-name" href="#" onclick="return doclink('link-30', 'write_setup', 'link-30');">write_setup</a></tt><tt class="py-op">(</tt><tt class="py-string">"setup.py"</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt cl [...]
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"setup.py"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt id="link-31" class="py-name" targets="Function instant.codegeneration._test_write_interfacefile()=instant.codegeneration-module.html#_test_write_interfacefile"><a title="instant.codegeneration._test_write_interfacefile" class="py-name" href="#" onclick="return doclink('link-31', '_test_write_interfacefile', 'link-31');">_test_write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"\n"</tt><tt class="py-op">*</tt><tt class="py-number">3</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt id="link-32" class="py-name" targets="Function instant.codegeneration._test_write_setup()=instant.codegeneration-module.html#_test_write_setup"><a title="instant.codegeneration._test_write_setup" class="py-name" href="#" onclick="return doclink('link-32', '_test_write_setup', 'link-32');">_test_write_setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.config-module.html b/doc/html_reference/instant.config-module.html
deleted file mode 100644
index be8453a..0000000
--- a/doc/html_reference/instant.config-module.html
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module config
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.config-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module config</h1><p class="nomargin-top"><span class="codelink"><a href="instant.config-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for configuration using
- pkg-config.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_swig_version"></a><span class="summary-sig-name">get_swig_version</span>()</span><br />
- Return the current swig version in a 'str'</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.config-pysrc.html#get_swig_version">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.config-module.html#check_swig_version" class="summary-sig-name">check_swig_version</a>(<span class="summary-sig-arg">version</span>,
- <span class="summary-sig-arg">same</span>=<span class="summary-sig-default">False</span>)</span><br />
- Check the swig version</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.config-pysrc.html#check_swig_version">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.config-module.html#header_and_libs_from_pkgconfig" class="summary-sig-name">header_and_libs_from_pkgconfig</a>(<span class="summary-sig-arg">*packages</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- This function returns list of include files, flags, libraries and
- library directories obtain from a pkgconfig file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.config-pysrc.html#header_and_libs_from_pkgconfig">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="check_swig_version"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_swig_version</span>(<span class="sig-arg">version</span>,
- <span class="sig-arg">same</span>=<span class="sig-default">False</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.config-pysrc.html#check_swig_version">source code</a></span>
- </td>
- </tr></table>
-
- <pre class="literalblock">
-Check the swig version
-
-Returns True if the version of the installed swig is equal or greater than the
-version passed to the function.
-
-If same is True, the function returns True if and only if the two versions
-are the same.
-
-Usage:
-if instant.check_swig_version('1.3.36'):
- print "Swig version is greater than or equal to 1.3.36"
-else:
- print "Swig version is lower than 1.3.36"
-
-</pre>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="header_and_libs_from_pkgconfig"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">header_and_libs_from_pkgconfig</span>(<span class="sig-arg">*packages</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.config-pysrc.html#header_and_libs_from_pkgconfig">source code</a></span>
- </td>
- </tr></table>
-
- <p>This function returns list of include files, flags, libraries and
- library directories obtain from a pkgconfig file.</p>
- <p>The usage is: (includes, flags, libraries, libdirs) =
- header_and_libs_from_pkgconfig(*list_of_packages)</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.config-pysrc.html b/doc/html_reference/instant.config-pysrc.html
deleted file mode 100644
index 80b12d4..0000000
--- a/doc/html_reference/instant.config-pysrc.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module config
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.config-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.config-module.html">Module instant.config</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for configuration using pkg-config."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.get_status_output()=instant.output-module.html#get_status_output"><a title=" [...]
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
-<a name="get_swig_version"></a><div id="get_swig_version-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="get_swig_version-toggle" onclick="return toggle('get_swig_version');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#get_swig_version">get_swig_version</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> <tt class="py-docstring">""" Return the current swig version in a 'str'"""</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-comment"># Check for swig installation</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-2', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-3', 'get_status_output', 'link-1');">get_status_out [...]
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"SWIG is not installed on the system."</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"SWIG Version (.*)"</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-4', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> </tt>
-<a name="check_swig_version"></a><div id="check_swig_version-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="check_swig_version-toggle" onclick="return toggle('check_swig_version');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#check_swig_version">check_swig_version</a><tt class="py-op">(</tt><tt class="py-param">version</tt><tt class="py-op">,</tt> <tt class="py-param">same</tt><t [...]
-</div><div id="check_swig_version-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_swig_version-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> <tt class="py-docstring">""" Check the swig version</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring"> Returns True if the version of the installed swig is equal or greater than the</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring"> version passed to the function.</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> If same is True, the function returns True if and only if the two versions</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"> are the same.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring"> Usage:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> if instant.check_swig_version('1.3.36'):</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> print "Swig version is greater than or equal to 1.3.36"</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> else:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> print "Swig version is lower than 1.3.36"</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"Provide the first version number as a 'str'"</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-string">"Provide the version number as three number [...]
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">installed_version</tt> <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Function instant.config.get_swig_version()=instant.config-module.html#get_swig_version"><a title="instant.config.get_swig_version" class="py-name" href="#" onclick="return doclink('link-5', 'get_swig_vers [...]
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">handed_version</tt> <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt class="py-name">version</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-comment"># If same is True then just check that all numbers are equal</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">same</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">h</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">installed_version</tt><tt class="p [...]
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">swig_enough</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">v</tt> <tt class="py-keyword">for</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">installed_version</tt><tt class="py-op">]</tt><tt class="p [...]
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handed_version</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt class="py-name">v</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">handed_version</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">v</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">swig_enough</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">swig_enough</tt> </tt>
-</div><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> </tt>
-<a name="header_and_libs_from_pkgconfig"></a><div id="header_and_libs_from_pkgconfig-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="header_and_libs_from_pkgconfig-toggle" onclick="return toggle('header_and_libs_from_pkgconfig');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#header_and_libs_from_pkgconfig">header_and_libs_from_pkgconfig</a><tt class="py-op">(</tt><tt class="py-op"> [...]
-</div><div id="header_and_libs_from_pkgconfig-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="header_and_libs_from_pkgconfig-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-docstring">"""This function returns list of include files, flags, libraries and library directories obtain from a pkgconfig file.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> The usage is: </tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> (includes, flags, libraries, libdirs) = header_and_libs_from_pkgconfig(*list_of_packages)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">returnLinkFlags</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"returnLinkFlags"</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-6', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-7', 'get_status_output', 'link-1');">get_status_out [...]
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"The pkg-config package is not installed on the system."</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">env</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">env</tt><tt class="py-op">[</tt><tt class="py-string">"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"0"</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">env</tt><tt class="py-op">[</tt><tt class="py-string">"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"1"</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">includes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">libs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">libdirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">linkflags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pack</tt> <tt class="py-keyword">in</tt> <tt class="py-name">packages</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-8', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-9', 'get_status_output', 'link-1');">get_status [...]
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-10', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --cflags-only-I %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</t [...]
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">includes</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-11', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --cflags-only-other %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op"> [...]
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-12', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-l %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</tt [...]
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">libs</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-13', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-L %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</tt [...]
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">libdirs</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-14', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-other %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">, [...]
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">linkflags</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"The pkg-config file %s does not exist"</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">returnLinkFlags</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">includes</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">,</tt><tt class="py-name">libs</tt><tt class="py-op">,</tt> <tt class="py-name">libdirs</tt><tt class="py-op">,</tt> <tt class="py-name">linkflags</tt><tt cla [...]
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">includes</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">,</tt><tt class="py-name">libs</tt><tt class="py-op">,</tt> <tt class="py-name">libdirs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.inlining-module.html b/doc/html_reference/instant.inlining-module.html
deleted file mode 100644
index 6c63fac..0000000
--- a/doc/html_reference/instant.inlining-module.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.inlining</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module inlining
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.inlining-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module inlining</h1><p class="nomargin-top"><span class="codelink"><a href="instant.inlining-pysrc.html">source code</a></span></p>
-<p>This module contains the inline* functions, which allows easy inlining
- of C/C++ functions.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_func_name"></a><span class="summary-sig-name">get_func_name</span>(<span class="summary-sig-arg">c_code</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.inlining-pysrc.html#get_func_name">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.inlining-module.html#inline" class="summary-sig-name">inline</a>(<span class="summary-sig-arg">c_code</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- This is a short wrapper around the build_module function in instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.inlining-pysrc.html#inline">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_module" class="summary-sig-name">inline_module</a>(<span class="summary-sig-arg">c_code</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- This is a short wrapper around the build_module function in instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.inlining-pysrc.html#inline_module">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_with_numpy" class="summary-sig-name">inline_with_numpy</a>(<span class="summary-sig-arg">c_code</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- This is a short wrapper around the build_module function in instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.inlining-pysrc.html#inline_with_numpy">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_module_with_numpy" class="summary-sig-name">inline_module_with_numpy</a>(<span class="summary-sig-arg">c_code</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- This is a short wrapper around the build_module function in instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.inlining-pysrc.html#inline_module_with_numpy">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="inline"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">inline</span>(<span class="sig-arg">c_code</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.inlining-pysrc.html#inline">source code</a></span>
- </td>
- </tr></table>
-
- <p>This is a short wrapper around the build_module function in
- instant.</p>
- <p>It creates a module given that the input is a valid C function. It is
- only possible to inline one C function each time.</p>
- <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="inline_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_module</span>(<span class="sig-arg">c_code</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_module">source code</a></span>
- </td>
- </tr></table>
-
- <p>This is a short wrapper around the build_module function in
- instant.</p>
- <p>It creates a module given that the input is a valid C function. It is
- only possible to inline one C function each time.</p>
- <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="inline_with_numpy"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_with_numpy</span>(<span class="sig-arg">c_code</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_with_numpy">source code</a></span>
- </td>
- </tr></table>
-
- <p>This is a short wrapper around the build_module function in
- instant.</p>
- <p>It creates a module given that the input is a valid C function. It is
- only possible to inline one C function each time. The difference between
- this function and the inline function is that C-arrays can be used. The
- following example illustrates that.</p>
- <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> numpy
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> time
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline_with_numpy
-<span class="py-prompt">>>> </span>c_code = <span class="py-string">""</span>"
-<span class="py-output"> double sum (int n1, double* array1){</span>
-<span class="py-output"> double tmp = 0.0; </span>
-<span class="py-output"> for (int i=0; i<n1; i++) { </span>
-<span class="py-output"> tmp += array1[i]; </span>
-<span class="py-output"> }</span>
-<span class="py-output"> return tmp; </span>
-<span class="py-output"> }</span>
-<span class="py-output"> """</span>
-<span class="py-output"></span><span class="py-prompt">>>> </span>sum_func = inline_with_numpy(c_code, arrays = [[<span class="py-string">'n1'</span>, <span class="py-string">'array1'</span>]])
-<span class="py-prompt">>>> </span>a = numpy.arange(10000000); a = numpy.sin(a)
-<span class="py-prompt">>>> </span>sum_func(a)</pre>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="inline_module_with_numpy"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_module_with_numpy</span>(<span class="sig-arg">c_code</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_module_with_numpy">source code</a></span>
- </td>
- </tr></table>
-
- <p>This is a short wrapper around the build_module function in
- instant.</p>
- <p>It creates a module given that the input is a valid C function. It is
- only possible to inline one C function each time. The difference between
- this function and the inline function is that C-arrays can be used. The
- following example illustrates that.</p>
- <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> numpy
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> time
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline_with_numpy
-<span class="py-prompt">>>> </span>c_code = <span class="py-string">""</span>"
-<span class="py-output"> double sum (int n1, double* array1){</span>
-<span class="py-output"> double tmp = 0.0; </span>
-<span class="py-output"> for (int i=0; i<n1; i++) { </span>
-<span class="py-output"> tmp += array1[i]; </span>
-<span class="py-output"> }</span>
-<span class="py-output"> return tmp; </span>
-<span class="py-output"> }</span>
-<span class="py-output"> """</span>
-<span class="py-output"></span><span class="py-prompt">>>> </span>sum_func = inline_with_numpy(c_code, arrays = [[<span class="py-string">'n1'</span>, <span class="py-string">'array1'</span>]])
-<span class="py-prompt">>>> </span>a = numpy.arange(10000000); a = numpy.sin(a)
-<span class="py-prompt">>>> </span>sum_func(a)</pre>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.inlining-pysrc.html b/doc/html_reference/instant.inlining-pysrc.html
deleted file mode 100644
index ff9d7fe..0000000
--- a/doc/html_reference/instant.inlining-pysrc.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.inlining</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module inlining
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.inlining-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.inlining-module.html">Module instant.inlining</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains the inline* functions, which allows easy inlining of C/C++ functions."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instan [...]
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.build=instant.build-module.html"><a title="instant.build" class="py-name" href="#" onclick="return doclink('link-4', 'build', 'link-4');">build</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.build.build_module()=instant.build-module.html#build_module"><a title="instant.build.bui [...]
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> </tt>
-<a name="get_func_name"></a><div id="get_func_name-def"><a name="L8"></a><tt class="py-lineno"> 8</tt> <a class="py-toggle" href="#" id="get_func_name-toggle" onclick="return toggle('get_func_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#get_func_name">get_func_name</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_func_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_func_name-expanded"><a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-comment"># TODO: Something more robust? Regexp?</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">c_code</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'('</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt class="py-name">func</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt id="link-6" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-6', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to extract function name from c_code."</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">func_name</tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> </tt>
-<a name="inline"></a><div id="inline-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="inline-toggle" onclick="return toggle('inline');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline">inline</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</t [...]
-</div><div id="inline-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> <tt class="py-docstring">"""This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring"> It creates a module given that</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"> the input is a valid C function. It is only possible</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> to inline one C function each time. </tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> Usage: </tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> >>> from instant import inline</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> >>> add_func = inline("double add(double a, double b){ return a+b; }")</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-7', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt>< [...]
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Function instant.inlining.get_func_name()=instant.inlining-module.html#get_func_name"><a title="instant.inlining.get_func_name" class="py-name" href="#" onclick="return doclink('link-8', 'get_func_name', 'link-8');">get_func_name</a></tt><tt class="py-op">(</tt><tt class="py-name">c_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-9', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-10" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-10', 'instant_warning', 'link-2');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"Didn't find function '%s', returning module."</tt> <tt class="py-op">%</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="inline_module"></a><div id="inline_module-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="inline_module-toggle" onclick="return toggle('inline_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_module">inline_module</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt [...]
-</div><div id="inline_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_module-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-docstring">"""This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> It creates a module given that</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> the input is a valid C function. It is only possible</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> to inline one C function each time. </tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> Usage: </tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> >>> from instant import inline</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> >>> add_func = inline("double add(double a, double b){ return a+b; }")</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt [...]
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-12', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="inline_with_numpy"></a><div id="inline_with_numpy-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="inline_with_numpy-toggle" onclick="return toggle('inline_with_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_with_numpy">inline_with_numpy</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="p [...]
-</div><div id="inline_with_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_with_numpy-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-docstring">'''This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> It creates a module given that</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> the input is a valid C function. It is only possible</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> to inline one C function each time. The difference between</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> this function and the inline function is that C-arrays can be used. </tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> The following example illustrates that. </tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> Usage: </tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> >>> import numpy</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> >>> import time</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> >>> from instant import inline_with_numpy</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> >>> c_code = """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> double sum (int n1, double* array1){</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> double tmp = 0.0; </tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> for (int i=0; i<n1; i++) { </tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> tmp += array1[i]; </tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> }</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> return tmp; </tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> }</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> >>> sum_func = inline_with_numpy(c_code, arrays = [['n1', 'array1']])</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> >>> a = numpy.arange(10000000); a = numpy.sin(a)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> >>> sum_func(a)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt [...]
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"init_code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"init_code"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-str [...]
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt [...]
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.inlining.get_func_name" class="py-name" href="#" onclick="return doclink('link-14', 'get_func_name', 'link-8');">get_func_name</a></tt><tt class="py-op">(</tt><tt class="py-name">c_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-15', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt id="link-16" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-16', 'instant_warning', 'link-2');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"Didn't find function '%s', returning module."</tt> <tt class="py-op">%</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
-<a name="inline_module_with_numpy"></a><div id="inline_module_with_numpy-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="inline_module_with_numpy-toggle" onclick="return toggle('inline_module_with_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_module_with_numpy">inline_module_with_numpy</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">, [...]
-</div><div id="inline_module_with_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_module_with_numpy-expanded"><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-docstring">'''This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> It creates a module given that</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> the input is a valid C function. It is only possible</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> to inline one C function each time. The difference between</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> this function and the inline function is that C-arrays can be used. </tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> The following example illustrates that. </tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> Usage: </tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> >>> import numpy</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> >>> import time</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> >>> from instant import inline_with_numpy</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> >>> c_code = """</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> double sum (int n1, double* array1){</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> double tmp = 0.0; </tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> for (int i=0; i<n1; i++) { </tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> tmp += array1[i]; </tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> }</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> return tmp; </tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> }</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> >>> sum_func = inline_with_numpy(c_code, arrays = [['n1', 'array1']])</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> >>> a = numpy.arange(10000000); a = numpy.sin(a)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> >>> sum_func(a)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> '''</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt id="link-17" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-17', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</t [...]
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"init_code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"init_code"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-st [...]
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</t [...]
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</t [...]
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-18', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.instant-class.html b/doc/html_reference/instant.instant-class.html
deleted file mode 100644
index 57f4cd7..0000000
--- a/doc/html_reference/instant.instant-class.html
+++ /dev/null
@@ -1,559 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.instant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Module instant</a> ::
- Class instant
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.instant-class.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class instant</h1><span class="codelink"><a href="instant-pysrc.html#instant">source code</a></span><br /><br />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Instance Methods</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-InstanceMethods"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span><br />
- instant constructor</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.__init__">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="parse_args"></a><span class="summary-sig-name">parse_args</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">dict</span>)</span><br />
- A method for parsing arguments.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.parse_args">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.instant-class.html#create_extension" class="summary-sig-name">create_extension</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">**args</span>)</span><br />
- Call this function to instantly create an extension module.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.create_extension">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="debug"></a><span class="summary-sig-name">debug</span>(<span class="summary-sig-arg">self</span>)</span><br />
- print out all instance variable</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.debug">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="clean"></a><span class="summary-sig-name">clean</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Clean up files the current session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.clean">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.instant-class.html#generate_Interfacefile" class="summary-sig-name">generate_Interfacefile</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Use this function to generate a SWIG interface file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.generate_Interfacefile">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.instant-class.html#check_md5sum" class="summary-sig-name">check_md5sum</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Check if the md5sum of the generated interface file has changed
- since the last time the module was compiled.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.check_md5sum">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="generate_setup"></a><span class="summary-sig-name">generate_setup</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Generates a setup.py file</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.generate_setup">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="generate_Makefile"></a><span class="summary-sig-name">generate_Makefile</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Generates a project dependent Makefile, which includes and uses
- SWIG's own Makefile to create an extension module of the supplied
- C/C++ code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant-pysrc.html#instant.generate_Makefile">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Method Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-MethodDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="create_extension"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">create_extension</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">**args</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant-pysrc.html#instant.create_extension">source code</a></span>
- </td>
- </table>
-
- Call this function to instantly create an extension module. SWIG is
- used to generate code that can be compiled and used as an ordinary Python
- module.
- <h1 class="heading">Arguments:</h1>
- <ul>
- <li>
- <b>code</b>:
- <ul>
- <li>
- A Python string containing C or C++ function, class,
- ....
- </li>
- </ul>
- </li>
- <li>
- <b>module</b>:
- <ul>
- <li>
- The name you want for the module (Default is
- 'instant_swig_module'.). String.
- </li>
- </ul>
- </li>
- <li>
- <b>swigopts</b>:
- <ul>
- <li>
- Options to swig, for instance <code>-lpointers.i</code> to
- include the SWIG pointers.i library. String.
- </li>
- </ul>
- </li>
- <li>
- <b>init_code</b>:
- <ul>
- <li>
- Code that should be executed when the instant extension is
- imported. String.
- </li>
- </ul>
- </li>
- <li>
- <b>system_headers</b>:
- <ul>
- <li>
- A list of system header files required by the instant
- code.
- </li>
- </ul>
- </li>
- <li>
- <b>local_headers</b>:
- <ul>
- <li>
- A list of local header files required by the instant
- code.
- </li>
- </ul>
- </li>
- <li>
- <b>wrap_headers</b>:
- <ul>
- <li>
- A list of local header files that should be wrapped by
- SWIG.
- </li>
- </ul>
- </li>
- <li>
- <b>include_dirs</b>:
- <ul>
- <li>
- A list of directories to search for header files.
- </li>
- </ul>
- </li>
- <li>
- <b>sources</b>:
- <ul>
- <li>
- A list of source files to compile and link with the
- extension.
- </li>
- </ul>
- </li>
- <li>
- <b>cppargs</b>:
- <ul>
- <li>
- Flags like <code>-D</code>, <code>-U</code>, etc.
- String.
- </li>
- </ul>
- </li>
- <li>
- <b>lddargs</b>:
- <ul>
- <li>
- Flags like <code>-D</code>, <code>-U</code>, etc.
- String.
- </li>
- </ul>
- </li>
- <li>
- <b>libraries</b>:
- <ul>
- <li>
- A list of libraries needed by the instant extension.
- </li>
- </ul>
- </li>
- <li>
- <b>library_dirs</b>:
- <ul>
- <li>
- A list of directories to search for libraries
- (<code>-l</code>).
- </li>
- </ul>
- </li>
- <li>
- <b>object_files</b>:
- <ul>
- <li>
- If you want to compile the files yourself. NOT YET
- SUPPORTED.
- </li>
- </ul>
- </li>
- <li>
- <b>arrays</b>:
- <ul>
- <li>
- A list of the C arrays to be made from NumPy arrays.
- </li>
- </ul>
- </li>
- <li>
- <b>additional_definitions</b>:
- <ul>
- <li>
- A list of additional definitions (typically needed for
- inheritance)
- </li>
- </ul>
- </li>
- <li>
- <b>additional_declarations</b>:
- <ul>
- <li>
- A list of additional declarations (typically needed for
- inheritance)
- </li>
- </ul>
- </li>
- <li>
- <b>signature</b>:
- <ul>
- <li>
- A signature string to identify the form instead of the
- source code.
- </li>
- </ul>
- </li>
- </ul>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="generate_Interfacefile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_Interfacefile</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant-pysrc.html#instant.generate_Interfacefile">source code</a></span>
- </td>
- </table>
-
- <p>Use this function to generate a SWIG interface file.</p>
- To generate an interface file it uses the following
- class-variables:
- <ul>
- <li>
- code
- </li>
- <li>
- ifile_name (The SWIG input file)
- </li>
- <li>
- init_code (Code to put in the init section of the interface
- file)
- </li>
- <li>
- system_headers (A list of system headers with declarations
- needed)
- </li>
- <li>
- local_headers (A list of local headers with declarations
- needed)
- </li>
- <li>
- wrap_headers (A list of local headers that will be wrapped by
- SWIG)
- </li>
- </ul>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="check_md5sum"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_md5sum</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant-pysrc.html#instant.check_md5sum">source code</a></span>
- </td>
- </table>
-
- Check if the md5sum of the generated interface file has changed since
- the last time the module was compiled. If it has changed then
- recompilation is necessary.
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0beta1 on Fri Aug 8 15:09:14 2008
- </td>
- <td align="right" class="footer">
- <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie()
- // -->
-</script>
-
-</body>
-</html>
diff --git a/doc/html_reference/instant.locking-module.html b/doc/html_reference/instant.locking-module.html
deleted file mode 100644
index ce1107c..0000000
--- a/doc/html_reference/instant.locking-module.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.locking</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module locking
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.locking-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module locking</h1><p class="nomargin-top"><span class="codelink"><a href="instant.locking-pysrc.html">source code</a></span></p>
-<p>File locking for the cache system, to avoid problems when multiple
- processes work with the same module. Only works on UNIX systems.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="release_all_locks"></a><span class="summary-sig-name">release_all_locks</span>()</span><br />
- Release all locks currently held by Instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.locking-pysrc.html#release_all_locks">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_lock"></a><span class="summary-sig-name">get_lock</span>(<span class="summary-sig-arg">cache_dir</span>,
- <span class="summary-sig-arg">module_name</span>)</span><br />
- Get a new file lock.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.locking-pysrc.html#get_lock">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="release_lock"></a><span class="summary-sig-name">release_lock</span>(<span class="summary-sig-arg">lock</span>)</span><br />
- Release a lock currently held by Instant.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.locking-pysrc.html#release_lock">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_lock_names"></a><span class="summary-name">_lock_names</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_lock_files"></a><span class="summary-name">_lock_files</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_lock_count"></a><span class="summary-name">_lock_count</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.locking-pysrc.html b/doc/html_reference/instant.locking-pysrc.html
deleted file mode 100644
index 795ebfe..0000000
--- a/doc/html_reference/instant.locking-pysrc.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.locking</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module locking
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.locking-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.locking-module.html">Module instant.locking</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""File locking for the cache system, to avoid problems</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-docstring">when multiple processes work with the same module.</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-docstring">Only works on UNIX systems."""</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.o [...]
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-4', 'paths', 'link-4');">paths</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.paths.validate_cache_dir()=instant.paths-module.html#validate_cache_dir"><a title="instan [...]
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> <tt class="py-name">fcntl</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"># Keeping an overview of locks currently held,</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># to avoid deadlocks within a single process.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable instant.locking._lock_names=instant.locking-module.html#_lock_names"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-6', '_lock_names', 'link-6');">_lock_names</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lock.fileno() -> lockname</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable instant.locking._lock_files=instant.locking-module.html#_lock_files"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-7', '_lock_files', 'link-7');">_lock_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lockname -> lock</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable instant.locking._lock_count=instant.locking-module.html#_lock_count"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-8', '_lock_count', 'link-8');">_lock_count</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lockname -> number of times this lock has been aquired a [...]
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">fcntl</tt><tt class="py-op">:</tt> </tt>
-<a name="get_lock"></a><div id="get_lock-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="get_lock-toggle" onclick="return toggle('get_lock');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#get_lock">get_lock</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-param">module_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="get_lock-expanded"><a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt class="py-docstring">"Get a new file lock."</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-9" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-9', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-10', '_lock_files', 'link-7');">_lock_files</a></tt [...]
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> <tt class="py-name">lockname</tt> <tt class="py-op">=</tt> <tt class="py-name">module_name</tt> <tt class="py-op">+</tt> <tt class="py-string">".lock"</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-12', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op"> [...]
-<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-13', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Acquiring lock %s, count is %d."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class [...]
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">count</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-14', 'validate_cache_dir', 'link-5');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">lockname</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt c [...]
-<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">flock</tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_EX</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-15', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lockna [...]
-<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt id="link-16" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-16', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lock</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-17', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt id="link-18" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-18', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">lock</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
-<a name="release_lock"></a><div id="release_lock-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="release_lock-toggle" onclick="return toggle('release_lock');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">lock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_lock-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-docstring">"Release a lock currently held by Instant."</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-19" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-19', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-20', '_lock_files', 'link-7');">_lock_files</a></ [...]
-<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-name">lockname</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-22', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</ [...]
-<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-23', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt id="link-24" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-24', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Releasing lock %s, count is %d."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class [...]
-<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-25', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">count</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Releasing lock that Instant is supposedly not holding."</tt><tt class [...]
-<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt id="link-26" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-26', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt> <tt class="py-keyword">is</tt> <tt id="link-27" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-27', '_lock_file [...]
-<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-28" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-28', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-29" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-29', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt id="link-30" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-30', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">flock</tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_UN</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> </tt>
-<a name="release_all_locks"></a><div id="release_all_locks-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="release_all_locks-toggle" onclick="return toggle('release_all_locks');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_all_locks">release_all_locks</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_all_locks-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_all_locks-expanded"><a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-docstring">"Release all locks currently held by Instant."</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">locks</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-31', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">lock</tt> <tt class="py-keyword">in</tt> <tt class="py-name">locks</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt id="link-32" class="py-name" targets="Function instant.locking.release_lock()=instant.locking-module.html#release_lock"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-32', 'release_lock', 'link-32');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-33', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-34', '_lock_count', 'link [...]
-</div><a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> <tt class="py-comment"># Windows systems have no fcntl, implement these otherwise if locking is needed on windows</tt> </tt>
-<a name="get_lock"></a><div id="get_lock-def"><a name="L70"></a><tt class="py-lineno">70</tt> <a class="py-toggle" href="#" id="get_lock-toggle" onclick="return toggle('get_lock');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#get_lock">get_lock</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-param">module_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="get_lock-expanded"><a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"> </tt>
-<a name="release_lock"></a><div id="release_lock-def"><a name="L73"></a><tt class="py-lineno">73</tt> <a class="py-toggle" href="#" id="release_lock-toggle" onclick="return toggle('release_lock');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">lock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_lock-expanded"><a name="L74"></a><tt class="py-lineno">74</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno">75</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.output-module.html b/doc/html_reference/instant.output-module.html
deleted file mode 100644
index 73d7021..0000000
--- a/doc/html_reference/instant.output-module.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.output</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module output
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.output-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module output</h1><p class="nomargin-top"><span class="codelink"><a href="instant.output-pysrc.html">source code</a></span></p>
-<p>This module contains internal logging utilities.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_log_handler"></a><span class="summary-sig-name">get_log_handler</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#get_log_handler">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_logger"></a><span class="summary-sig-name">get_logger</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#get_logger">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set_log_handler"></a><span class="summary-sig-name">set_log_handler</span>(<span class="summary-sig-arg">handler</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#set_log_handler">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set_logging_level"></a><span class="summary-sig-name">set_logging_level</span>(<span class="summary-sig-arg">level</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#set_logging_level">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="instant_debug"></a><span class="summary-sig-name">instant_debug</span>(<span class="summary-sig-arg">*message</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#instant_debug">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="instant_info"></a><span class="summary-sig-name">instant_info</span>(<span class="summary-sig-arg">*message</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#instant_info">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="instant_warning"></a><span class="summary-sig-name">instant_warning</span>(<span class="summary-sig-arg">*message</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#instant_warning">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="instant_error"></a><span class="summary-sig-name">instant_error</span>(<span class="summary-sig-arg">*message</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#instant_error">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="instant_assert"></a><span class="summary-sig-name">instant_assert</span>(<span class="summary-sig-arg">condition</span>,
- <span class="summary-sig-arg">*message</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#instant_assert">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="write_file"></a><span class="summary-sig-name">write_file</span>(<span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">text</span>)</span><br />
- Write text to a file and close it.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#write_file">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_status_output"></a><span class="summary-sig-name">get_status_output</span>(<span class="summary-sig-arg">cmd</span>,
- <span class="summary-sig-arg">input</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">cwd</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">env</span>=<span class="summary-sig-default">None</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.output-pysrc.html#get_status_output">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_log"></a><span class="summary-name">_log</span> = <code title="logging.getLogger("instant")">logging.getLogger("instant")</code>
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_loghandler"></a><span class="summary-name">_loghandler</span> = <code title="logging.StreamHandler()">logging.StreamHandler()</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.output-pysrc.html b/doc/html_reference/instant.output-pysrc.html
deleted file mode 100644
index ec82a45..0000000
--- a/doc/html_reference/instant.output-pysrc.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.output</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module output
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.output-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.output-module.html">Module instant.output</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains internal logging utilities."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Logging wrappers</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable instant.output._log=instant.output-module.html#_log"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-0', '_log', 'link-0');">_log</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"instant"</tt><tt class="py-op">)</t [...]
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable instant.output._loghandler=instant.output-module.html#_loghandler"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-1', '_loghandler', 'link-1');">_loghandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">StreamHandler</tt><tt class="py-op">(</tt><tt class="py-op">) [...]
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt id="link-2" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-2', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt id="link-3" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-3', '_loghandler', 'link-1');">_loghandler</a></tt><tt class= [...]
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt id="link-4" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-4', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">WARNING</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt id="link-5" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-5', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment">#_log.setLevel(logging.DEBUG)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> </tt>
-<a name="get_log_handler"></a><div id="get_log_handler-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="get_log_handler-toggle" onclick="return toggle('get_log_handler');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_log_handler">get_log_handler</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_log_handler-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_log_handler-expanded"><a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-6', '_loghandler', 'link-1');">_loghandler</a></tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"> </tt>
-<a name="get_logger"></a><div id="get_logger-def"><a name="L17"></a><tt class="py-lineno">17</tt> <a class="py-toggle" href="#" id="get_logger-toggle" onclick="return toggle('get_logger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_logger">get_logger</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_logger-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_logger-expanded"><a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-7" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-7', '_log', 'link-0');">_log</a></tt> </tt>
-</div><a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> </tt>
-<a name="set_log_handler"></a><div id="set_log_handler-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="set_log_handler-toggle" onclick="return toggle('set_log_handler');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#set_log_handler">set_log_handler</a><tt class="py-op">(</tt><tt class="py-param">handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_log_handler-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="set_log_handler-expanded"><a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-8" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-8', '_loghandler', 'link-1');">_loghandler</a></tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt id="link-9" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-9', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">removeHandler</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-10', '_loghandler', 'link-1');">_loghandler</a></tt> [...]
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-11', '_loghandler', 'link-1');">_loghandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-12', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-13', '_loghandler', 'link-1');">_loghandler</a></tt>< [...]
-</div><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
-<a name="set_logging_level"></a><div id="set_logging_level-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="set_logging_level-toggle" onclick="return toggle('set_logging_level');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#set_logging_level">set_logging_level</a><tt class="py-op">(</tt><tt class="py-param">level</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_logging_level-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="set_logging_level-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt class="py-name">level</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">level</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"INFO"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"DEBUG"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">level</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt id="link-14" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-14', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"><tt class="py-comment"># Aliases for calling log consistently:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> </tt>
-<a name="instant_debug"></a><div id="instant_debug-def"><a name="L37"></a><tt class="py-lineno">37</tt> <a class="py-toggle" href="#" id="instant_debug-toggle" onclick="return toggle('instant_debug');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_debug">instant_debug</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_debug-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_debug-expanded"><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-15', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt [...]
-</div><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> </tt>
-<a name="instant_info"></a><div id="instant_info-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="instant_info-toggle" onclick="return toggle('instant_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_info">instant_info</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_info-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_info-expanded"><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt id="link-16" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-16', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt cla [...]
-</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
-<a name="instant_warning"></a><div id="instant_warning-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="instant_warning-toggle" onclick="return toggle('instant_warning');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_warning">instant_warning</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_warning-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_warning-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt id="link-17" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-17', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</t [...]
-</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
-<a name="instant_error"></a><div id="instant_error-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="instant_error-toggle" onclick="return toggle('instant_error');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_error">instant_error</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_error-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_error-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt id="link-18" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-18', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt [...]
-<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> </tt>
-<a name="instant_assert"></a><div id="instant_assert-def"><a name="L51"></a><tt class="py-lineno">51</tt> <a class="py-toggle" href="#" id="instant_assert-toggle" onclick="return toggle('instant_assert');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_assert">instant_assert</a><tt class="py-op">(</tt><tt class="py-param">condition</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">message</t [...]
-</div><div id="instant_assert-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_assert-expanded"><a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">condition</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-19', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"><tt class="py-comment"># Utility functions for file handling:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> </tt>
-<a name="write_file"></a><div id="write_file-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="write_file-toggle" onclick="return toggle('write_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#write_file">write_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="write_file-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="write_file-expanded"><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-docstring">"Write text to a file and close it."</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt id="link-20" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-20', 'instant_error', 'link-20');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Can't open '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-nam [...]
-</div><a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"><tt class="py-comment"># Taken from http://ivory.idyll.org/blog/mar-07/replacing-commands-with-subprocess</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">subprocess</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Popen</tt><tt class="py-op">,</tt> <tt class="py-name">PIPE</tt><tt class="py-op">,</tt> <tt class="py-name">STDOUT</tt> </tt>
-<a name="get_status_output"></a><div id="get_status_output-def"><a name="L71"></a><tt class="py-lineno">71</tt> <a class="py-toggle" href="#" id="get_status_output-toggle" onclick="return toggle('get_status_output');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_status_output">get_status_output</a><tt class="py-op">(</tt><tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">input</tt><tt class="p [...]
-</div><div id="get_status_output-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_status_output-expanded"><a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"> <tt class="py-name">pipe</tt> <tt class="py-op">=</tt> <tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-nam [...]
-<a name="L73"></a><tt class="py-lineno">73</tt> <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-21" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-21', 'output', 'link-21');">output</a></tt><tt class="py-op">,</tt> <tt class="py-name">errout</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">pipe</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
-<a name="L75"></a><tt class="py-lineno">75</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">errout</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt> <tt class="py-line"> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt> <tt class="py-line"> <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">pipe</tt><tt class="py-op">.</tt><tt class="py-name">returncode</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt> <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno">79</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-22', 'output', 'link-21');">output</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L80"></a><tt class="py-lineno">80</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.paths-module.html b/doc/html_reference/instant.paths-module.html
deleted file mode 100644
index 24d65d7..0000000
--- a/doc/html_reference/instant.paths-module.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.paths</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module paths
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.paths-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module paths</h1><p class="nomargin-top"><span class="codelink"><a href="instant.paths-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with temp and cache
- directories.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="instant.paths-module.html#get_temp_dir" class="summary-sig-name">get_temp_dir</a>()</span><br />
- Return a temporary directory for the duration of this process.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#get_temp_dir">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="delete_temp_dir"></a><span class="summary-sig-name">delete_temp_dir</span>()</span><br />
- Delete the temporary directory created by get_temp_dir().</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#delete_temp_dir">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_instant_dir"></a><span class="summary-sig-name">get_instant_dir</span>()</span><br />
- Return a temporary directory for the duration of this process.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#get_instant_dir">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_default_cache_dir"></a><span class="summary-sig-name">get_default_cache_dir</span>()</span><br />
- Return the default cache directory.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#get_default_cache_dir">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="validate_cache_dir"></a><span class="summary-sig-name">validate_cache_dir</span>(<span class="summary-sig-arg">cache_dir</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#validate_cache_dir">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="_test"></a><span class="summary-sig-name">_test</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.paths-pysrc.html#_test">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="_tmp_dir"></a><span class="summary-name">_tmp_dir</span> = <code title="None">None</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Function Details</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-FunctionDetails"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-</table>
-<a name="get_temp_dir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_temp_dir</span>()</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="instant.paths-pysrc.html#get_temp_dir">source code</a></span>
- </td>
- </tr></table>
-
- <p>Return a temporary directory for the duration of this process.</p>
- <p>Multiple calls in the same process returns the same directory.
- Remember to all delete_temp_dir() before exiting.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.paths-pysrc.html b/doc/html_reference/instant.paths-pysrc.html
deleted file mode 100644
index c7ba59f..0000000
--- a/doc/html_reference/instant.paths-pysrc.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.paths</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module paths
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.paths-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.paths-module.html">Module instant.paths</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with temp and cache directories."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># Utilities for directory handling:</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">shutil</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">tempfile</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_debug()=instant.output-module.html#instant_debug"><a title="instant.o [...]
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable instant.paths._tmp_dir=instant.paths-module.html#_tmp_dir"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-3', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="get_temp_dir"></a><div id="get_temp_dir-def"><a name="L12"></a><tt class="py-lineno">12</tt> <a class="py-toggle" href="#" id="get_temp_dir-toggle" onclick="return toggle('get_temp_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_temp_dir">get_temp_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_temp_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_temp_dir-expanded"><a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a temporary directory for the duration of this process.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-docstring"> Multiple calls in the same process returns the same directory.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-docstring"> Remember to all delete_temp_dir() before exiting."""</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-4" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-4', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-5" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-5', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> <tt class="py-name">datestring</tt> <tt class="py-op">=</tt> <tt class="py-string">"%d-%d-%d-%02d-%02d"</tt> <tt class="py-op">%</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">localtime</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> <tt class="py-name">suffix</tt> <tt class="py-op">=</tt> <tt class="py-name">datestring</tt> <tt class="py-op">+</tt> <tt class="py-string">"_instant"</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt id="link-6" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-6', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkdtemp</tt><tt class="py-op">(</tt><tt class="py-name">suffix</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-7', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Created temp directory '%s'."</tt> <tt class="py-op">%</tt> <tt id="link-8" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-8', ' [...]
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-9" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-9', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-</div><a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
-<a name="delete_temp_dir"></a><div id="delete_temp_dir-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="delete_temp_dir-toggle" onclick="return toggle('delete_temp_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#delete_temp_dir">delete_temp_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="delete_temp_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="delete_temp_dir-expanded"><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> <tt class="py-docstring">"""Delete the temporary directory created by get_temp_dir()."""</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-10" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-10', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-11" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-11', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt id="link-12" class="py-na [...]
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">rmtree</tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-13', '_tmp_dir', 'link-3');">_tmp_dir</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_errors</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</ [...]
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-14" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-14', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
-<a name="get_instant_dir"></a><div id="get_instant_dir-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="get_instant_dir-toggle" onclick="return toggle('get_instant_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_instant_dir">get_instant_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_instant_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_instant_dir-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-docstring">"Return a temporary directory for the duration of this process."</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-comment"># os.path.expanduser works for Windows, Linux, and Mac</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-comment"># In Windows, $HOME is os.environ['HOMEDRIVE'] + os.environ['HOMEPATH']</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">instant_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">"~"</tt><tt cla [...]
-<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">instant_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-15', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating instant directory '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">instant_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">instant_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">instant_dir</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
-<a name="get_default_cache_dir"></a><div id="get_default_cache_dir-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="get_default_cache_dir-toggle" onclick="return toggle('get_default_cache_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_default_cache_dir">get_default_cache_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_default_cache_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_default_cache_dir-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-docstring">"Return the default cache directory."</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Function instant.paths.get_instant_dir()=instant.paths-module.html#get_instant_dir"><a title="instant.paths.get_instant_dir" class="py-name" href="#" onclick="r [...]
-<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt id="link-17" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-17', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating cache directory '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cache_dir</tt> </tt>
-</div><a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> </tt>
-<a name="validate_cache_dir"></a><div id="validate_cache_dir-def"><a name="L50"></a><tt class="py-lineno">50</tt> <a class="py-toggle" href="#" id="validate_cache_dir-toggle" onclick="return toggle('validate_cache_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#validate_cache_dir">validate_cache_dir</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="validate_cache_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="validate_cache_dir-expanded"><a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cache_dir</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-18" class="py-name" targets="Function instant.paths.get_default_cache_dir()=instant.paths-module.html#get_default_cache_dir"><a title="instant.paths.get_default_cache_dir" class="py-name" href="#" onclick="return doclink('link-18', 'get_default_cache_dir', 'link-18');">get_default_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-19', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py [...]
-<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cache_dir</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> </tt>
-<a name="_test"></a><div id="_test-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="_test-toggle" onclick="return toggle('_test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#_test">_test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="_test-expanded"><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Temp dir:"</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Function instant.paths.get_temp_dir()=instant.paths-module.html#get_temp_dir"><a title="instant.paths.get_temp_dir" class="py-name" href="#" onclick="return doclink('link-2 [...]
-<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Instant dir:"</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="instant.paths.get_instant_dir" class="py-name" href="#" onclick="return doclink('link-21', 'get_instant_dir', 'link-16');">get_instant_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Default cache dir:"</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="instant.paths.get_default_cache_dir" class="py-name" href="#" onclick="return doclink('link-22', 'get_default_cache_dir', 'link-18');">get_default_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt id="link-23" class="py-name" targets="Function instant.paths.delete_temp_dir()=instant.paths-module.html#delete_temp_dir"><a title="instant.paths.delete_temp_dir" class="py-name" href="#" onclick="return doclink('link-23', 'delete_temp_dir', 'link-23');">delete_temp_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt id="link-24" class="py-name" targets="Function instant.paths._test()=instant.paths-module.html#_test,Function instant.signatures._test()=instant.signatures-module.html#_test"><a title="instant.paths._test
-instant.signatures._test" class="py-name" href="#" onclick="return doclink('link-24', '_test', 'link-24');">_test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.signatures-module.html b/doc/html_reference/instant.signatures-module.html
deleted file mode 100644
index eaa19aa..0000000
--- a/doc/html_reference/instant.signatures-module.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.signatures</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module signatures
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.signatures-module.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module signatures</h1><p class="nomargin-top"><span class="codelink"><a href="instant.signatures-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with checksums.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Functions</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Functions"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="compute_checksum"></a><span class="summary-sig-name">compute_checksum</span>(<span class="summary-sig-arg">text</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">filenames</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span><br />
- Get the checksum value of filename modified based on
- Python24\Tools\Scripts\md5.py</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.signatures-pysrc.html#compute_checksum">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr class="private">
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="_test"></a><span class="summary-sig-name">_test</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="instant.signatures-pysrc.html#_test">source code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td colspan="2" class="table-header">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr valign="top">
- <td align="left"><span class="table-header">Variables</span></td>
- <td align="right" valign="top"
- ><span class="options">[<a href="#section-Variables"
- class="privatelink" onclick="toggle_private();"
- >hide private</a>]</span></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"> </span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.signatures-pysrc.html b/doc/html_reference/instant.signatures-pysrc.html
deleted file mode 100644
index 2b97f7c..0000000
--- a/doc/html_reference/instant.signatures-pysrc.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant.signatures</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="instant-module.html">Package instant</a> ::
- Module signatures
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="instant.signatures-pysrc.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.signatures-module.html">Module instant.signatures</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with checksums."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hashlib</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instant [...]
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
-<a name="compute_checksum"></a><div id="compute_checksum-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="compute_checksum-toggle" onclick="return toggle('compute_checksum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.signatures-module.html#compute_checksum">compute_checksum</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op" [...]
-</div><div id="compute_checksum-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="compute_checksum-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-docstring"> Get the checksum value of filename</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring"> modified based on Python24\Tools\Scripts\md5.py</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt id="link-4" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-4', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string [...]
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> <tt id="link-5" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-5', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">filenames</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-n [...]
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">hashlib</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-string">'sha1'</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">filenames</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> <tt id="link-6" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-6', 'instant_debug', 'link-2');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding file '%s' to checksum."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-7', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Can't open file '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op"> [...]
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt id="link-8" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-8', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"I/O error reading '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op [...]
-<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">hexdigest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
-<a name="_test"></a><div id="_test-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="_test-toggle" onclick="return toggle('_test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.signatures-module.html#_test">_test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="_test-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt class="py-string">"(Test signature)"</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">files</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"signatures.py"</tt><tt class="py-op">,</tt> <tt class="py-string">"__init__.py"</tt><tt class="py-op">]</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Signature:"</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checksum:"</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Function instant.signatures.compute_checksum()=instant.signatures-module.html#compute_checksum"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-9', 'compute_checksum', 'link-9');">compute_checksum</a></tt><tt class="py-op">(</t [...]
-<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Files:"</tt><tt class="py-op">,</tt> <tt class="py-name">files</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checksum:"</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-10', 'compute_checksum', 'link-9');">compute_checksum</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">files</tt><tt class="py-op" [...]
-<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt>
-</div><a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Function instant.paths._test()=instant.paths-module.html#_test,Function instant.signatures._test()=instant.signatures-module.html#_test"><a title="instant.paths._test
-instant.signatures._test" class="py-name" href="#" onclick="return doclink('link-11', '_test', 'link-11');">_test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th> <a
- href="module-tree.html">Trees</a> </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/module-tree.html b/doc/html_reference/module-tree.html
deleted file mode 100644
index 83a0ea0..0000000
--- a/doc/html_reference/module-tree.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Module Hierarchy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Trees </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%"> </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span></td></tr>
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >] | <a href="module-tree.html"
- target="_top">no frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Module Hierarchy</h1>
-<ul class="nomargin-top">
- <li> <strong class="uidlink"><a href="instant-module.html">instant</a></strong>: <em class="summary">Instant allows compiled C/C++ modules to be created at runtime in
- your Python application, using SWIG to wrap the C/C++ code.</em>
- <ul>
- <li> <strong class="uidlink"><a href="instant.build-module.html">instant.build</a></strong>: <em class="summary">This module contains the main part of Instant, the build_module
- function.</em> </li>
- <li> <strong class="uidlink"><a href="instant.cache-module.html">instant.cache</a></strong>: <em class="summary">This module contains helper functions for working with the module
- cache.</em> </li>
- <li> <strong class="uidlink"><a href="instant.codegeneration-module.html">instant.codegeneration</a></strong>: <em class="summary">This module contains helper functions for code generation.</em> </li>
- <li> <strong class="uidlink"><a href="instant.config-module.html">instant.config</a></strong>: <em class="summary">This module contains helper functions for configuration using
- pkg-config.</em> </li>
- <li> <strong class="uidlink"><a href="instant.inlining-module.html">instant.inlining</a></strong>: <em class="summary">This module contains the inline* functions, which allows easy
- inlining of C/C++ functions.</em> </li>
- <li> <strong class="uidlink"><a href="instant.locking-module.html">instant.locking</a></strong>: <em class="summary">File locking for the cache system, to avoid problems when multiple
- processes work with the same module.</em> </li>
- <li> <strong class="uidlink"><a href="instant.output-module.html">instant.output</a></strong>: <em class="summary">This module contains internal logging utilities.</em> </li>
- <li> <strong class="uidlink"><a href="instant.paths-module.html">instant.paths</a></strong>: <em class="summary">This module contains helper functions for working with temp and
- cache directories.</em> </li>
- <li> <strong class="uidlink"><a href="instant.signatures-module.html">instant.signatures</a></strong>: <em class="summary">This module contains helper functions for working with checksums.</em> </li>
- </ul>
- </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th> <a
- href="instant-module.html">Home</a> </th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- > Trees </th>
-
- <!-- Index link -->
- <th> <a
- href="identifier-index.html">Indices</a> </th>
-
- <!-- Help link -->
- <th> <a
- href="help.html">Help</a> </th>
-
- <!-- Project homepage -->
- <th class="navbar" align="right" width="100%">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><th class="navbar" align="center"
- ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
- </tr></table></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/redirect.html b/doc/html_reference/redirect.html
deleted file mode 100644
index 93eaf63..0000000
--- a/doc/html_reference/redirect.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html><head><title>Epydoc Redirect Page</title>
-<meta http-equiv="cache-control" content="no-cache" />
-<meta http-equiv="expires" content="0" />
-<meta http-equiv="pragma" content="no-cache" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-<!--
-var pages = ["instant.codegeneration-m", "instant.signatures-m", "instant.inlining-m", "instant.locking-m", "instant.config-m", "instant.output-m", "instant.build-m", "instant.cache-m", "instant.paths-m", "instant-m"];
-var dottedName = get_anchor();
-if (dottedName) {
- var target = redirect_url(dottedName);
- if (target) window.location.replace(target);
-}
-// -->
-</script>
-
-<h3>Epydoc Auto-redirect page</h3>
-
-<p>When javascript is enabled, this page will redirect URLs of
-the form <tt>redirect.html#<i>dotted.name</i></tt> to the
-documentation for the object with the given fully-qualified
-dotted name.</p>
-<p><a id="message"> </a></p>
-
-<script type="text/javascript">
-<!--
-if (dottedName) {
- var msg = document.getElementById("message");
- msg.innerHTML = "No documentation found for <tt>"+
- dottedName+"</tt>";
-}
-// -->
-</script>
-
-</body>
-</html>
diff --git a/doc/html_reference/toc-everything.html b/doc/html_reference/toc-everything.html
deleted file mode 100644
index f5796c9..0000000
--- a/doc/html_reference/toc-everything.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Everything</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Everything</h1>
-<hr />
- <h2 class="toc">All Functions</h2>
- <a target="mainFrame" href="instant.build-module.html#arg_strings"
- >instant.build.arg_strings</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_bool"
- >instant.build.assert_is_bool</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_str"
- >instant.build.assert_is_str</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_str_list"
- >instant.build.assert_is_str_list</a><br /> <a target="mainFrame" href="instant.build-module.html#build_module"
- >instant.build.build_module</a><br /> <a target="mainFrame" href="instant.build-module.html#copy_files"
- >instant.build.copy_files</a><br /> <a target="mainFrame" href="instant.build-module.html#copy_to_cache"
- >instant.build.copy_to_cache</a><br /> <a target="mainFrame" href="instant.build-module.html#recompile"
- >instant.build.recompile</a><br /> <a target="mainFrame" href="instant.build-module.html#strip_strings"
- >instant.build.strip_strings</a><br /> <a target="mainFrame" href="instant.cache-module.html#cached_modules"
- >instant.cache.cached_modules</a><br /> <a target="mainFrame" href="instant.cache-module.html#check_disk_cache"
- >instant.cache.check_disk_cache</a><br /> <a target="mainFrame" href="instant.cache-module.html#check_memory_cache"
- >instant.cache.check_memory_cache</a><br /> <a target="mainFrame" href="instant.cache-module.html#checksum_from_modulename"
- >instant.cache.checksum_from_modulename</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_and_cache_module"
- >instant.cache.import_and_cache_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_module"
- >instant.cache.import_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_module_directly"
- >instant.cache.import_module_directly</a><br /> <a target="mainFrame" href="instant.cache-module.html#is_valid_module_name"
- >instant.cache.is_valid_module_name</a><br /> <a target="mainFrame" href="instant.cache-module.html#memory_cached_module"
- >instant.cache.memory_cached_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#modulename_from_checksum"
- >instant.cache.modulename_from_checksum</a><br /> <a target="mainFrame" href="instant.cache-module.html#place_module_in_memory_cache"
- >instant.cache.place_module_in_memory_cache</a><br /> <div class="private">
- <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_interfacefile"
- >instant.codegeneration._test_write_interfacefile</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_setup"
- >instant.codegeneration._test_write_setup</a><br /> </div>
- <a target="mainFrame" href="instant.codegeneration-module.html#mapstrings"
- >instant.codegeneration.mapstrings</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#reindent"
- >instant.codegeneration.reindent</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#write_interfacefile"
- >instant.codegeneration.write_interfacefile</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#write_setup"
- >instant.codegeneration.write_setup</a><br /> <a target="mainFrame" href="instant.config-module.html#check_swig_version"
- >instant.config.check_swig_version</a><br /> <a target="mainFrame" href="instant.config-module.html#get_swig_version"
- >instant.config.get_swig_version</a><br /> <a target="mainFrame" href="instant.config-module.html#header_and_libs_from_pkgconfig"
- >instant.config.header_and_libs_from_pkgconfig</a><br /> <a target="mainFrame" href="instant.inlining-module.html#get_func_name"
- >instant.inlining.get_func_name</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline"
- >instant.inlining.inline</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_module"
- >instant.inlining.inline_module</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_module_with_numpy"
- >instant.inlining.inline_module_with_numpy</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_with_numpy"
- >instant.inlining.inline_with_numpy</a><br /> <a target="mainFrame" href="instant.locking-module.html#get_lock"
- >instant.locking.get_lock</a><br /> <a target="mainFrame" href="instant.locking-module.html#release_all_locks"
- >instant.locking.release_all_locks</a><br /> <a target="mainFrame" href="instant.locking-module.html#release_lock"
- >instant.locking.release_lock</a><br /> <a target="mainFrame" href="instant.output-module.html#get_log_handler"
- >instant.output.get_log_handler</a><br /> <a target="mainFrame" href="instant.output-module.html#get_logger"
- >instant.output.get_logger</a><br /> <a target="mainFrame" href="instant.output-module.html#get_status_output"
- >instant.output.get_status_output</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_assert"
- >instant.output.instant_assert</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_debug"
- >instant.output.instant_debug</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_error"
- >instant.output.instant_error</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_info"
- >instant.output.instant_info</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_warning"
- >instant.output.instant_warning</a><br /> <a target="mainFrame" href="instant.output-module.html#set_log_handler"
- >instant.output.set_log_handler</a><br /> <a target="mainFrame" href="instant.output-module.html#set_logging_level"
- >instant.output.set_logging_level</a><br /> <a target="mainFrame" href="instant.output-module.html#write_file"
- >instant.output.write_file</a><br /> <div class="private">
- <a target="mainFrame" href="instant.paths-module.html#_test"
- >instant.paths._test</a><br /> </div>
- <a target="mainFrame" href="instant.paths-module.html#delete_temp_dir"
- >instant.paths.delete_temp_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_default_cache_dir"
- >instant.paths.get_default_cache_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_instant_dir"
- >instant.paths.get_instant_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_temp_dir"
- >instant.paths.get_temp_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#validate_cache_dir"
- >instant.paths.validate_cache_dir</a><br /> <div class="private">
- <a target="mainFrame" href="instant.signatures-module.html#_test"
- >instant.signatures._test</a><br /> </div>
- <a target="mainFrame" href="instant.signatures-module.html#compute_checksum"
- >instant.signatures.compute_checksum</a><br /> <h2 class="toc">All Variables</h2>
- <a target="mainFrame" href="instant-module.html#__package__"
- >instant.__package__</a><br /> <a target="mainFrame" href="instant.build-module.html#__package__"
- >instant.build.__package__</a><br /> <a target="mainFrame" href="instant.cache-module.html#__package__"
- >instant.cache.__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.cache-module.html#_memory_cache"
- >instant.cache._memory_cache</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.cache-module.html#_modulename_prefix"
- >instant.cache._modulename_prefix</a><br /> </div>
- <a target="mainFrame" href="instant.codegeneration-module.html#__package__"
- >instant.codegeneration.__package__</a><br /> <a target="mainFrame" href="instant.config-module.html#__package__"
- >instant.config.__package__</a><br /> <a target="mainFrame" href="instant.inlining-module.html#__package__"
- >instant.inlining.__package__</a><br /> <a target="mainFrame" href="instant.locking-module.html#__package__"
- >instant.locking.__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_count"
- >instant.locking._lock_count</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_files"
- >instant.locking._lock_files</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_names"
- >instant.locking._lock_names</a><br /> </div>
- <a target="mainFrame" href="instant.output-module.html#__package__"
- >instant.output.__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.output-module.html#_log"
- >instant.output._log</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.output-module.html#_loghandler"
- >instant.output._loghandler</a><br /> </div>
- <a target="mainFrame" href="instant.paths-module.html#__package__"
- >instant.paths.__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.paths-module.html#_tmp_dir"
- >instant.paths._tmp_dir</a><br /> </div>
- <a target="mainFrame" href="instant.signatures-module.html#__package__"
- >instant.signatures.__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant-module.html b/doc/html_reference/toc-instant-module.html
deleted file mode 100644
index f875247..0000000
--- a/doc/html_reference/toc-instant-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>instant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module instant</h1>
-<hr />
- <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.build-module.html b/doc/html_reference/toc-instant.build-module.html
deleted file mode 100644
index 0fcbad4..0000000
--- a/doc/html_reference/toc-instant.build-module.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>build</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module build</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.build-module.html#arg_strings"
- >arg_strings</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_bool"
- >assert_is_bool</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_str"
- >assert_is_str</a><br /> <a target="mainFrame" href="instant.build-module.html#assert_is_str_list"
- >assert_is_str_list</a><br /> <a target="mainFrame" href="instant.build-module.html#build_module"
- >build_module</a><br /> <a target="mainFrame" href="instant.build-module.html#copy_files"
- >copy_files</a><br /> <a target="mainFrame" href="instant.build-module.html#copy_to_cache"
- >copy_to_cache</a><br /> <a target="mainFrame" href="instant.build-module.html#recompile"
- >recompile</a><br /> <a target="mainFrame" href="instant.build-module.html#strip_strings"
- >strip_strings</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.build-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.cache-module.html b/doc/html_reference/toc-instant.cache-module.html
deleted file mode 100644
index 3013201..0000000
--- a/doc/html_reference/toc-instant.cache-module.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>cache</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module cache</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.cache-module.html#cached_modules"
- >cached_modules</a><br /> <a target="mainFrame" href="instant.cache-module.html#check_disk_cache"
- >check_disk_cache</a><br /> <a target="mainFrame" href="instant.cache-module.html#check_memory_cache"
- >check_memory_cache</a><br /> <a target="mainFrame" href="instant.cache-module.html#checksum_from_modulename"
- >checksum_from_modulename</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_and_cache_module"
- >import_and_cache_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_module"
- >import_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#import_module_directly"
- >import_module_directly</a><br /> <a target="mainFrame" href="instant.cache-module.html#is_valid_module_name"
- >is_valid_module_name</a><br /> <a target="mainFrame" href="instant.cache-module.html#memory_cached_module"
- >memory_cached_module</a><br /> <a target="mainFrame" href="instant.cache-module.html#modulename_from_checksum"
- >modulename_from_checksum</a><br /> <a target="mainFrame" href="instant.cache-module.html#place_module_in_memory_cache"
- >place_module_in_memory_cache</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.cache-module.html#__package__"
- >__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.cache-module.html#_memory_cache"
- >_memory_cache</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.cache-module.html#_modulename_prefix"
- >_modulename_prefix</a><br /> </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.codegeneration-module.html b/doc/html_reference/toc-instant.codegeneration-module.html
deleted file mode 100644
index 2fd6f12..0000000
--- a/doc/html_reference/toc-instant.codegeneration-module.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>codegeneration</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module codegeneration</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <div class="private">
- <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_interfacefile"
- >_test_write_interfacefile</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_setup"
- >_test_write_setup</a><br /> </div>
- <a target="mainFrame" href="instant.codegeneration-module.html#mapstrings"
- >mapstrings</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#reindent"
- >reindent</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#write_interfacefile"
- >write_interfacefile</a><br /> <a target="mainFrame" href="instant.codegeneration-module.html#write_setup"
- >write_setup</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.codegeneration-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.config-module.html b/doc/html_reference/toc-instant.config-module.html
deleted file mode 100644
index a64e366..0000000
--- a/doc/html_reference/toc-instant.config-module.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module config</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.config-module.html#check_swig_version"
- >check_swig_version</a><br /> <a target="mainFrame" href="instant.config-module.html#get_swig_version"
- >get_swig_version</a><br /> <a target="mainFrame" href="instant.config-module.html#header_and_libs_from_pkgconfig"
- >header_and_libs_from_pkgconfig</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.config-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.inlining-module.html b/doc/html_reference/toc-instant.inlining-module.html
deleted file mode 100644
index e616abe..0000000
--- a/doc/html_reference/toc-instant.inlining-module.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>inlining</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module inlining</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.inlining-module.html#get_func_name"
- >get_func_name</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline"
- >inline</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_module"
- >inline_module</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_module_with_numpy"
- >inline_module_with_numpy</a><br /> <a target="mainFrame" href="instant.inlining-module.html#inline_with_numpy"
- >inline_with_numpy</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.inlining-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.locking-module.html b/doc/html_reference/toc-instant.locking-module.html
deleted file mode 100644
index 32a08a0..0000000
--- a/doc/html_reference/toc-instant.locking-module.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>locking</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module locking</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.locking-module.html#get_lock"
- >get_lock</a><br /> <a target="mainFrame" href="instant.locking-module.html#release_all_locks"
- >release_all_locks</a><br /> <a target="mainFrame" href="instant.locking-module.html#release_lock"
- >release_lock</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.locking-module.html#__package__"
- >__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_count"
- >_lock_count</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_files"
- >_lock_files</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.locking-module.html#_lock_names"
- >_lock_names</a><br /> </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.output-module.html b/doc/html_reference/toc-instant.output-module.html
deleted file mode 100644
index a13f027..0000000
--- a/doc/html_reference/toc-instant.output-module.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>output</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module output</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="instant.output-module.html#get_log_handler"
- >get_log_handler</a><br /> <a target="mainFrame" href="instant.output-module.html#get_logger"
- >get_logger</a><br /> <a target="mainFrame" href="instant.output-module.html#get_status_output"
- >get_status_output</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_assert"
- >instant_assert</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_debug"
- >instant_debug</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_error"
- >instant_error</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_info"
- >instant_info</a><br /> <a target="mainFrame" href="instant.output-module.html#instant_warning"
- >instant_warning</a><br /> <a target="mainFrame" href="instant.output-module.html#set_log_handler"
- >set_log_handler</a><br /> <a target="mainFrame" href="instant.output-module.html#set_logging_level"
- >set_logging_level</a><br /> <a target="mainFrame" href="instant.output-module.html#write_file"
- >write_file</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.output-module.html#__package__"
- >__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.output-module.html#_log"
- >_log</a><br /> </div>
- <div class="private">
- <a target="mainFrame" href="instant.output-module.html#_loghandler"
- >_loghandler</a><br /> </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.paths-module.html b/doc/html_reference/toc-instant.paths-module.html
deleted file mode 100644
index 1e8f10d..0000000
--- a/doc/html_reference/toc-instant.paths-module.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paths</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module paths</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <div class="private">
- <a target="mainFrame" href="instant.paths-module.html#_test"
- >_test</a><br /> </div>
- <a target="mainFrame" href="instant.paths-module.html#delete_temp_dir"
- >delete_temp_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_default_cache_dir"
- >get_default_cache_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_instant_dir"
- >get_instant_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#get_temp_dir"
- >get_temp_dir</a><br /> <a target="mainFrame" href="instant.paths-module.html#validate_cache_dir"
- >validate_cache_dir</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.paths-module.html#__package__"
- >__package__</a><br /> <div class="private">
- <a target="mainFrame" href="instant.paths-module.html#_tmp_dir"
- >_tmp_dir</a><br /> </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.signatures-module.html b/doc/html_reference/toc-instant.signatures-module.html
deleted file mode 100644
index 541c511..0000000
--- a/doc/html_reference/toc-instant.signatures-module.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>signatures</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module signatures</h1>
-<hr />
- <h2 class="toc">Functions</h2>
- <div class="private">
- <a target="mainFrame" href="instant.signatures-module.html#_test"
- >_test</a><br /> </div>
- <a target="mainFrame" href="instant.signatures-module.html#compute_checksum"
- >compute_checksum</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="instant.signatures-module.html#__package__"
- >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc.html b/doc/html_reference/toc.html
deleted file mode 100644
index 2de3c5a..0000000
--- a/doc/html_reference/toc.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Table of Contents</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Table of Contents</h1>
-<hr />
- <a target="moduleFrame" href="toc-everything.html">Everything</a>
- <br />
- <h2 class="toc">Modules</h2>
- <a target="moduleFrame" href="toc-instant-module.html"
- onclick="setFrame('toc-instant-module.html','instant-module.html');" >instant</a><br /> <a target="moduleFrame" href="toc-instant.build-module.html"
- onclick="setFrame('toc-instant.build-module.html','instant.build-module.html');" >instant.build</a><br /> <a target="moduleFrame" href="toc-instant.cache-module.html"
- onclick="setFrame('toc-instant.cache-module.html','instant.cache-module.html');" >instant.cache</a><br /> <a target="moduleFrame" href="toc-instant.codegeneration-module.html"
- onclick="setFrame('toc-instant.codegeneration-module.html','instant.codegeneration-module.html');" >instant.codegeneration</a><br /> <a target="moduleFrame" href="toc-instant.config-module.html"
- onclick="setFrame('toc-instant.config-module.html','instant.config-module.html');" >instant.config</a><br /> <a target="moduleFrame" href="toc-instant.inlining-module.html"
- onclick="setFrame('toc-instant.inlining-module.html','instant.inlining-module.html');" >instant.inlining</a><br /> <a target="moduleFrame" href="toc-instant.locking-module.html"
- onclick="setFrame('toc-instant.locking-module.html','instant.locking-module.html');" >instant.locking</a><br /> <a target="moduleFrame" href="toc-instant.output-module.html"
- onclick="setFrame('toc-instant.output-module.html','instant.output-module.html');" >instant.output</a><br /> <a target="moduleFrame" href="toc-instant.paths-module.html"
- onclick="setFrame('toc-instant.paths-module.html','instant.paths-module.html');" >instant.paths</a><br /> <a target="moduleFrame" href="toc-instant.signatures-module.html"
- onclick="setFrame('toc-instant.signatures-module.html','instant.signatures-module.html');" >instant.signatures</a><br /><hr />
- <span class="options">[<a href="javascript:void(0);" class="privatelink"
- onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/doc/makedoc.sh b/doc/makedoc.sh
deleted file mode 100755
index c0262a7..0000000
--- a/doc/makedoc.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -x
-
-epydoc -c white -o html_reference \
--v -u http://www.fenics.org/instant \
---html ../src/instant/*.py
-
diff --git a/doc/sphinx/Makefile b/doc/sphinx/Makefile
new file mode 100644
index 0000000..e3611bc
--- /dev/null
+++ b/doc/sphinx/Makefile
@@ -0,0 +1,177 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Instant.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Instant.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/Instant"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Instant"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/doc/sphinx/README b/doc/sphinx/README
new file mode 100644
index 0000000..0859d21
--- /dev/null
+++ b/doc/sphinx/README
@@ -0,0 +1,27 @@
+====================
+Sphinx documentation
+====================
+
+Instant is documented using Sphinx and reStructured text. The
+documnentation is hosted at
+http://fenics-instant.readthedocs.org/. The online documentation is
+automatically updated upon pushes to the Instant master branch.
+
+
+Updating the API documentation
+==============================
+
+If the Instant API is changed, the script::
+
+ ./generate-apidoc
+
+must be run to update the autodoc file. The script can be run from any
+directory.
+
+
+Building the documentation locally
+==================================
+
+The HTML documentation can be built locally using::
+
+ make html
diff --git a/doc/sphinx/generate-apidoc b/doc/sphinx/generate-apidoc
new file mode 100755
index 0000000..a2c12ee
--- /dev/null
+++ b/doc/sphinx/generate-apidoc
@@ -0,0 +1,29 @@
+# Copyright (C) 2015 Garth N. Wells
+#
+# This file is part of UFL.
+#
+# UFL is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# UFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with UFL. If not, see <http://www.gnu.org/licenses/>.
+
+# This script calls sphinx-apidoc to generate files ready for autodoc
+
+echo ""
+echo "--- Generating Instant autodoc RST files"
+echo ""
+
+# Get location of Sphinx files
+SPHINX_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+SPHINX_SOURCE_DIR=$SPHINX_DIR/source
+
+# Generate .rst files ready for autodoc
+sphinx-apidoc -f -d 1 -o $SPHINX_SOURCE_DIR/api-doc $SPHINX_DIR/../../instant
diff --git a/doc/sphinx/source/api-doc/instant.rst b/doc/sphinx/source/api-doc/instant.rst
new file mode 100644
index 0000000..4fcb5b9
--- /dev/null
+++ b/doc/sphinx/source/api-doc/instant.rst
@@ -0,0 +1,86 @@
+instant package
+===============
+
+Submodules
+----------
+
+instant.build module
+--------------------
+
+.. automodule:: instant.build
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.cache module
+--------------------
+
+.. automodule:: instant.cache
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.codegeneration module
+-----------------------------
+
+.. automodule:: instant.codegeneration
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.config module
+---------------------
+
+.. automodule:: instant.config
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.inlining module
+-----------------------
+
+.. automodule:: instant.inlining
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.locking module
+----------------------
+
+.. automodule:: instant.locking
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.output module
+---------------------
+
+.. automodule:: instant.output
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.paths module
+--------------------
+
+.. automodule:: instant.paths
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+instant.signatures module
+-------------------------
+
+.. automodule:: instant.signatures
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: instant
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/sphinx/source/api-doc/modules.rst b/doc/sphinx/source/api-doc/modules.rst
new file mode 100644
index 0000000..9bb1943
--- /dev/null
+++ b/doc/sphinx/source/api-doc/modules.rst
@@ -0,0 +1,7 @@
+instant
+=======
+
+.. toctree::
+ :maxdepth: 1
+
+ instant
diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py
new file mode 100644
index 0000000..3f0488d
--- /dev/null
+++ b/doc/sphinx/source/conf.py
@@ -0,0 +1,271 @@
+# -*- coding: utf-8 -*-
+#
+# Instant documentation build configuration file, created by
+# sphinx-quickstart on Wed Nov 4 14:07:57 2015.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.doctest',
+ 'sphinx.ext.intersphinx',
+ 'sphinx.ext.coverage',
+ 'sphinx.ext.mathjax',
+ 'sphinx.ext.viewcode',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Instant'
+copyright = u'2015, FEniCS Project'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+import instant
+instant_version = instant.__version__
+# The short X.Y version.
+version = instant_version
+# The full version, including alpha/beta/rc tags.
+release = instant_version
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'Instantdoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+# author, documentclass [howto, manual, or own class]).
+latex_documents = [
+ ('index', 'Instant.tex', u'Instant Documentation',
+ u'FEniCS Project', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ ('index', 'instant', u'Instant Documentation',
+ [u'FEniCS Project'], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ ('index', 'Instant', u'Instant Documentation',
+ u'FEniCS Project', 'Instant', 'One line description of project.',
+ 'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
+
+
+# Example configuration for intersphinx: refer to the Python standard library.
+intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst
new file mode 100644
index 0000000..26a705d
--- /dev/null
+++ b/doc/sphinx/source/index.rst
@@ -0,0 +1,25 @@
+
+Instant
+=======
+
+Instant is a Python module that allows for instant inlining of C and
+C++ code in Python. It is a small Python module built on top of SWIG
+and distutils. It is part of the FEniCS Project
+(http://fenicsproject.org).
+
+Instant development takes place on Bitbucket at
+https://bitbucket.org/fenics-project/instant.
+
+
+Documentation
+-------------
+
+.. toctree::
+ :titlesonly:
+
+ api-doc/instant
+ releases
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/doc/sphinx/source/releases.rst b/doc/sphinx/source/releases.rst
new file mode 100644
index 0000000..57717e7
--- /dev/null
+++ b/doc/sphinx/source/releases.rst
@@ -0,0 +1,8 @@
+Release notes
+=============
+
+.. toctree::
+ :maxdepth: 2
+
+ releases/next
+ releases/v1.6.0
diff --git a/doc/sphinx/source/releases/next.rst b/doc/sphinx/source/releases/next.rst
new file mode 100644
index 0000000..7287586
--- /dev/null
+++ b/doc/sphinx/source/releases/next.rst
@@ -0,0 +1,2 @@
+Changes in the next release of Instant
+======================================
diff --git a/doc/sphinx/source/releases/v1.6.0.rst b/doc/sphinx/source/releases/v1.6.0.rst
new file mode 100644
index 0000000..13aab14
--- /dev/null
+++ b/doc/sphinx/source/releases/v1.6.0.rst
@@ -0,0 +1,6 @@
+Changes in Instant 1.6.0
+========================
+
+Instant 1.6.0 was released on 2015-07-28
+
+- Minor bug fixes
diff --git a/instant/__init__.py b/instant/__init__.py
index 8ac67b9..8872161 100644
--- a/instant/__init__.py
+++ b/instant/__init__.py
@@ -13,12 +13,12 @@ C{inline*} see their documentation for more details.
For more examples, see the tests/ directory in the Instant distribution.
-Questions, bugs and patches should be sent to fenics at fenicsproject.org.
+Questions, bugs and patches should be sent to fenics-dev at googlegroups.com.
"""
__authors__ = "Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin Alnes <martinal at simula.no>, Ilmar M. Wilbers <ilmarw at simula.no>"
-__date__ = "2015-07-28"
-__version__ = "1.6.0"
+__date__ = "2016-06-23"
+__version__ = "2016.1.0"
# TODO: Import only the official interface
from .output import *
diff --git a/instant/codegeneration.py b/instant/codegeneration.py
index 44f3da0..da8ca26 100644
--- a/instant/codegeneration.py
+++ b/instant/codegeneration.py
@@ -404,8 +404,8 @@ endif()
for package in cmake_packages)
cmake_form["package_include_dirs"] = "\n".join(\
- "include_directories(${%s_PYTHON_INCLUDE_DIRS} ${${NAME}_SOURCE_DIR})" %
- package.upper() for package in cmake_packages)
+ "include_directories(${%(package)s_PYTHON_INCLUDE_DIRS} ${%(package)s_3RD_PARTY_INCLUDE_DIRS} ${${NAME}_SOURCE_DIR})" %
+ dict(package=package.upper()) for package in cmake_packages)
cmake_form["package_flags"] = "\n".join(\
"""set(CMAKE_EXE_LINKER_FLAGS \"${CMAKE_EXE_LINKER_FLAGS} ${%(package)s_LINK_FLAGS}\")
diff --git a/setup.py b/setup.py
index cbaf1ca..2e46942 100755
--- a/setup.py
+++ b/setup.py
@@ -2,13 +2,18 @@
import sys, platform, re
from os.path import join, split, pardir
-from distutils.core import setup
+
+try:
+ from setuptools import setup
+except ImportError:
+ from distutils.core import setup
if sys.version_info < (2, 7):
print("Python 2.7 or higher required, please upgrade.")
sys.exit(1)
-scripts = [join("scripts", "instant-clean"), join("scripts", "instant-showcache")]
+scripts = [join("scripts", "instant-clean"),
+ join("scripts", "instant-showcache")]
if platform.system() == "Windows" or "bdist_wininst" in sys.argv:
# In the Windows command prompt we can't execute Python scripts
@@ -26,16 +31,23 @@ if platform.system() == "Windows" or "bdist_wininst" in sys.argv:
version = re.findall('__version__ = "(.*)"',
open('instant/__init__.py', 'r').read())[0]
+url = "https://bitbucket.org/fenics-project/instant/"
+tarball = None
+if not 'dev' in version:
+ tarball = url + "downloads/instant-%s.tar.gz" % version
+
setup(name = "instant",
version = version,
description = "Instant Inlining of C/C++ in Python",
author = "Magne Westlie, Kent-Andre Mardal, Martin Sandve Alnes and Ilmar M. Wilbers",
- author_email = "kent-and at simula.no, martinal at simula.no, ilmarw at simula.no",
- url = "http://www.fenicsproject.org",
+ author_email = "fenics-dev at googlegroups.com",
+ url = url,
+ download_url = tarball,
packages = ['instant'],
package_dir = {'instant': 'instant'},
package_data = {'': [join('swig', 'numpy.i')]},
scripts = scripts,
+ install_requires = ["numpy"],
data_files = [(join("share", "man", "man1"),
[join("doc", "man", "man1", "instant-clean.1.gz"),
join("doc", "man", "man1", "instant-showcache.1.gz")])]
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/fenics/instant.git
More information about the debian-science-commits
mailing list