[xmds2] 01/02: Imported Upstream version 2.2.2~rc1
Rafael Laboissière
rlaboiss-guest at moszumanska.debian.org
Sat Oct 11 18:04:04 UTC 2014
This is an automated email from the git hooks/post-receive script.
rlaboiss-guest pushed a commit to branch master
in repository xmds2.
commit 67fb17cf98d1e093a70d7ded19afa7572b4683d6
Author: Rafael Laboissiere <rafael at laboissiere.net>
Date: Sat Oct 11 08:53:41 2014 -0300
Imported Upstream version 2.2.2~rc1
---
documentation/.buildinfo | 4 +-
documentation/_static/basic.css | 7 +-
documentation/_static/default.css | 2 +-
documentation/_static/doctools.js | 19 +-
documentation/_static/jquery.js | 156 +--
documentation/_static/searchtools.js | 362 ++++---
documentation/_static/sidebar.js | 14 +-
documentation/_static/underscore.js | 50 +-
documentation/_static/websupport.js | 2 +-
documentation/advanced_topics.html | 18 +-
documentation/bulirschStoer.html | 20 +-
documentation/developer.html | 18 +-
documentation/doctrees/advanced_topics.doctree | Bin 52275 -> 52108 bytes
documentation/doctrees/bulirschStoer.doctree | Bin 20718 -> 20586 bytes
documentation/doctrees/developer.doctree | Bin 92922 -> 92785 bytes
documentation/doctrees/documentation_toc.doctree | Bin 3873 -> 3767 bytes
documentation/doctrees/environment.pickle | Bin 97493 -> 97696 bytes
documentation/doctrees/faq.doctree | Bin 30155 -> 30024 bytes
documentation/doctrees/index.doctree | Bin 52560 -> 52488 bytes
documentation/doctrees/installation.doctree | Bin 110242 -> 110111 bytes
documentation/doctrees/introduction.doctree | Bin 24110 -> 23979 bytes
documentation/doctrees/licensing.doctree | Bin 114118 -> 113984 bytes
documentation/doctrees/news.doctree | Bin 47172 -> 47080 bytes
documentation/doctrees/news_content.doctree | Bin 45578 -> 45444 bytes
documentation/doctrees/optimisation_hints.doctree | Bin 57173 -> 57032 bytes
documentation/doctrees/reference_elements.doctree | Bin 461641 -> 460522 bytes
documentation/doctrees/reference_index.doctree | Bin 3235 -> 3131 bytes
...eference_installation_and_configuration.doctree | Bin 12693 -> 12531 bytes
documentation/doctrees/reference_schema.doctree | Bin 67561 -> 67415 bytes
.../doctrees/reference_usefulXMLSyntax.doctree | Bin 4588 -> 4453 bytes
documentation/doctrees/tutorial.doctree | Bin 49005 -> 48875 bytes
documentation/doctrees/upgrade.doctree | Bin 6065 -> 5939 bytes
documentation/doctrees/worked_examples.doctree | Bin 196994 -> 196913 bytes
documentation/doctrees/xsil2graphics2.doctree | Bin 6001 -> 5868 bytes
documentation/documentation_toc.html | 18 +-
documentation/faq.html | 18 +-
documentation/genindex.html | 19 +-
documentation/index.html | 18 +-
documentation/installation.html | 18 +-
documentation/introduction.html | 18 +-
documentation/latex/Makefile | 4 +-
documentation/latex/fncychap.sty | 683 +++++++++++++
documentation/latex/sphinx.sty | 524 ++++++++++
documentation/latex/sphinxhowto.cls | 104 ++
documentation/latex/sphinxmanual.cls | 148 +++
documentation/latex/tabulary.sty | 452 +++++++++
documentation/latex/xmds2.aux | 180 ++--
documentation/latex/xmds2.idx | 98 +-
documentation/latex/xmds2.ilg | 4 +-
documentation/latex/xmds2.ind | 94 +-
documentation/latex/xmds2.log | 609 ++++++------
documentation/latex/xmds2.pdf | Bin 7004746 -> 7011644 bytes
documentation/latex/xmds2.tex | 471 ++++-----
documentation/latex/xmds2.toc | 42 +-
documentation/licensing.html | 18 +-
documentation/news.html | 18 +-
documentation/news_content.html | 18 +-
documentation/objects.inv | Bin 1920 -> 2085 bytes
documentation/optimisation_hints.html | 21 +-
documentation/reference_elements.html | 18 +-
documentation/reference_index.html | 44 +-
.../reference_installation_and_configuration.html | 18 +-
documentation/reference_schema.html | 18 +-
documentation/reference_usefulXMLSyntax.html | 18 +-
documentation/search.html | 20 +-
documentation/searchindex.js | 2 +-
documentation/tutorial.html | 18 +-
documentation/upgrade.html | 18 +-
documentation/worked_examples.html | 18 +-
documentation/xsil2graphics2.html | 18 +-
setup.py | 2 +-
xpdeint/Features/Arguments.py | 6 +-
xpdeint/Features/AsciiFormat.py | 6 +-
xpdeint/Features/AutoVectorise.py | 6 +-
xpdeint/Features/Benchmark.py | 6 +-
xpdeint/Features/BinaryFormat.py | 6 +-
xpdeint/Features/Bing.py | 6 +-
xpdeint/Features/CFlags.py | 6 +-
xpdeint/Features/ChunkedOutput.py | 6 +-
xpdeint/Features/Diagnostics.py | 6 +-
xpdeint/Features/ErrorCheck.py | 6 +-
xpdeint/Features/Globals.py | 6 +-
xpdeint/Features/HDF5Format.py | 6 +-
xpdeint/Features/HaltNonFinite.py | 6 +-
xpdeint/Features/MaxIterations.py | 6 +-
xpdeint/Features/OpenMP.py | 6 +-
xpdeint/Features/Output.py | 6 +-
xpdeint/Features/OutputFormat.py | 10 +-
xpdeint/Features/Stochastic.py | 6 +-
xpdeint/Features/Transforms/Basis.py | 6 +-
xpdeint/Features/Transforms/BesselBasis.py | 6 +-
.../Features/Transforms/BesselNeumannTransform.py | 6 +-
xpdeint/Features/Transforms/BesselTransform.py | 6 +-
xpdeint/Features/Transforms/EPBasis.py | 6 +-
.../Features/Transforms/FourierTransformFFTW3.py | 6 +-
.../Transforms/FourierTransformFFTW3MPI.py | 6 +-
.../Transforms/FourierTransformFFTW3Threads.py | 6 +-
xpdeint/Features/Transforms/HermiteGaussEPBasis.py | 6 +-
.../Transforms/HermiteGaussFourierEPBasis.py | 6 +-
.../Features/Transforms/HermiteGaussTransform.py | 6 +-
.../Transforms/HermiteGaussTwiddleBasis.py | 6 +-
xpdeint/Features/Transforms/MMT.py | 6 +-
xpdeint/Features/Transforms/NoTransformMPI.py | 6 +-
.../Features/Transforms/TransformMultiplexer.py | 6 +-
xpdeint/Features/Validation.py | 6 +-
xpdeint/Geometry/BesselDimensionRepresentation.py | 6 +-
.../BesselNeumannDimensionRepresentation.py | 6 +-
xpdeint/Geometry/DimensionRepresentation.py | 6 +-
xpdeint/Geometry/FieldElement.py | 6 +-
xpdeint/Geometry/GeometryElement.py | 6 +-
.../HermiteGaussDimensionRepresentation.py | 6 +-
.../Geometry/NonUniformDimensionRepresentation.py | 6 +-
.../SphericalBesselDimensionRepresentation.py | 6 +-
.../SplitUniformDimensionRepresentation.py | 6 +-
xpdeint/Geometry/UniformDimensionRepresentation.py | 6 +-
xpdeint/HDF5.py | 28 +-
xpdeint/MomentGroupElement.py | 6 +-
xpdeint/Operators/ConstantEXOperator.py | 6 +-
xpdeint/Operators/ConstantIPOperator.py | 6 +-
xpdeint/Operators/CrossPropagationOperator.py | 6 +-
xpdeint/Operators/DeltaAOperator.py | 6 +-
xpdeint/Operators/FilterOperator.py | 6 +-
xpdeint/Operators/FunctionsOperator.py | 6 +-
xpdeint/Operators/NonConstantEXOperator.py | 6 +-
xpdeint/Operators/NonConstantIPOperator.py | 6 +-
xpdeint/Operators/Operator.py | 6 +-
xpdeint/Operators/OperatorContainer.py | 28 +-
xpdeint/Operators/SICDeltaAOperator.py | 6 +-
xpdeint/Preferences.py | 2 +-
xpdeint/ScriptElement.py | 28 +-
xpdeint/Segments/BreakpointSegment.py | 6 +-
xpdeint/Segments/FilterSegment.py | 6 +-
xpdeint/Segments/Integrators/AdaptiveStep.py | 6 +-
xpdeint/Segments/Integrators/FixedStep.py | 28 +-
xpdeint/Segments/Integrators/FixedStepWithCross.py | 6 +-
xpdeint/Segments/Integrators/Integrator.py | 6 +-
xpdeint/Segments/Integrators/MMStepper.py | 6 +-
xpdeint/Segments/Integrators/RK45Stepper.py | 6 +-
xpdeint/Segments/Integrators/RK4Stepper.py | 6 +-
xpdeint/Segments/Integrators/RK89Stepper.py | 6 +-
xpdeint/Segments/Integrators/RK9Stepper.py | 6 +-
.../Segments/Integrators/RichardsonFixedStep.py | 6 +-
xpdeint/Segments/Integrators/SICStepper.py | 6 +-
xpdeint/Segments/Integrators/SIStepper.py | 6 +-
xpdeint/Segments/SequenceSegment.py | 6 +-
xpdeint/Segments/TopLevelSequenceElement.py | 6 +-
xpdeint/Simulation.py | 6 +-
.../AdaptiveMPIMultiPathDriver.py | 6 +-
xpdeint/SimulationDrivers/DistributedMPIDriver.py | 28 +-
xpdeint/SimulationDrivers/MPI.py | 6 +-
xpdeint/SimulationDrivers/MPIMultiPathDriver.py | 6 +-
xpdeint/SimulationDrivers/MultiPathDriver.py | 28 +-
xpdeint/SimulationDrivers/SimulationDriver.py | 6 +-
xpdeint/SimulationElement.py | 6 +-
xpdeint/Stochastic/Generators/DSFMTGenerator.py | 6 +-
xpdeint/Stochastic/Generators/Generator.py | 6 +-
xpdeint/Stochastic/Generators/MKLGenerator.py | 6 +-
xpdeint/Stochastic/Generators/POSIXGenerator.py | 6 +-
xpdeint/Stochastic/Generators/SolirteGenerator.py | 6 +-
.../GaussianBoxMuellerRandomVariable.py | 6 +-
.../RandomVariables/GaussianMKLRandomVariable.py | 6 +-
.../RandomVariables/GaussianRandomVariable.py | 28 +-
.../GaussianSolirteRandomVariable.py | 6 +-
.../RandomVariables/PoissonianRandomVariable.py | 50 +-
.../RandomVariables/UniformRandomVariable.py | 6 +-
xpdeint/Vectors/ComputedVector.py | 6 +-
xpdeint/Vectors/NoiseVector.py | 6 +-
xpdeint/Vectors/VectorElement.py | 28 +-
xpdeint/Vectors/VectorInitialisation.py | 6 +-
xpdeint/Vectors/VectorInitialisationFromCDATA.py | 6 +-
xpdeint/Vectors/VectorInitialisationFromHDF5.py | 6 +-
xpdeint/Vectors/VectorInitialisationFromXSIL.py | 1024 ++++++++++++++++++++
xpdeint/Version.py | 2 +-
xpdeint/support/trang.jar | Bin 0 -> 710214 bytes
xpdeint/support/wscript | 72 +-
xpdeint/waf/waflib/Build.pyc | Bin 0 -> 44843 bytes
xpdeint/waf/waflib/ConfigSet.pyc | Bin 0 -> 12023 bytes
xpdeint/waf/waflib/Configure.pyc | Bin 0 -> 19414 bytes
xpdeint/waf/waflib/Context.pyc | Bin 0 -> 18259 bytes
xpdeint/waf/waflib/Errors.pyc | Bin 0 -> 3604 bytes
xpdeint/waf/waflib/Logs.pyc | Bin 0 -> 10154 bytes
xpdeint/waf/waflib/Node.pyc | Bin 0 -> 26917 bytes
xpdeint/waf/waflib/Options.pyc | Bin 0 -> 9300 bytes
xpdeint/waf/waflib/Runner.pyc | Bin 0 -> 10745 bytes
xpdeint/waf/waflib/Scripting.pyc | Bin 0 -> 18878 bytes
xpdeint/waf/waflib/Task.pyc | Bin 0 -> 39269 bytes
xpdeint/waf/waflib/TaskGen.pyc | Bin 0 -> 25459 bytes
xpdeint/waf/waflib/Tools/__init__.pyc | Bin 0 -> 189 bytes
xpdeint/waf/waflib/Tools/c_config.pyc | Bin 0 -> 40236 bytes
xpdeint/waf/waflib/Tools/c_preproc.pyc | Bin 0 -> 28326 bytes
xpdeint/waf/waflib/Utils.pyc | Bin 0 -> 21373 bytes
xpdeint/waf/waflib/__init__.pyc | Bin 0 -> 183 bytes
xpdeint/waf/waflib/ansiterm.pyc | Bin 0 -> 11972 bytes
xpdeint/waf/waflib/extras/__init__.pyc | Bin 0 -> 190 bytes
xpdeint/waf/waflib/extras/compat15.pyc | Bin 0 -> 11232 bytes
xpdeint/waf_extensions/cheetah.pyc | Bin 0 -> 1847 bytes
xpdeint/xsil2graphics2/MathematicaImport.py | 6 +-
xpdeint/xsil2graphics2/MatlabOctaveImport.py | 6 +-
xpdeint/xsil2graphics2/PythonImport.py | 6 +-
xpdeint/xsil2graphics2/RImport.py | 6 +-
200 files changed, 4661 insertions(+), 1762 deletions(-)
diff --git a/documentation/.buildinfo b/documentation/.buildinfo
index e76da15..9ff7e74 100644
--- a/documentation/.buildinfo
+++ b/documentation/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 255724fa0f98cc8ba825de9899897ccf
-tags: fbb0d17656682115ca4d033fb2f83ba1
+config: cb35481731d144682a9d5d4871ed7087
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/documentation/_static/basic.css b/documentation/_static/basic.css
index 43e8baf..967e36c 100644
--- a/documentation/_static/basic.css
+++ b/documentation/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -89,6 +89,7 @@ div.sphinxsidebar #searchbox input[type="submit"] {
img {
border: 0;
+ max-width: 100%;
}
/* -- search page ----------------------------------------------------------- */
@@ -401,10 +402,6 @@ dl.glossary dt {
margin: 0;
}
-.refcount {
- color: #060;
-}
-
.optional {
font-size: 1.3em;
}
diff --git a/documentation/_static/default.css b/documentation/_static/default.css
index 21f3f50..5f1399a 100644
--- a/documentation/_static/default.css
+++ b/documentation/_static/default.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- default theme.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/documentation/_static/doctools.js b/documentation/_static/doctools.js
index d4619fd..c5455c9 100644
--- a/documentation/_static/doctools.js
+++ b/documentation/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for all documentation.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -32,7 +32,7 @@ if (!window.console || !console.firebug) {
*/
jQuery.urldecode = function(x) {
return decodeURIComponent(x).replace(/\+/g, ' ');
-}
+};
/**
* small helper function to urlencode strings
@@ -62,18 +62,6 @@ jQuery.getQueryParameters = function(s) {
};
/**
- * small function to check if an array contains
- * a given item.
- */
-jQuery.contains = function(arr, item) {
- for (var i = 0; i < arr.length; i++) {
- if (arr[i] == item)
- return true;
- }
- return false;
-};
-
-/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
@@ -180,6 +168,9 @@ var Documentation = {
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
if (terms.length) {
var body = $('div.body');
+ if (!body.length) {
+ body = $('body');
+ }
window.setTimeout(function() {
$.each(terms, function() {
body.highlightText(this.toLowerCase(), 'highlighted');
diff --git a/documentation/_static/jquery.js b/documentation/_static/jquery.js
index 7c24308..83589da 100644
--- a/documentation/_static/jquery.js
+++ b/documentation/_static/jquery.js
@@ -1,154 +1,2 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j); [...]
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget) [...]
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g," [...]
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua [...]
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]* [...]
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if(( [...]
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagNam [...]
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.c [...]
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:fu [...]
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.i [...]
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMConten [...]
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"construc [...]
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Functi [...]
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d) [...]
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++ [...]
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d [...]
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if [...]
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left [...]
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select [...]
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCl [...]
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="non [...]
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embe [...]
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.rem [...]
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c. [...]
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a; [...]
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|inpu [...]
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.cla [...]
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+ [...]
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);thi [...]
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j< [...]
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",t [...]
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type proper [...]
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=functi [...]
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1) [...]
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n [...]
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove [...]
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf(" [...]
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(! [...]
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.e [...]
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange at [...]
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b. [...]
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.e [...]
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type) [...]
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented [...]
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submit [...]
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialS [...]
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_ [...]
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.t [...]
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventLi [...]
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a=== [...]
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return [...]
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j| [...]
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unl [...]
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++ [...]
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?: [...]
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g]) [...]
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||( [...]
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q [...]
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.spli [...]
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG" [...]
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attr [...]
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m+ [...]
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){ [...]
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG: [...]
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m [...]
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:functio [...]
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.no [...]
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q=== [...]
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0; [...]
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m [...]
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+) [...]
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocume [...]
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createR [...]
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!= [...]
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTM [...]
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l]; [...]
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPositi [...]
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Unti [...]
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f+ [...]
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=thi [...]
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||t [...]
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"par [...]
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeNam [...]
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeTy [...]
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b, [...]
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn. [...]
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(th [...]
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChi [...]
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.pa [...]
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChi [...]
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].i [...]
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith [...]
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagNam [...]
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childN [...]
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length=== [...]
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec [...]
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.pu [...]
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b [...]
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styl [...]
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")| [...]
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c [...]
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedSty [...]
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters. [...]
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:funct [...]
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}}) [...]
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess [...]
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url: [...]
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{} [...]
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka [...]
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;i [...]
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if [...]
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.se [...]
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q== [...]
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h [...]
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status== [...]
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="st [...]
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w) [...]
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a], [...]
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!==" [...]
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacit [...]
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){ [...]
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a [...]
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.f [...]
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this [...]
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.n [...]
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.st [...]
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this. [...]
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a [...]
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClien [...]
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:fun [...]
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.cu [...]
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o. [...]
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></d [...]
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j [...]
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b= [...]
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{ [...]
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pag [...]
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return" [...]
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
+/*! jQuery v1.8.3 jquery.com | jquery.org/license */
+(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){retur [...]
\ No newline at end of file
diff --git a/documentation/_static/searchtools.js b/documentation/_static/searchtools.js
index 663be4c..6e1f06b 100644
--- a/documentation/_static/searchtools.js
+++ b/documentation/_static/searchtools.js
@@ -4,38 +4,11 @@
*
* Sphinx JavaScript utilties for the full-text search.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
-/**
- * helper function to return a node containing the
- * search summary for a given text. keywords is a list
- * of stemmed words, hlwords is the list of normal, unstemmed
- * words. the first one is used to find the occurance, the
- * latter for highlighting it.
- */
-
-jQuery.makeSearchSummary = function(text, keywords, hlwords) {
- var textLower = text.toLowerCase();
- var start = 0;
- $.each(keywords, function() {
- var i = textLower.indexOf(this.toLowerCase());
- if (i > -1)
- start = i;
- });
- start = Math.max(start - 120, 0);
- var excerpt = ((start > 0) ? '...' : '') +
- $.trim(text.substr(start, 240)) +
- ((start + 240 - text.length) ? '...' : '');
- var rv = $('<div class="context"></div>').text(excerpt);
- $.each(hlwords, function() {
- rv = rv.highlightText(this, 'highlighted');
- });
- return rv;
-}
-
/**
* Porter Stemmer
@@ -220,6 +193,38 @@ var Stemmer = function() {
}
+
+/**
+ * Simple result scoring code.
+ */
+var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [filename, title, anchor, descr, score]
+ // and returns the new score.
+ /*
+ score: function(result) {
+ return result[4];
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5}, // used to be unimportantResults
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ // query found in terms
+ term: 5
+};
+
+
/**
* Search Module
*/
@@ -239,8 +244,13 @@ var Search = {
},
loadIndex : function(url) {
- $.ajax({type: "GET", url: url, data: null, success: null,
- dataType: "script", cache: true});
+ $.ajax({type: "GET", url: url, data: null,
+ dataType: "script", cache: true,
+ complete: function(jqxhr, textstatus) {
+ if (textstatus != "success") {
+ document.getElementById("searchindexloader").src = url;
+ }
+ }});
},
setIndex : function(index) {
@@ -268,19 +278,20 @@ var Search = {
if (this._pulse_status >= 0)
return;
function pulse() {
+ var i;
Search._pulse_status = (Search._pulse_status + 1) % 4;
var dotString = '';
- for (var i = 0; i < Search._pulse_status; i++)
+ for (i = 0; i < Search._pulse_status; i++)
dotString += '.';
Search.dots.text(dotString);
if (Search._pulse_status > -1)
window.setTimeout(pulse, 500);
- };
+ }
pulse();
},
/**
- * perform a search for something
+ * perform a search for something (or wait until index is loaded)
*/
performSearch : function(query) {
// create the required interface elements
@@ -300,41 +311,46 @@ var Search = {
this.deferQuery(query);
},
+ /**
+ * execute search (requires search index to be loaded)
+ */
query : function(query) {
- var stopwords = ["and","then","into","it","as","are","in","if","for","no","there","their","was","is","be","to","that","but","they","not","such","with","by","a","on","these","of","will","this","near","the","or","at"];
+ var i;
+ var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
- // Stem the searchterms and add them to the correct list
+ // stem the searchterms and add them to the correct list
var stemmer = new Stemmer();
var searchterms = [];
var excluded = [];
var hlterms = [];
var tmp = query.split(/\s+/);
var objectterms = [];
- for (var i = 0; i < tmp.length; i++) {
- if (tmp[i] != "") {
+ for (i = 0; i < tmp.length; i++) {
+ if (tmp[i] !== "") {
objectterms.push(tmp[i].toLowerCase());
}
- if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\d+$/) ||
- tmp[i] == "") {
+ if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
+ tmp[i] === "") {
// skip this "word"
continue;
}
// stem the word
- var word = stemmer.stemWord(tmp[i]).toLowerCase();
+ var word = stemmer.stemWord(tmp[i].toLowerCase());
+ var toAppend;
// select the correct list
if (word[0] == '-') {
- var toAppend = excluded;
+ toAppend = excluded;
word = word.substr(1);
}
else {
- var toAppend = searchterms;
+ toAppend = searchterms;
hlterms.push(tmp[i].toLowerCase());
}
// only add if not already in the list
- if (!$.contains(toAppend, word))
+ if (!$u.contains(toAppend, word))
toAppend.push(word);
- };
+ }
var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
// console.debug('SEARCH: searching for:');
@@ -342,89 +358,51 @@ var Search = {
// console.info('excluded: ', excluded);
// prepare search
- var filenames = this._index.filenames;
- var titles = this._index.titles;
var terms = this._index.terms;
- var fileMap = {};
- var files = null;
- // different result priorities
- var importantResults = [];
- var objectResults = [];
- var regularResults = [];
- var unimportantResults = [];
+ var titleterms = this._index.titleterms;
+
+ // array of [filename, title, anchor, descr, score]
+ var results = [];
$('#search-progress').empty();
// lookup as object
- for (var i = 0; i < objectterms.length; i++) {
- var others = [].concat(objectterms.slice(0,i),
- objectterms.slice(i+1, objectterms.length))
- var results = this.performObjectSearch(objectterms[i], others);
- // Assume first word is most likely to be the object,
- // other words more likely to be in description.
- // Therefore put matches for earlier words first.
- // (Results are eventually used in reverse order).
- objectResults = results[0].concat(objectResults);
- importantResults = results[1].concat(importantResults);
- unimportantResults = results[2].concat(unimportantResults);
+ for (i = 0; i < objectterms.length; i++) {
+ var others = [].concat(objectterms.slice(0, i),
+ objectterms.slice(i+1, objectterms.length));
+ results = results.concat(this.performObjectSearch(objectterms[i], others));
}
- // perform the search on the required terms
- for (var i = 0; i < searchterms.length; i++) {
- var word = searchterms[i];
- // no match but word was a required one
- if ((files = terms[word]) == null)
- break;
- if (files.length == undefined) {
- files = [files];
- }
- // create the mapping
- for (var j = 0; j < files.length; j++) {
- var file = files[j];
- if (file in fileMap)
- fileMap[file].push(word);
- else
- fileMap[file] = [word];
- }
- }
-
- // now check if the files don't contain excluded terms
- for (var file in fileMap) {
- var valid = true;
-
- // check if all requirements are matched
- if (fileMap[file].length != searchterms.length)
- continue;
-
- // ensure that none of the excluded terms is in the
- // search result.
- for (var i = 0; i < excluded.length; i++) {
- if (terms[excluded[i]] == file ||
- $.contains(terms[excluded[i]] || [], file)) {
- valid = false;
- break;
- }
- }
+ // lookup as search terms in fulltext
+ results = results.concat(this.performTermsSearch(searchterms, excluded, terms, Scorer.term))
+ .concat(this.performTermsSearch(searchterms, excluded, titleterms, Scorer.title));
- // if we have still a valid result we can add it
- // to the result list
- if (valid)
- regularResults.push([filenames[file], titles[file], '', null]);
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ for (i = 0; i < results.length; i++)
+ results[i][4] = Scorer.score(results[i]);
}
- // delete unused variables in order to not waste
- // memory until list is retrieved completely
- delete filenames, titles, terms;
-
- // now sort the regular results descending by title
- regularResults.sort(function(a, b) {
- var left = a[1].toLowerCase();
- var right = b[1].toLowerCase();
- return (left > right) ? -1 : ((left < right) ? 1 : 0);
+ // now sort the results by score (in opposite order of appearance, since the
+ // display function below uses pop() to retrieve items) and then
+ // alphabetically
+ results.sort(function(a, b) {
+ var left = a[4];
+ var right = b[4];
+ if (left > right) {
+ return 1;
+ } else if (left < right) {
+ return -1;
+ } else {
+ // same score: sort alphabetically
+ left = a[1].toLowerCase();
+ right = b[1].toLowerCase();
+ return (left > right) ? -1 : ((left < right) ? 1 : 0);
+ }
});
- // combine all results
- var results = unimportantResults.concat(regularResults)
- .concat(objectResults).concat(importantResults);
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ //console.info('search results:', Search.lastresults);
// print the results
var resultCount = results.length;
@@ -433,7 +411,7 @@ var Search = {
if (results.length) {
var item = results.pop();
var listItem = $('<li style="display:none"></li>');
- if (DOCUMENTATION_OPTIONS.FILE_SUFFIX == '') {
+ if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
// dirhtml builder
var dirname = item[0] + '/';
if (dirname.match(/\/index\/$/)) {
@@ -457,16 +435,18 @@ var Search = {
displayNextItem();
});
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
- $.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' +
- item[0] + '.txt', function(data) {
- if (data != '') {
- listItem.append($.makeSearchSummary(data, searchterms, hlterms));
- Search.output.append(listItem);
- }
- listItem.slideDown(5, function() {
- displayNextItem();
- });
- }, "text");
+ $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt',
+ dataType: "text",
+ complete: function(jqxhr, textstatus) {
+ var data = jqxhr.responseText;
+ if (data !== '') {
+ listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
+ }
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ }});
} else {
// no source available, just display title
Search.output.append(listItem);
@@ -489,20 +469,32 @@ var Search = {
displayNextItem();
},
+ /**
+ * search for object names
+ */
performObjectSearch : function(object, otherterms) {
var filenames = this._index.filenames;
var objects = this._index.objects;
var objnames = this._index.objnames;
var titles = this._index.titles;
- var importantResults = [];
- var objectResults = [];
- var unimportantResults = [];
+ var i;
+ var results = [];
for (var prefix in objects) {
for (var name in objects[prefix]) {
var fullname = (prefix ? prefix + '.' : '') + name;
if (fullname.toLowerCase().indexOf(object) > -1) {
+ var score = 0;
+ var parts = fullname.split('.');
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullname == object || parts[parts.length - 1] == object) {
+ score += Scorer.objNameMatch;
+ // matches in last name
+ } else if (parts[parts.length - 1].indexOf(object) > -1) {
+ score += Scorer.objPartialMatch;
+ }
var match = objects[prefix][name];
var objname = objnames[match[1]][2];
var title = titles[match[0]];
@@ -512,7 +504,7 @@ var Search = {
var haystack = (prefix + ' ' + name + ' ' +
objname + ' ' + title).toLowerCase();
var allfound = true;
- for (var i = 0; i < otherterms.length; i++) {
+ for (i = 0; i < otherterms.length; i++) {
if (haystack.indexOf(otherterms[i]) == -1) {
allfound = false;
break;
@@ -523,37 +515,107 @@ var Search = {
}
}
var descr = objname + _(', in ') + title;
- anchor = match[3];
- if (anchor == '')
+
+ var anchor = match[3];
+ if (anchor === '')
anchor = fullname;
else if (anchor == '-')
anchor = objnames[match[1]][1] + '-' + fullname;
- result = [filenames[match[0]], fullname, '#'+anchor, descr];
- switch (match[2]) {
- case 1: objectResults.push(result); break;
- case 0: importantResults.push(result); break;
- case 2: unimportantResults.push(result); break;
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2])) {
+ score += Scorer.objPrio[match[2]];
+ } else {
+ score += Scorer.objPrioDefault;
}
+ results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]);
}
}
}
- // sort results descending
- objectResults.sort(function(a, b) {
- return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
- });
+ return results;
+ },
- importantResults.sort(function(a, b) {
- return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
- });
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch : function(searchterms, excluded, terms, score) {
+ var filenames = this._index.filenames;
+ var titles = this._index.titles;
- unimportantResults.sort(function(a, b) {
- return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
- });
+ var i, j, file, files;
+ var fileMap = {};
+ var results = [];
+
+ // perform the search on the required terms
+ for (i = 0; i < searchterms.length; i++) {
+ var word = searchterms[i];
+ // no match but word was a required one
+ if ((files = terms[word]) === undefined)
+ break;
+ if (files.length === undefined) {
+ files = [files];
+ }
+ // create the mapping
+ for (j = 0; j < files.length; j++) {
+ file = files[j];
+ if (file in fileMap)
+ fileMap[file].push(word);
+ else
+ fileMap[file] = [word];
+ }
+ }
+
+ // now check if the files don't contain excluded terms
+ for (file in fileMap) {
+ var valid = true;
+
+ // check if all requirements are matched
+ if (fileMap[file].length != searchterms.length)
+ continue;
+
+ // ensure that none of the excluded terms is in the search result
+ for (i = 0; i < excluded.length; i++) {
+ if (terms[excluded[i]] == file ||
+ $u.contains(terms[excluded[i]] || [], file)) {
+ valid = false;
+ break;
+ }
+ }
+
+ // if we have still a valid result we can add it to the result list
+ if (valid) {
+ results.push([filenames[file], titles[file], '', null, score]);
+ }
+ }
+ return results;
+ },
- return [importantResults, objectResults, unimportantResults]
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words, hlwords is the list of normal, unstemmed
+ * words. the first one is used to find the occurance, the
+ * latter for highlighting it.
+ */
+ makeSearchSummary : function(text, keywords, hlwords) {
+ var textLower = text.toLowerCase();
+ var start = 0;
+ $.each(keywords, function() {
+ var i = textLower.indexOf(this.toLowerCase());
+ if (i > -1)
+ start = i;
+ });
+ start = Math.max(start - 120, 0);
+ var excerpt = ((start > 0) ? '...' : '') +
+ $.trim(text.substr(start, 240)) +
+ ((start + 240 - text.length) ? '...' : '');
+ var rv = $('<div class="context"></div>').text(excerpt);
+ $.each(hlwords, function() {
+ rv = rv.highlightText(this, 'highlighted');
+ });
+ return rv;
}
-}
+};
$(document).ready(function() {
Search.init();
diff --git a/documentation/_static/sidebar.js b/documentation/_static/sidebar.js
index a45e192..4f09a0d 100644
--- a/documentation/_static/sidebar.js
+++ b/documentation/_static/sidebar.js
@@ -16,12 +16,20 @@
* Once the browser is closed the cookie is deleted and the position
* reset to the default (expanded).
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
$(function() {
+
+
+
+
+
+
+
+
// global elements used by the functions.
// the 'sidebarbutton' element is defined as global after its
// creation, in the add_sidebar_button function
@@ -134,7 +142,7 @@ $(function() {
var items = document.cookie.split(';');
for(var k=0; k<items.length; k++) {
var key_val = items[k].split('=');
- var key = key_val[0];
+ var key = key_val[0].replace(/ /, ""); // strip leading spaces
if (key == 'sidebar') {
var value = key_val[1];
if ((value == 'collapsed') && (!sidebar_is_collapsed()))
@@ -148,4 +156,4 @@ $(function() {
add_sidebar_button();
var sidebarbutton = $('#sidebarbutton');
set_position_from_cookie();
-});
+});
\ No newline at end of file
diff --git a/documentation/_static/underscore.js b/documentation/_static/underscore.js
index 5d89914..5b55f32 100644
--- a/documentation/_static/underscore.js
+++ b/documentation/_static/underscore.js
@@ -1,23 +1,31 @@
-// Underscore.js 0.5.5
-// (c) 2009 Jeremy Ashkenas, DocumentCloud Inc.
-// Underscore is freely distributable under the terms of the MIT license.
-// Portions of Underscore are inspired by or borrowed from Prototype.js,
+// Underscore.js 1.3.1
+// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
+// Underscore is freely distributable under the MIT license.
+// Portions of Underscore are inspired or borrowed from Prototype,
// Oliver Steele's Functional, and John Resig's Micro-Templating.
// For all details and documentation:
-// http://documentcloud.github.com/underscore/
-(function(){var j=this,n=j._,i=function(a){this._wrapped=a},m=typeof StopIteration!=="undefined"?StopIteration:"__break__",b=j._=function(a){return new i(a)};if(typeof exports!=="undefined")exports._=b;var k=Array.prototype.slice,o=Array.prototype.unshift,p=Object.prototype.toString,q=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;b.VERSION="0.5.5";b.each=function(a,c,d){try{if(a.forEach)a.forEach(c,d);else if(b.isArray(a)||b.isArguments(a))for(var e=0,f=a.length [...]
-a[e],e,a);else{var g=b.keys(a);f=g.length;for(e=0;e<f;e++)c.call(d,a[g[e]],g[e],a)}}catch(h){if(h!=m)throw h;}return a};b.map=function(a,c,d){if(a&&b.isFunction(a.map))return a.map(c,d);var e=[];b.each(a,function(f,g,h){e.push(c.call(d,f,g,h))});return e};b.reduce=function(a,c,d,e){if(a&&b.isFunction(a.reduce))return a.reduce(b.bind(d,e),c);b.each(a,function(f,g,h){c=d.call(e,c,f,g,h)});return c};b.reduceRight=function(a,c,d,e){if(a&&b.isFunction(a.reduceRight))return a.reduceRight(b.bin [...]
-var f=b.clone(b.toArray(a)).reverse();b.each(f,function(g,h){c=d.call(e,c,g,h,a)});return c};b.detect=function(a,c,d){var e;b.each(a,function(f,g,h){if(c.call(d,f,g,h)){e=f;b.breakLoop()}});return e};b.select=function(a,c,d){if(a&&b.isFunction(a.filter))return a.filter(c,d);var e=[];b.each(a,function(f,g,h){c.call(d,f,g,h)&&e.push(f)});return e};b.reject=function(a,c,d){var e=[];b.each(a,function(f,g,h){!c.call(d,f,g,h)&&e.push(f)});return e};b.all=function(a,c,d){c=c||b.identity;if(a&&b [...]
-d);var e=true;b.each(a,function(f,g,h){(e=e&&c.call(d,f,g,h))||b.breakLoop()});return e};b.any=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.some))return a.some(c,d);var e=false;b.each(a,function(f,g,h){if(e=c.call(d,f,g,h))b.breakLoop()});return e};b.include=function(a,c){if(b.isArray(a))return b.indexOf(a,c)!=-1;var d=false;b.each(a,function(e){if(d=e===c)b.breakLoop()});return d};b.invoke=function(a,c){var d=b.rest(arguments,2);return b.map(a,function(e){return(c?e[c]:e).apply( [...]
-function(a,c){return b.map(a,function(d){return d[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g>=e.computed&&(e={value:f,computed:g})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g<e.computed&&(e={value:f,computed:g})});return e.value};b.sortBy=function(a,c,d){retur [...]
-function(e,f,g){return{value:e,criteria:c.call(d,e,f,g)}}).sort(function(e,f){e=e.criteria;f=f.criteria;return e<f?-1:e>f?1:0}),"value")};b.sortedIndex=function(a,c,d){d=d||b.identity;for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?(e=g+1):(f=g)}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return a;if(b.isArguments(a))return k.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=function(a,c,d){return [...]
-0,c):a[0]};b.rest=function(a,c,d){return k.call(a,b.isUndefined(c)||d?1:c)};b.last=function(a){return a[a.length-1]};b.compact=function(a){return b.select(a,function(c){return!!c})};b.flatten=function(a){return b.reduce(a,[],function(c,d){if(b.isArray(d))return c.concat(b.flatten(d));c.push(d);return c})};b.without=function(a){var c=b.rest(arguments);return b.select(a,function(d){return!b.include(c,d)})};b.uniq=function(a,c){return b.reduce(a,[],function(d,e,f){if(0==f||(c===true?b.last( [...]
-e)))d.push(e);return d})};b.intersect=function(a){var c=b.rest(arguments);return b.select(b.uniq(a),function(d){return b.all(c,function(e){return b.indexOf(e,d)>=0})})};b.zip=function(){for(var a=b.toArray(arguments),c=b.max(b.pluck(a,"length")),d=new Array(c),e=0;e<c;e++)d[e]=b.pluck(a,String(e));return d};b.indexOf=function(a,c){if(a.indexOf)return a.indexOf(c);for(var d=0,e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,c){if(a.lastIndexOf)return a.lastIndexO [...]
-a.length;d--;)if(a[d]===c)return d;return-1};b.range=function(a,c,d){var e=b.toArray(arguments),f=e.length<=1;a=f?0:e[0];c=f?e[0]:e[1];d=e[2]||1;e=Math.ceil((c-a)/d);if(e<=0)return[];e=new Array(e);f=a;for(var g=0;1;f+=d){if((d>0?f-c:c-f)>=0)return e;e[g++]=f}};b.bind=function(a,c){var d=b.rest(arguments,2);return function(){return a.apply(c||j,d.concat(b.toArray(arguments)))}};b.bindAll=function(a){var c=b.rest(arguments);if(c.length==0)c=b.functions(a);b.each(c,function(d){a[d]=b.bind( [...]
-return a};b.delay=function(a,c){var d=b.rest(arguments,2);return setTimeout(function(){return a.apply(a,d)},c)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(b.rest(arguments)))};b.wrap=function(a,c){return function(){var d=[a].concat(b.toArray(arguments));return c.apply(c,d)}};b.compose=function(){var a=b.toArray(arguments);return function(){for(var c=b.toArray(arguments),d=a.length-1;d>=0;d--)c=[a[d].apply(this,c)];return c[0]}};b.keys=function(a){if(b.isArray(a))return b.ran [...]
-var c=[];for(var d in a)q.call(a,d)&&c.push(d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=function(a){return b.select(b.keys(a),function(c){return b.isFunction(a[c])}).sort()};b.extend=function(a,c){for(var d in c)a[d]=c[d];return a};b.clone=function(a){if(b.isArray(a))return a.slice(0);return b.extend({},a)};b.tap=function(a,c){c(a);return a};b.isEqual=function(a,c){if(a===c)return true;var d=typeof a;if(d!=typeof c)return false;if(a==c)return true;if(!a&&c|| [...]
-if(a.isEqual)return a.isEqual(c);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return true;if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!=="object")return false;if(a.length&&a.length!==c.length)return false;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return false;for(var f in a)if(!b.isEqual(a[f],c[f]))return false;return true};b.isEmpty=function(a [...]
-0};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=function(a){return!!(a&&a.concat&&a.unshift)};b.isArguments=function(a){return a&&b.isNumber(a.length)&&!b.isArray(a)&&!r.call(a,"length")};b.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return p.call(a)==="[object Number]"};b.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)};b.isRegExp=func [...]
-a.test&&a.exec&&(a.ignoreCase||a.ignoreCase===false))};b.isNaN=function(a){return b.isNumber(a)&&isNaN(a)};b.isNull=function(a){return a===null};b.isUndefined=function(a){return typeof a=="undefined"};b.noConflict=function(){j._=n;return this};b.identity=function(a){return a};b.breakLoop=function(){throw m;};var s=0;b.uniqueId=function(a){var c=s++;return a?a+c:c};b.template=function(a,c){a=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.re [...]
-" ").replace(/'(?=[^%]*%>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<%=(.+?)%>/g,"',$1,'").split("<%").join("');").split("%>").join("p.push('")+"');}return p.join('');");return c?a(c):a};b.forEach=b.each;b.foldl=b.inject=b.reduce;b.foldr=b.reduceRight;b.filter=b.select;b.every=b.all;b.some=b.any;b.head=b.first;b.tail=b.rest;b.methods=b.functions;var l=function(a,c){return c?b(a).chain():a};b.each(b.functions(b),function(a){var c=b[a];i.prototype[a]=function(){var d=b [...]
-o.call(d,this._wrapped);return l(c.apply(b,d),this._chain)}});b.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){c.apply(this._wrapped,arguments);return l(this._wrapped,this._chain)}});b.each(["concat","join","slice"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){return l(c.apply(this._wrapped,arguments),this._chain)}});i.prototype.chain=function(){this._chain=true;return this};i.prototype.valu [...]
+// http://documentcloud.github.com/underscore
+(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object [...]
+c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h i [...]
+h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var [...]
+b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.l [...]
+null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.f [...]
+function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g, [...]
+e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d) [...]
+function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a [...]
+return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedInd [...]
+c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length- [...]
+b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];retur [...]
+return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=func [...]
+d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d; [...]
+var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.mem [...]
+c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c)) [...]
+a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)] [...]
+b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function( [...]
+1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){ret [...]
+b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a) [...]
+b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin [...]
+function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return [...]
+u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=func [...]
+function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.ch [...]
+true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
diff --git a/documentation/_static/websupport.js b/documentation/_static/websupport.js
index e9bd1b8..71c0a13 100644
--- a/documentation/_static/websupport.js
+++ b/documentation/_static/websupport.js
@@ -4,7 +4,7 @@
*
* sphinx.websupport utilties for all documentation.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/documentation/advanced_topics.html b/documentation/advanced_topics.html
index 398fbaa..b9c1607 100644
--- a/documentation/advanced_topics.html
+++ b/documentation/advanced_topics.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Advanced Topics — XMDS2 2.2.1 documentation</title>
+ <title>Advanced Topics — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Frequently Asked Questions" href="faq.html" />
<link rel="prev" title="Modified Midpoint Method" href="bulirschStoer.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="bulirschStoer.html" title="Modified Midpoint Method"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -308,13 +306,13 @@ Export["func.h5", {func, x1, y1}, {"Datasets", { "funct
<li class="right" >
<a href="bulirschStoer.html" title="Modified Midpoint Method"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/bulirschStoer.html b/documentation/bulirschStoer.html
index bec1f12..7803980 100644
--- a/documentation/bulirschStoer.html
+++ b/documentation/bulirschStoer.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Modified Midpoint Method — XMDS2 2.2.1 documentation</title>
+ <title>Modified Midpoint Method — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="up" title="Reference section" href="reference_index.html" />
<link rel="next" title="Advanced Topics" href="advanced_topics.html" />
<link rel="prev" title="XMDS2 script elements" href="reference_elements.html" />
@@ -45,7 +43,7 @@
<li class="right" >
<a href="reference_elements.html" title="XMDS2 script elements"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" accesskey="U">Reference section</a> »</li>
</ul>
</div>
@@ -85,7 +83,7 @@ y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \ri
</div>
<div class="section" id="error-scaling-behaviour">
<span id="errorscaling"></span><span id="index-2"></span><h1>Error Scaling Behaviour<a class="headerlink" href="#error-scaling-behaviour" title="Permalink to this headline">¶</a></h1>
-<img alt="_images/error_scaling.png" class="align-center" src="_images/error_scaling.png" style="width: 800px; height: 600px;" />
+<a class="reference internal image-reference" href="_images/error_scaling.png"><img alt="_images/error_scaling.png" class="align-center" src="_images/error_scaling.png" style="width: 800px; height: 600px;" /></a>
<p>The graph above shows the error scaling behaviour for the Bulirsch-Stoer method. This was generated using data from XMDS2 for a simple problem whose analytical solution was known. For more information and to generate this plot yourself see the testsuite/integrators/richardson_extrapolation/error_scaling directory. There you will find the .xmds files for generating the data and a python script to generate the plot above (requires gnuplot).</p>
</div>
@@ -134,14 +132,14 @@ y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \ri
<li class="right" >
<a href="reference_elements.html" title="XMDS2 script elements"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" >Reference section</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/developer.html b/documentation/developer.html
index 6073c6d..c85f4e2 100644
--- a/documentation/developer.html
+++ b/documentation/developer.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Developer Documentation — XMDS2 2.2.1 documentation</title>
+ <title>Developer Documentation — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Licensing" href="licensing.html" />
<link rel="prev" title="xsil2graphics2" href="xsil2graphics2.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="xsil2graphics2.html" title="xsil2graphics2"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -351,13 +349,13 @@
<li class="right" >
<a href="xsil2graphics2.html" title="xsil2graphics2"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/doctrees/advanced_topics.doctree b/documentation/doctrees/advanced_topics.doctree
index 07001e3..443dec5 100644
Binary files a/documentation/doctrees/advanced_topics.doctree and b/documentation/doctrees/advanced_topics.doctree differ
diff --git a/documentation/doctrees/bulirschStoer.doctree b/documentation/doctrees/bulirschStoer.doctree
index 3d2eb7c..da3131d 100644
Binary files a/documentation/doctrees/bulirschStoer.doctree and b/documentation/doctrees/bulirschStoer.doctree differ
diff --git a/documentation/doctrees/developer.doctree b/documentation/doctrees/developer.doctree
index f3256cf..2cab76a 100644
Binary files a/documentation/doctrees/developer.doctree and b/documentation/doctrees/developer.doctree differ
diff --git a/documentation/doctrees/documentation_toc.doctree b/documentation/doctrees/documentation_toc.doctree
index 4ec40dd..ced807e 100644
Binary files a/documentation/doctrees/documentation_toc.doctree and b/documentation/doctrees/documentation_toc.doctree differ
diff --git a/documentation/doctrees/environment.pickle b/documentation/doctrees/environment.pickle
index c72bd2d..ddc116e 100644
Binary files a/documentation/doctrees/environment.pickle and b/documentation/doctrees/environment.pickle differ
diff --git a/documentation/doctrees/faq.doctree b/documentation/doctrees/faq.doctree
index 7858f68..dfb1c2d 100644
Binary files a/documentation/doctrees/faq.doctree and b/documentation/doctrees/faq.doctree differ
diff --git a/documentation/doctrees/index.doctree b/documentation/doctrees/index.doctree
index a3afc83..5d78294 100644
Binary files a/documentation/doctrees/index.doctree and b/documentation/doctrees/index.doctree differ
diff --git a/documentation/doctrees/installation.doctree b/documentation/doctrees/installation.doctree
index 99f7324..a4f9e86 100644
Binary files a/documentation/doctrees/installation.doctree and b/documentation/doctrees/installation.doctree differ
diff --git a/documentation/doctrees/introduction.doctree b/documentation/doctrees/introduction.doctree
index 14b85b7..8d07b23 100644
Binary files a/documentation/doctrees/introduction.doctree and b/documentation/doctrees/introduction.doctree differ
diff --git a/documentation/doctrees/licensing.doctree b/documentation/doctrees/licensing.doctree
index 7a626f8..9397f5b 100644
Binary files a/documentation/doctrees/licensing.doctree and b/documentation/doctrees/licensing.doctree differ
diff --git a/documentation/doctrees/news.doctree b/documentation/doctrees/news.doctree
index edfd261..5947d5f 100644
Binary files a/documentation/doctrees/news.doctree and b/documentation/doctrees/news.doctree differ
diff --git a/documentation/doctrees/news_content.doctree b/documentation/doctrees/news_content.doctree
index b7d53c0..7cddc23 100644
Binary files a/documentation/doctrees/news_content.doctree and b/documentation/doctrees/news_content.doctree differ
diff --git a/documentation/doctrees/optimisation_hints.doctree b/documentation/doctrees/optimisation_hints.doctree
index 0744dfb..e2a0a0e 100644
Binary files a/documentation/doctrees/optimisation_hints.doctree and b/documentation/doctrees/optimisation_hints.doctree differ
diff --git a/documentation/doctrees/reference_elements.doctree b/documentation/doctrees/reference_elements.doctree
index eddfa89..4b09b7a 100644
Binary files a/documentation/doctrees/reference_elements.doctree and b/documentation/doctrees/reference_elements.doctree differ
diff --git a/documentation/doctrees/reference_index.doctree b/documentation/doctrees/reference_index.doctree
index ad131a3..3549c86 100644
Binary files a/documentation/doctrees/reference_index.doctree and b/documentation/doctrees/reference_index.doctree differ
diff --git a/documentation/doctrees/reference_installation_and_configuration.doctree b/documentation/doctrees/reference_installation_and_configuration.doctree
index 70386bf..7a2d4a4 100644
Binary files a/documentation/doctrees/reference_installation_and_configuration.doctree and b/documentation/doctrees/reference_installation_and_configuration.doctree differ
diff --git a/documentation/doctrees/reference_schema.doctree b/documentation/doctrees/reference_schema.doctree
index f5b992c..edb708d 100644
Binary files a/documentation/doctrees/reference_schema.doctree and b/documentation/doctrees/reference_schema.doctree differ
diff --git a/documentation/doctrees/reference_usefulXMLSyntax.doctree b/documentation/doctrees/reference_usefulXMLSyntax.doctree
index 23689c2..2bdb465 100644
Binary files a/documentation/doctrees/reference_usefulXMLSyntax.doctree and b/documentation/doctrees/reference_usefulXMLSyntax.doctree differ
diff --git a/documentation/doctrees/tutorial.doctree b/documentation/doctrees/tutorial.doctree
index 6fa87f6..4abf505 100644
Binary files a/documentation/doctrees/tutorial.doctree and b/documentation/doctrees/tutorial.doctree differ
diff --git a/documentation/doctrees/upgrade.doctree b/documentation/doctrees/upgrade.doctree
index 500b0dd..cb1e2e7 100644
Binary files a/documentation/doctrees/upgrade.doctree and b/documentation/doctrees/upgrade.doctree differ
diff --git a/documentation/doctrees/worked_examples.doctree b/documentation/doctrees/worked_examples.doctree
index 6618d4e..dd2ba83 100644
Binary files a/documentation/doctrees/worked_examples.doctree and b/documentation/doctrees/worked_examples.doctree differ
diff --git a/documentation/doctrees/xsil2graphics2.doctree b/documentation/doctrees/xsil2graphics2.doctree
index 7b5688b..4dbfbd8 100644
Binary files a/documentation/doctrees/xsil2graphics2.doctree and b/documentation/doctrees/xsil2graphics2.doctree differ
diff --git a/documentation/documentation_toc.html b/documentation/documentation_toc.html
index e954157..94baf18 100644
--- a/documentation/documentation_toc.html
+++ b/documentation/documentation_toc.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Welcome to the documentation for XMDS2! — XMDS2 2.2.1 documentation</title>
+ <title>Welcome to the documentation for XMDS2! — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
</head>
<body>
<div class="related">
@@ -36,7 +34,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -166,13 +164,13 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/faq.html b/documentation/faq.html
index b9de38b..5e2d680 100644
--- a/documentation/faq.html
+++ b/documentation/faq.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Frequently Asked Questions — XMDS2 2.2.1 documentation</title>
+ <title>Frequently Asked Questions — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Upgrading From XMDS 1.X" href="upgrade.html" />
<link rel="prev" title="Advanced Topics" href="advanced_topics.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="advanced_topics.html" title="Advanced Topics"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -149,13 +147,13 @@
<li class="right" >
<a href="advanced_topics.html" title="Advanced Topics"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/genindex.html b/documentation/genindex.html
index b7ac1ba..f32148c 100644
--- a/documentation/genindex.html
+++ b/documentation/genindex.html
@@ -1,7 +1,4 @@
-
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -10,15 +7,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Index — XMDS2 2.2.1 documentation</title>
+ <title>Index — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -29,7 +26,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
</head>
<body>
<div class="related">
@@ -38,7 +35,7 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -1060,13 +1057,13 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
>index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/index.html b/documentation/index.html
index 8765ad1..8dd4514 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Welcome to XMDS2! — XMDS2 2.2.1 documentation</title>
+ <title>Welcome to XMDS2! — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="#" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="#" />
<link rel="next" title="Introduction" href="introduction.html" />
</head>
<body>
@@ -40,7 +38,7 @@
<li class="right" >
<a href="introduction.html" title="Introduction"
accesskey="N">next</a> |</li>
- <li><a href="#">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="#">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -310,13 +308,13 @@
<li class="right" >
<a href="introduction.html" title="Introduction"
>next</a> |</li>
- <li><a href="#">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="#">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/installation.html b/documentation/installation.html
index 7ee91ed..f1ea3e4 100644
--- a/documentation/installation.html
+++ b/documentation/installation.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Installation — XMDS2 2.2.1 documentation</title>
+ <title>Installation — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Quickstart Tutorial" href="tutorial.html" />
<link rel="prev" title="Introduction" href="introduction.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="introduction.html" title="Introduction"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -378,13 +376,13 @@ The package ‘numpy’ is one of the optional packages, with installati
<li class="right" >
<a href="introduction.html" title="Introduction"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/introduction.html b/documentation/introduction.html
index 0445019..7509c3a 100644
--- a/documentation/introduction.html
+++ b/documentation/introduction.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Introduction — XMDS2 2.2.1 documentation</title>
+ <title>Introduction — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Installation" href="installation.html" />
<link rel="prev" title="Welcome to XMDS2!" href="index.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="index.html" title="Welcome to XMDS2!"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -118,13 +116,13 @@
<li class="right" >
<a href="index.html" title="Welcome to XMDS2!"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/latex/Makefile b/documentation/latex/Makefile
index 76e7c3e..6b87ad8 100644
--- a/documentation/latex/Makefile
+++ b/documentation/latex/Makefile
@@ -16,11 +16,11 @@ all-ps: all-dvi
for f in *.dvi; do dvips $$f; done
all-pdf-ja:
- for f in *.pdf *.png *.gif *.jpg *.jpeg; do ebb $$f; done
+ for f in *.pdf *.png *.gif *.jpg *.jpeg; do extractbb $$f; done
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
- for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done
+ -for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
for f in *.dvi; do dvipdfmx $$f; done
diff --git a/documentation/latex/fncychap.sty b/documentation/latex/fncychap.sty
new file mode 100644
index 0000000..9a56c04
--- /dev/null
+++ b/documentation/latex/fncychap.sty
@@ -0,0 +1,683 @@
+%%% Copyright Ulf A. Lindgren
+%%%
+%%% Note Premission is granted to modify this file under
+%%% the condition that it is saved using another
+%%% file and package name.
+%%%
+%%% Revision 1.1 (1997)
+%%%
+%%% Jan. 8th Modified package name base date option
+%%% Jan. 22th Modified FmN and FmTi for error in book.cls
+%%% \MakeUppercase{#}->{\MakeUppercase#}
+%%% Apr. 6th Modified Lenny option to prevent undesired
+%%% skip of line.
+%%% Nov. 8th Fixed \@chapapp for AMS
+%%%
+%%% Revision 1.2 (1998)
+%%%
+%%% Feb. 11th Fixed appendix problem related to Bjarne
+%%% Aug. 11th Fixed problem related to 11pt and 12pt
+%%% suggested by Tomas Lundberg. THANKS!
+%%%
+%%% Revision 1.3 (2004)
+%%% Sep. 20th problem with frontmatter, mainmatter and
+%%% backmatter, pointed out by Lapo Mori
+%%%
+%%% Revision 1.31 (2004)
+%%% Sep. 21th problem with the Rejne definition streched text
+%%% caused ugly gaps in the vrule aligned with the title
+%%% text. Kindly pointed out to me by Hendri Adriaens
+%%%
+%%% Revision 1.32 (2005)
+%%% Jun. 23th compatibility problem with the KOMA class 'scrbook.cls'
+%%% a remedy is a redefinition of '\@schapter' in
+%%% line with that used in KOMA. The problem was pointed
+%%% out to me by Mikkel Holm Olsen
+%%%
+%%% Revision 1.33 (2005)
+%%% Aug. 9th misspelled ``TWELV'' corrected, the error was pointed
+%%% out to me by George Pearson
+%%%
+%%% Revision 1.34 (2007)
+%%% Added an alternative to Lenny provided by Peter
+%%% Osborne (2005-11-28)
+%%% Corrected front, main and back matter, based on input
+%%% from Bas van Gils (2006-04-24)
+%%% Jul. 30th Added Bjornstrup option provided by Jean-Marc
+%%% Francois (2007-01-05).
+%%% Reverted to \MakeUppercase{#} see rev 1.1, solved
+%%% problem with MakeUppercase and MakeLowercase pointed
+%%% out by Marco Feuerstein (2007-06-06)
+
+
+%%% Last modified Jul. 2007
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{fncychap}
+ [2007/07/30 v1.34
+ LaTeX package (Revised chapters)]
+
+%%%% For conditional inclusion of color
+\newif\ifusecolor
+\usecolorfalse
+
+
+
+%%%% DEFINITION OF Chapapp variables
+\newcommand{\CNV}{\huge\bfseries}
+\newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}}
+
+
+%%%% DEFINITION OF TheChapter variables
+\newcommand{\CNoV}{\huge\bfseries}
+\newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}}
+
+\newif\ifUCN
+\UCNfalse
+\newif\ifLCN
+\LCNfalse
+\def\ChNameLowerCase{\LCNtrue\UCNfalse}
+\def\ChNameUpperCase{\UCNtrue\LCNfalse}
+\def\ChNameAsIs{\UCNfalse\LCNfalse}
+
+%%%%% Fix for AMSBook 971008
+
+\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}
+
+
+%%%%% Fix for Bjarne and appendix 980211
+
+\newif\ifinapp
+\inappfalse
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \inapptrue%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\@Alph\c at chapter}}
+
+%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
+
+\@ifundefined{@mainmatter}{\newif\if at mainmatter \@mainmattertrue}{}
+
+%%%%%
+
+
+
+\newcommand{\FmN}[1]{%
+\ifUCN
+ {\MakeUppercase{#1}}\LCNfalse
+\else
+ \ifLCN
+ {\MakeLowercase{#1}}\UCNfalse
+ \else #1
+ \fi
+\fi}
+
+
+%%%% DEFINITION OF Title variables
+\newcommand{\CTV}{\Huge\bfseries}
+\newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}}
+
+%%%% DEFINITION OF the basic rule width
+\newlength{\RW}
+\setlength{\RW}{1pt}
+\newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}}
+
+\newif\ifUCT
+\UCTfalse
+\newif\ifLCT
+\LCTfalse
+\def\ChTitleLowerCase{\LCTtrue\UCTfalse}
+\def\ChTitleUpperCase{\UCTtrue\LCTfalse}
+\def\ChTitleAsIs{\UCTfalse\LCTfalse}
+\newcommand{\FmTi}[1]{%
+\ifUCT
+ {\MakeUppercase{#1}}\LCTfalse
+\else
+ \ifLCT
+ {\MakeLowercase{#1}}\UCTfalse
+ \else {#1}
+ \fi
+\fi}
+
+
+
+\newlength{\mylen}
+\newlength{\myhi}
+\newlength{\px}
+\newlength{\py}
+\newlength{\pyy}
+\newlength{\pxx}
+
+
+\def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@}
+
+\newcommand{\DOCH}{%
+ \CNV\FmN{\@chapapp}\space \CNoV\thechapter
+ \par\nobreak
+ \vskip 20\p@
+ }
+\newcommand{\DOTI}[1]{%
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@
+ }
+\newcommand{\DOTIS}[1]{%
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@
+ }
+
+%%%%%% SONNY DEF
+
+\DeclareOption{Sonny}{%
+ \ChNameVar{\Large\sf}
+ \ChNumVar{\Huge}
+ \ChTitleVar{\Large\sf}
+ \ChRuleWidth{0.5pt}
+ \ChNameUpperCase
+ \renewcommand{\DOCH}{%
+ \raggedleft
+ \CNV\FmN{\@chapapp}\space \CNoV\thechapter
+ \par\nobreak
+ \vskip 40\p@}
+ \renewcommand{\DOTI}[1]{%
+ \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
+ \vskip 5\p@
+ \CTV\FmTi{#1}\par\nobreak
+ \mghrulefill{\RW}\par\nobreak
+ \vskip 40\p@}
+ \renewcommand{\DOTIS}[1]{%
+ \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
+ \vskip 5\p@
+ \CTV\FmTi{#1}\par\nobreak
+ \mghrulefill{\RW}\par\nobreak
+ \vskip 40\p@}
+}
+
+%%%%%% LENNY DEF
+
+\DeclareOption{Lenny}{%
+
+ \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
+ \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
+ \ChTitleVar{\Huge\bfseries\rm}
+ \ChRuleWidth{1pt}
+ \renewcommand{\DOCH}{%
+ \settowidth{\px}{\CNV\FmN{\@chapapp}}
+ \addtolength{\px}{2pt}
+ \settoheight{\py}{\CNV\FmN{\@chapapp}}
+ \addtolength{\py}{1pt}
+
+ \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
+ \addtolength{\mylen}{1pt}
+ \settowidth{\pxx}{\CNoV\thechapter}
+ \addtolength{\pxx}{-1pt}
+
+ \settoheight{\pyy}{\CNoV\thechapter}
+ \addtolength{\pyy}{-2pt}
+ \setlength{\myhi}{\pyy}
+ \addtolength{\myhi}{-1\py}
+ \par
+ \parbox[b]{\textwidth}{%
+ \rule[\py]{\RW}{\myhi}%
+ \hskip -\RW%
+ \rule[\pyy]{\px}{\RW}%
+ \hskip -\px%
+ \raggedright%
+ \CNV\FmN{\@chapapp}\space\CNoV\thechapter%
+ \hskip1pt%
+ \mghrulefill{\RW}%
+ \rule{\RW}{\pyy}\par\nobreak%
+ \vskip -\baselineskip%
+ \vskip -\pyy%
+ \hskip \mylen%
+ \mghrulefill{\RW}\par\nobreak%
+ \vskip \pyy}%
+ \vskip 20\p@}
+
+
+ \renewcommand{\DOTI}[1]{%
+ \raggedright
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@}
+
+ \renewcommand{\DOTIS}[1]{%
+ \raggedright
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@}
+ }
+
+%%%%%% Peter Osbornes' version of LENNY DEF
+
+\DeclareOption{PetersLenny}{%
+
+% five new lengths
+\newlength{\bl} % bottom left : orig \space
+\setlength{\bl}{6pt}
+\newcommand{\BL}[1]{\setlength{\bl}{#1}}
+\newlength{\br} % bottom right : orig 1pt
+\setlength{\br}{1pt}
+\newcommand{\BR}[1]{\setlength{\br}{#1}}
+\newlength{\tl} % top left : orig 2pt
+\setlength{\tl}{2pt}
+\newcommand{\TL}[1]{\setlength{\tl}{#1}}
+\newlength{\trr} % top right :orig 1pt
+\setlength{\trr}{1pt}
+\newcommand{\TR}[1]{\setlength{\trr}{#1}}
+\newlength{\blrule} % top right :orig 1pt
+\setlength{\trr}{0pt}
+\newcommand{\BLrule}[1]{\setlength{\blrule}{#1}}
+
+
+ \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
+ \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
+ \ChTitleVar{\Huge\bfseries\rm}
+ \ChRuleWidth{1pt}
+\renewcommand{\DOCH}{%
+
+
+%%%%%%% tweaks for 1--9 and A--Z
+\ifcase\c at chapter\relax%
+\or\BL{-3pt}\TL{-4pt}\BR{0pt}\TR{-6pt}%1
+\or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%2
+\or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%3
+\or\BL{0pt}\TL{5pt}\BR{2pt}\TR{-4pt}%4
+\or\BL{0pt}\TL{3pt}\BR{2pt}\TR{-4pt}%5
+\or\BL{-1pt}\TL{0pt}\BR{2pt}\TR{-2pt}%6
+\or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%7
+\or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%8
+\or\BL{0pt}\TL{-3pt}\BR{-4pt}\TR{-2pt}%9
+\or\BL{-3pt}\TL{-3pt}\BR{2pt}\TR{-7pt}%10
+\or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%11
+\or\BL{-6pt}\TL{-6pt}\BR{2pt}\TR{-7pt}%12
+\or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%13
+\or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%14
+\or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%15
+\or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%16
+\or\BL{-5pt}\TL{-3pt}\BR{-8pt}\TR{-6pt}%17
+\or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%18
+\or\BL{-3pt}\TL{-3pt}\BR{-6pt}\TR{-9pt}%19
+\or\BL{0pt}\TL{0pt}\BR{0pt}\TR{-5pt}%20
+\fi
+
+\ifinapp\ifcase\c at chapter\relax%
+\or\BL{0pt}\TL{14pt}\BR{5pt}\TR{-19pt}%A
+\or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}%B
+\or\BL{-3pt}\TL{-2pt}\BR{1pt}\TR{-6pt}\BLrule{0pt}%C
+\or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}\BLrule{0pt}%D
+\or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-3pt}%E
+\or\BL{0pt}\TL{-5pt}\BR{-10pt}\TR{-1pt}%F
+\or\BL{-3pt}\TL{0pt}\BR{0pt}\TR{-7pt}%G
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%H
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%I
+\or\BL{2pt}\TL{0pt}\BR{-3pt}\TR{1pt}%J
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%K
+\or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-19pt}%L
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%M
+\or\BL{0pt}\TL{-5pt}\BR{-2pt}\TR{-1pt}%N
+\or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%O
+\or\BL{0pt}\TL{-5pt}\BR{-9pt}\TR{-3pt}%P
+\or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%Q
+\or\BL{0pt}\TL{-5pt}\BR{4pt}\TR{-8pt}%R
+\or\BL{-2pt}\TL{-2pt}\BR{-2pt}\TR{-7pt}%S
+\or\BL{-3pt}\TL{0pt}\BR{-5pt}\TR{4pt}\BLrule{8pt}%T
+\or\BL{-7pt}\TL{-11pt}\BR{-5pt}\TR{-7pt}\BLrule{0pt}%U
+\or\BL{-14pt}\TL{-5pt}\BR{-14pt}\TR{-1pt}\BLrule{14pt}%V
+\or\BL{-10pt}\TL{-9pt}\BR{-13pt}\TR{-3pt}\BLrule{7pt}%W
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%X
+\or\BL{-6pt}\TL{-4pt}\BR{-7pt}\TR{1pt}\BLrule{7pt}%Y
+\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%Z
+\fi\fi
+%%%%%%%
+ \settowidth{\px}{\CNV\FmN{\@chapapp}}
+ \addtolength{\px}{\tl} %MOD change 2pt to \tl
+ \settoheight{\py}{\CNV\FmN{\@chapapp}}
+ \addtolength{\py}{1pt}
+
+ \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
+ \addtolength{\mylen}{\trr}% MOD change 1pt to \tr
+ \settowidth{\pxx}{\CNoV\thechapter}
+ \addtolength{\pxx}{-1pt}
+
+ \settoheight{\pyy}{\CNoV\thechapter}
+ \addtolength{\pyy}{-2pt}
+ \setlength{\myhi}{\pyy}
+ \addtolength{\myhi}{-1\py}
+ \par
+ \parbox[b]{\textwidth}{%
+ \rule[\py]{\RW}{\myhi}%
+ \hskip -\RW%
+ \rule[\pyy]{\px}{\RW}%
+ \hskip -\px%
+ \raggedright%
+ \CNV\FmN{\@chapapp}\rule{\blrule}{\RW}\hskip\bl\CNoV\thechapter%MOD
+% \CNV\FmN{\@chapapp}\space\CNoV\thechapter %ORIGINAL
+ \hskip\br% %MOD 1pt to \br
+ \mghrulefill{\RW}%
+ \rule{\RW}{\pyy}\par\nobreak%
+ \vskip -\baselineskip%
+ \vskip -\pyy%
+ \hskip \mylen%
+ \mghrulefill{\RW}\par\nobreak%
+ \vskip \pyy}%
+ \vskip 20\p@}
+
+
+ \renewcommand{\DOTI}[1]{%
+ \raggedright
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@}
+
+ \renewcommand{\DOTIS}[1]{%
+ \raggedright
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@}
+ }
+
+
+%
+
+
+%%%%%% BJORNSTRUP DEF
+
+\DeclareOption{Bjornstrup}{%
+ \usecolortrue
+ % pzc (Zapf Chancelery) is nice. ppl (Palatino) is cool too.
+ \ChNumVar{\fontsize{76}{80}\usefont{OT1}{pzc}{m}{n}\selectfont}
+ \ChTitleVar{\raggedleft\Large\sffamily\bfseries}
+
+ \setlength{\myhi}{10pt} % Space between grey box border and text
+ \setlength{\mylen}{\textwidth}
+ \addtolength{\mylen}{-2\myhi}
+ \renewcommand{\DOCH}{%
+ \settowidth{\py}{\CNoV\thechapter}
+ \addtolength{\py}{-10pt} % Amount of space by which the
+% % number is shifted right
+ \fboxsep=0pt%
+ \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}%
+ \kern-\py\raise20pt%
+ \hbox{\color[gray]{.5}\CNoV\thechapter}\\%
+ }
+
+ \renewcommand{\DOTI}[1]{%
+ \nointerlineskip\raggedright%
+ \fboxsep=\myhi%
+ \vskip-1ex%
+ \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
+ \vskip 40\p@%
+ }
+
+ \renewcommand{\DOTIS}[1]{%
+ \fboxsep=0pt
+ \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}\\%
+ \nointerlineskip\raggedright%
+ \fboxsep=\myhi%
+ \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
+ \vskip 40\p@%
+ }
+}
+
+
+%%%%%%% GLENN DEF
+
+
+\DeclareOption{Glenn}{%
+ \ChNameVar{\bfseries\Large\sf}
+ \ChNumVar{\Huge}
+ \ChTitleVar{\bfseries\Large\rm}
+ \ChRuleWidth{1pt}
+ \ChNameUpperCase
+ \ChTitleUpperCase
+ \renewcommand{\DOCH}{%
+ \settoheight{\myhi}{\CTV\FmTi{Test}}
+ \setlength{\py}{\baselineskip}
+ \addtolength{\py}{\RW}
+ \addtolength{\py}{\myhi}
+ \setlength{\pyy}{\py}
+ \addtolength{\pyy}{-1\RW}
+
+ \raggedright
+ \CNV\FmN{\@chapapp}\space\CNoV\thechapter
+ \hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak}
+
+ \renewcommand{\DOTI}[1]{%
+ \addtolength{\pyy}{-4pt}
+ \settoheight{\myhi}{\CTV\FmTi{#1}}
+ \addtolength{\myhi}{\py}
+ \addtolength{\myhi}{-1\RW}
+ \vskip -1\pyy
+ \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
+ \raggedleft\CTV\FmTi{#1}\par\nobreak
+ \vskip 80\p@}
+
+\newlength{\backskip}
+ \renewcommand{\DOTIS}[1]{%
+% \setlength{\py}{10pt}
+% \setlength{\pyy}{\py}
+% \addtolength{\pyy}{\RW}
+% \setlength{\myhi}{\baselineskip}
+% \addtolength{\myhi}{\pyy}
+% \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
+% \addtolength{}{}
+%\vskip -1\baselineskip
+% \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
+% \raggedleft\CTV\FmTi{#1}\par\nobreak
+% \vskip 60\p@}
+%% Fix suggested by Tomas Lundberg
+ \setlength{\py}{25pt} % eller vad man vill
+ \setlength{\pyy}{\py}
+ \setlength{\backskip}{\py}
+ \addtolength{\backskip}{2pt}
+ \addtolength{\pyy}{\RW}
+ \setlength{\myhi}{\baselineskip}
+ \addtolength{\myhi}{\pyy}
+ \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
+ \vskip -1\backskip
+ \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 3pt %
+ \raggedleft\CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@}
+ }
+
+%%%%%%% CONNY DEF
+
+\DeclareOption{Conny}{%
+ \ChNameUpperCase
+ \ChTitleUpperCase
+ \ChNameVar{\centering\Huge\rm\bfseries}
+ \ChNumVar{\Huge}
+ \ChTitleVar{\centering\Huge\rm}
+ \ChRuleWidth{2pt}
+
+ \renewcommand{\DOCH}{%
+ \mghrulefill{3\RW}\par\nobreak
+ \vskip -0.5\baselineskip
+ \mghrulefill{\RW}\par\nobreak
+ \CNV\FmN{\@chapapp}\space \CNoV\thechapter
+ \par\nobreak
+ \vskip -0.5\baselineskip
+ }
+ \renewcommand{\DOTI}[1]{%
+ \mghrulefill{\RW}\par\nobreak
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 60\p@
+ }
+ \renewcommand{\DOTIS}[1]{%
+ \mghrulefill{\RW}\par\nobreak
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 60\p@
+ }
+ }
+
+%%%%%%% REJNE DEF
+
+\DeclareOption{Rejne}{%
+
+ \ChNameUpperCase
+ \ChTitleUpperCase
+ \ChNameVar{\centering\Large\rm}
+ \ChNumVar{\Huge}
+ \ChTitleVar{\centering\Huge\rm}
+ \ChRuleWidth{1pt}
+ \renewcommand{\DOCH}{%
+ \settoheight{\py}{\CNoV\thechapter}
+ \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
+ \addtolength{\py}{-1pt}
+ \CNV\FmN{\@chapapp}\par\nobreak
+ \vskip 20\p@
+ \setlength{\myhi}{2\baselineskip}
+ \setlength{\px}{\myhi}
+ \addtolength{\px}{-1\RW}
+ \rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip
+ 10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip 10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak
+ \vskip -3\p@% Added -2pt vskip to correct for streched text v1.31
+ }
+ \renewcommand{\DOTI}[1]{%
+ \setlength{\mylen}{\textwidth}
+ \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
+ \addtolength{\mylen}{-2\RW}
+ {\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule width\RW}\par\nobreak%
+ \vskip -3pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip}%
+ \vskip 60\p@% Added -2pt in vskip to correct for streched text v1.31
+ }
+ \renewcommand{\DOTIS}[1]{%
+ \setlength{\py}{\fboxrule}
+ \setlength{\fboxrule}{\RW}
+ \setlength{\mylen}{\textwidth}
+ \addtolength{\mylen}{-2\RW}
+ \fbox{\parbox{\mylen}{\vskip 2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}}
+ \setlength{\fboxrule}{\py}
+ \vskip 60\p@
+ }
+ }
+
+
+%%%%%%% BJARNE DEF
+
+\DeclareOption{Bjarne}{%
+ \ChNameUpperCase
+ \ChTitleUpperCase
+ \ChNameVar{\raggedleft\normalsize\rm}
+ \ChNumVar{\raggedleft \bfseries\Large}
+ \ChTitleVar{\raggedleft \Large\rm}
+ \ChRuleWidth{1pt}
+
+
+%% Note thechapter -> c at chapter fix appendix bug
+%% Fixed misspelled 12
+
+ \newcounter{AlphaCnt}
+ \newcounter{AlphaDecCnt}
+ \newcommand{\AlphaNo}{%
+ \ifcase\number\theAlphaCnt
+ \ifnum\c at chapter=0
+ ZERO\else{}\fi
+ \or ONE\or TWO\or THREE\or FOUR\or FIVE
+ \or SIX\or SEVEN\or EIGHT\or NINE\or TEN
+ \or ELEVEN\or TWELVE\or THIRTEEN\or FOURTEEN\or FIFTEEN
+ \or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi
+}
+
+ \newcommand{\AlphaDecNo}{%
+ \setcounter{AlphaDecCnt}{0}
+ \@whilenum\number\theAlphaCnt>0\do
+ {\addtocounter{AlphaCnt}{-10}
+ \addtocounter{AlphaDecCnt}{1}}
+ \ifnum\number\theAlphaCnt=0
+ \else
+ \addtocounter{AlphaDecCnt}{-1}
+ \addtocounter{AlphaCnt}{10}
+ \fi
+
+
+ \ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or
+ FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi
+ }
+ \newcommand{\TheAlphaChapter}{%
+
+ \ifinapp
+ \thechapter
+ \else
+ \setcounter{AlphaCnt}{\c at chapter}
+ \ifnum\c at chapter<20
+ \AlphaNo
+ \else
+ \AlphaDecNo\AlphaNo
+ \fi
+ \fi
+ }
+ \renewcommand{\DOCH}{%
+ \mghrulefill{\RW}\par\nobreak
+ \CNV\FmN{\@chapapp}\par\nobreak
+ \CNoV\TheAlphaChapter\par\nobreak
+ \vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak
+ \vskip 20\p@
+ }
+ \renewcommand{\DOTI}[1]{%
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@
+ }
+ \renewcommand{\DOTIS}[1]{%
+ \CTV\FmTi{#1}\par\nobreak
+ \vskip 40\p@
+ }
+}
+
+\DeclareOption*{%
+ \PackageWarning{fancychapter}{unknown style option}
+ }
+
+\ProcessOptions* \relax
+
+\ifusecolor
+ \RequirePackage{color}
+\fi
+\def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c at secnumdepth >\m at ne
+ \if at mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
+ \DOCH
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \if at mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 060424
+ \DOTI{#1}%
+ \else%
+ \DOTIS{#1}%
+ \fi
+ }}
+
+
+%%% Begin: To avoid problem with scrbook.cls (fncychap version 1.32)
+
+%%OUT:
+%\def\@schapter#1{\if at twocolumn
+% \@topnewpage[\@makeschapterhead{#1}]%
+% \else
+% \@makeschapterhead{#1}%
+% \@afterheading
+% \fi}
+
+%%IN:
+\def\@schapter#1{%
+\if at twocolumn%
+ \@makeschapterhead{#1}%
+\else%
+ \@makeschapterhead{#1}%
+ \@afterheading%
+\fi}
+
+%%% End: To avoid problem with scrbook.cls (fncychap version 1.32)
+
+\def\@makeschapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \DOTIS{#1}
+ \vskip 40\p@
+ }}
+
+\endinput
+
+
diff --git a/documentation/latex/sphinx.sty b/documentation/latex/sphinx.sty
new file mode 100644
index 0000000..ee0a923
--- /dev/null
+++ b/documentation/latex/sphinx.sty
@@ -0,0 +1,524 @@
+%
+% sphinx.sty
+%
+% Adapted from the old python.sty, mostly written by Fred Drake,
+% by Georg Brandl.
+%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{sphinx}[2010/01/15 LaTeX package (Sphinx markup)]
+
+\@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}}
+
+\RequirePackage{textcomp}
+\RequirePackage{fancybox}
+\RequirePackage{titlesec}
+\RequirePackage{tabulary}
+\RequirePackage{amsmath} % for \text
+\RequirePackage{makeidx}
+\RequirePackage{framed}
+\RequirePackage{ifthen}
+\RequirePackage{color}
+% For highlighted code.
+\RequirePackage{fancyvrb}
+% For table captions.
+\RequirePackage{threeparttable}
+% Handle footnotes in tables.
+\RequirePackage{footnote}
+\makesavenoteenv{tabulary}
+% For floating figures in the text.
+\RequirePackage{wrapfig}
+% Separate paragraphs by space by default.
+\RequirePackage{parskip}
+% For parsed-literal blocks.
+\RequirePackage{alltt}
+% Display "real" single quotes in literal blocks.
+\RequirePackage{upquote}
+
+% Redefine these colors to your liking in the preamble.
+\definecolor{TitleColor}{rgb}{0.126,0.263,0.361}
+\definecolor{InnerLinkColor}{rgb}{0.208,0.374,0.486}
+\definecolor{OuterLinkColor}{rgb}{0.216,0.439,0.388}
+% Redefine these colors to something not white if you want to have colored
+% background and border for code examples.
+\definecolor{VerbatimColor}{rgb}{1,1,1}
+\definecolor{VerbatimBorderColor}{rgb}{1,1,1}
+
+% Uncomment these two lines to ignore the paper size and make the page
+% size more like a typical published manual.
+%\renewcommand{\paperheight}{9in}
+%\renewcommand{\paperwidth}{8.5in} % typical squarish manual
+%\renewcommand{\paperwidth}{7in} % O'Reilly ``Programmming Python''
+
+% use pdfoutput for pTeX and dvipdfmx
+\ifx\kanjiskip\undefined\else
+ \ifx\Gin at driver{dvipdfmx.def}\undefined\else
+ \newcount\pdfoutput\pdfoutput=0
+ \fi
+\fi
+
+% For graphicx, check if we are compiling under latex or pdflatex.
+\ifx\pdftexversion\undefined
+ \usepackage{graphicx}
+\else
+ \usepackage[pdftex]{graphicx}
+\fi
+
+% for PDF output, use colors and maximal compression
+\newif\ifsphinxpdfoutput\sphinxpdfoutputfalse
+\ifx\pdfoutput\undefined\else\ifcase\pdfoutput
+ \let\py at NormalColor\relax
+ \let\py at TitleColor\relax
+\else
+ \sphinxpdfoutputtrue
+ \input{pdfcolor}
+ \def\py at NormalColor{\color[rgb]{0.0,0.0,0.0}}
+ \def\py at TitleColor{\color{TitleColor}}
+ \pdfcompresslevel=9
+\fi\fi
+
+% XeLaTeX can do colors, too
+\ifx\XeTeXrevision\undefined\else
+ \def\py at NormalColor{\color[rgb]{0.0,0.0,0.0}}
+ \def\py at TitleColor{\color{TitleColor}}
+\fi
+
+% Increase printable page size (copied from fullpage.sty)
+\topmargin 0pt
+\advance \topmargin by -\headheight
+\advance \topmargin by -\headsep
+
+% attempt to work a little better for A4 users
+\textheight \paperheight
+\advance\textheight by -2in
+
+\oddsidemargin 0pt
+\evensidemargin 0pt
+%\evensidemargin -.25in % for ``manual size'' documents
+\marginparwidth 0.5in
+
+\textwidth \paperwidth
+\advance\textwidth by -2in
+
+
+% Style parameters and macros used by most documents here
+\raggedbottom
+\sloppy
+\hbadness = 5000 % don't print trivial gripes
+
+\pagestyle{empty} % start this way
+
+% Use this to set the font family for headers and other decor:
+\newcommand{\py at HeaderFamily}{\sffamily\bfseries}
+
+% Redefine the 'normal' header/footer style when using "fancyhdr" package:
+\@ifundefined{fancyhf}{}{
+ % Use \pagestyle{normal} as the primary pagestyle for text.
+ \fancypagestyle{normal}{
+ \fancyhf{}
+ \fancyfoot[LE,RO]{{\py at HeaderFamily\thepage}}
+ \fancyfoot[LO]{{\py at HeaderFamily\nouppercase{\rightmark}}}
+ \fancyfoot[RE]{{\py at HeaderFamily\nouppercase{\leftmark}}}
+ \fancyhead[LE,RO]{{\py at HeaderFamily \@title, \py at release}}
+ \renewcommand{\headrulewidth}{0.4pt}
+ \renewcommand{\footrulewidth}{0.4pt}
+ % define chaptermark with \@chappos when \@chappos is available for Japanese
+ \ifx\@chappos\undefined\else
+ \def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}}
+ \fi
+ }
+ % Update the plain style so we get the page number & footer line,
+ % but not a chapter or section title. This is to keep the first
+ % page of a chapter and the blank page between chapters `clean.'
+ \fancypagestyle{plain}{
+ \fancyhf{}
+ \fancyfoot[LE,RO]{{\py at HeaderFamily\thepage}}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0.4pt}
+ }
+}
+
+% Some custom font markup commands.
+%
+\newcommand{\strong}[1]{{\textbf{#1}}}
+\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\bfcode}[1]{\code{\bfseries#1}}
+\newcommand{\email}[1]{\textsf{#1}}
+
+% Redefine the Verbatim environment to allow border and background colors.
+% The original environment is still used for verbatims within tables.
+\let\OriginalVerbatim=\Verbatim
+\let\endOriginalVerbatim=\endVerbatim
+
+% Play with vspace to be able to keep the indentation.
+\newlength\distancetoright
+\def\mycolorbox#1{%
+ \setlength\distancetoright{\linewidth}%
+ \advance\distancetoright -\@totalleftmargin %
+ \fcolorbox{VerbatimBorderColor}{VerbatimColor}{%
+ \begin{minipage}{\distancetoright}%
+ #1
+ \end{minipage}%
+ }%
+}
+\def\FrameCommand{\mycolorbox}
+
+\renewcommand{\Verbatim}[1][1]{%
+ % list starts new par, but we don't want it to be set apart vertically
+ \bgroup\parskip=0pt%
+ \smallskip%
+ % The list environement is needed to control perfectly the vertical
+ % space.
+ \list{}{%
+ \setlength\parskip{0pt}%
+ \setlength\itemsep{0ex}%
+ \setlength\topsep{0ex}%
+ \setlength\partopsep{0pt}%
+ \setlength\leftmargin{0pt}%
+ }%
+ \item\MakeFramed {\FrameRestore}%
+ \small%
+ \OriginalVerbatim[#1]%
+}
+\renewcommand{\endVerbatim}{%
+ \endOriginalVerbatim%
+ \endMakeFramed%
+ \endlist%
+ % close group to restore \parskip
+ \egroup%
+}
+
+
+% \moduleauthor{name}{email}
+\newcommand{\moduleauthor}[2]{}
+
+% \sectionauthor{name}{email}
+\newcommand{\sectionauthor}[2]{}
+
+% Augment the sectioning commands used to get our own font family in place,
+% and reset some internal data items:
+\titleformat{\section}{\Large\py at HeaderFamily}%
+ {\py at TitleColor\thesection}{0.5em}{\py at TitleColor}{\py at NormalColor}
+\titleformat{\subsection}{\large\py at HeaderFamily}%
+ {\py at TitleColor\thesubsection}{0.5em}{\py at TitleColor}{\py at NormalColor}
+\titleformat{\subsubsection}{\py at HeaderFamily}%
+ {\py at TitleColor\thesubsubsection}{0.5em}{\py at TitleColor}{\py at NormalColor}
+\titleformat{\paragraph}{\small\py at HeaderFamily}%
+ {\py at TitleColor}{0em}{\py at TitleColor}{\py at NormalColor}
+
+% {fulllineitems} is the main environment for object descriptions.
+%
+\newcommand{\py at itemnewline}[1]{%
+ \@tempdima\linewidth%
+ \advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}%
+}
+
+\newenvironment{fulllineitems}{
+ \begin{list}{}{\labelwidth \leftmargin \labelsep 0pt
+ \rightmargin 0pt \topsep -\parskip \partopsep \parskip
+ \itemsep -\parsep
+ \let\makelabel=\py at itemnewline}
+}{\end{list}}
+
+% \optional is used for ``[, arg]``, i.e. desc_optional nodes.
+\newcommand{\optional}[1]{%
+ {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}}
+
+\newlength{\py at argswidth}
+\newcommand{\py at sigparams}[2]{%
+ \parbox[t]{\py at argswidth}{#1\code{)}#2}}
+\newcommand{\pysigline}[1]{\item[#1]\nopagebreak}
+\newcommand{\pysiglinewithargsret}[3]{%
+ \settowidth{\py at argswidth}{#1\code{(}}%
+ \addtolength{\py at argswidth}{-2\py at argswidth}%
+ \addtolength{\py at argswidth}{\linewidth}%
+ \item[#1\code{(}\py at sigparams{#2}{#3}]}
+
+% Production lists
+%
+\newenvironment{productionlist}{
+% \def\optional##1{{\Large[}##1{\Large]}}
+ \def\production##1##2{\\\code{##1}&::=&\code{##2}}
+ \def\productioncont##1{\\& &\code{##1}}
+ \parindent=2em
+ \indent
+ \setlength{\LTpre}{0pt}
+ \setlength{\LTpost}{0pt}
+ \begin{longtable}[l]{lcl}
+}{%
+ \end{longtable}
+}
+
+% Notices / Admonitions
+%
+\newlength{\py at noticelength}
+
+\newcommand{\py at heavybox}{
+ \setlength{\fboxrule}{1pt}
+ \setlength{\fboxsep}{6pt}
+ \setlength{\py at noticelength}{\linewidth}
+ \addtolength{\py at noticelength}{-2\fboxsep}
+ \addtolength{\py at noticelength}{-2\fboxrule}
+ %\setlength{\shadowsize}{3pt}
+ \noindent\Sbox
+ \minipage{\py at noticelength}
+}
+\newcommand{\py at endheavybox}{
+ \endminipage
+ \endSbox
+ \fbox{\TheSbox}
+}
+
+\newcommand{\py at lightbox}{{%
+ \setlength\parskip{0pt}\par
+ \noindent\rule[0ex]{\linewidth}{0.5pt}%
+ \par\noindent\vspace{-0.5ex}%
+ }}
+\newcommand{\py at endlightbox}{{%
+ \setlength{\parskip}{0pt}%
+ \par\noindent\rule[0.5ex]{\linewidth}{0.5pt}%
+ \par\vspace{-0.5ex}%
+ }}
+
+% Some are quite plain:
+\newcommand{\py at noticestart@note}{\py at lightbox}
+\newcommand{\py at noticeend@note}{\py at endlightbox}
+\newcommand{\py at noticestart@hint}{\py at lightbox}
+\newcommand{\py at noticeend@hint}{\py at endlightbox}
+\newcommand{\py at noticestart@important}{\py at lightbox}
+\newcommand{\py at noticeend@important}{\py at endlightbox}
+\newcommand{\py at noticestart@tip}{\py at lightbox}
+\newcommand{\py at noticeend@tip}{\py at endlightbox}
+
+% Others gets more visible distinction:
+\newcommand{\py at noticestart@warning}{\py at heavybox}
+\newcommand{\py at noticeend@warning}{\py at endheavybox}
+\newcommand{\py at noticestart@caution}{\py at heavybox}
+\newcommand{\py at noticeend@caution}{\py at endheavybox}
+\newcommand{\py at noticestart@attention}{\py at heavybox}
+\newcommand{\py at noticeend@attention}{\py at endheavybox}
+\newcommand{\py at noticestart@danger}{\py at heavybox}
+\newcommand{\py at noticeend@danger}{\py at endheavybox}
+\newcommand{\py at noticestart@error}{\py at heavybox}
+\newcommand{\py at noticeend@error}{\py at endheavybox}
+
+\newenvironment{notice}[2]{
+ \def\py at noticetype{#1}
+ \csname py at noticestart@#1\endcsname
+ \strong{#2}
+}{\csname py at noticeend@\py at noticetype\endcsname}
+
+% Allow the release number to be specified independently of the
+% \date{}. This allows the date to reflect the document's date and
+% release to specify the release that is documented.
+%
+\newcommand{\py at release}{}
+\newcommand{\version}{}
+\newcommand{\shortversion}{}
+\newcommand{\releaseinfo}{}
+\newcommand{\releasename}{Release}
+\newcommand{\release}[1]{%
+ \renewcommand{\py at release}{\releasename\space\version}%
+ \renewcommand{\version}{#1}}
+\newcommand{\setshortversion}[1]{%
+ \renewcommand{\shortversion}{#1}}
+\newcommand{\setreleaseinfo}[1]{%
+ \renewcommand{\releaseinfo}{#1}}
+
+% Allow specification of the author's address separately from the
+% author's name. This can be used to format them differently, which
+% is a good thing.
+%
+\newcommand{\py at authoraddress}{}
+\newcommand{\authoraddress}[1]{\renewcommand{\py at authoraddress}{#1}}
+
+% This sets up the fancy chapter headings that make the documents look
+% at least a little better than the usual LaTeX output.
+%
+\@ifundefined{ChTitleVar}{}{
+ \ChNameVar{\raggedleft\normalsize\py at HeaderFamily}
+ \ChNumVar{\raggedleft \bfseries\Large\py at HeaderFamily}
+ \ChTitleVar{\raggedleft \textrm{\Huge\py at HeaderFamily}}
+ % This creates chapter heads without the leading \vspace*{}:
+ \def\@makechapterhead#1{%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c at secnumdepth >\m at ne
+ \DOCH
+ \fi
+ \interlinepenalty\@M
+ \DOTI{#1}
+ }
+ }
+}
+
+% Redefine description environment so that it is usable inside fulllineitems.
+%
+\renewcommand{\description}{%
+ \list{}{\labelwidth\z@%
+ \itemindent-\leftmargin%
+ \labelsep5pt%
+ \let\makelabel=\descriptionlabel}}
+
+% Definition lists; requested by AMK for HOWTO documents. Probably useful
+% elsewhere as well, so keep in in the general style support.
+%
+\newenvironment{definitions}{%
+ \begin{description}%
+ \def\term##1{\item[##1]\mbox{}\\*[0mm]}
+}{%
+ \end{description}%
+}
+
+% Tell TeX about pathological hyphenation cases:
+\hyphenation{Base-HTTP-Re-quest-Hand-ler}
+
+
+% The following is stuff copied from docutils' latex writer.
+%
+\newcommand{\optionlistlabel}[1]{\bf #1 \hfill}
+\newenvironment{optionlist}[1]
+{\begin{list}{}
+ {\setlength{\labelwidth}{#1}
+ \setlength{\rightmargin}{1cm}
+ \setlength{\leftmargin}{\rightmargin}
+ \addtolength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \renewcommand{\makelabel}{\optionlistlabel}}
+}{\end{list}}
+
+\newlength{\lineblockindentation}
+\setlength{\lineblockindentation}{2.5em}
+\newenvironment{lineblock}[1]
+{\begin{list}{}
+ {\setlength{\partopsep}{\parskip}
+ \addtolength{\partopsep}{\baselineskip}
+ \topsep0pt\itemsep0.15\baselineskip\parsep0pt
+ \leftmargin#1}
+ \raggedright}
+{\end{list}}
+
+% Redefine includgraphics for avoiding images larger than the screen size
+% If the size is not specified.
+\let\py at Oldincludegraphics\includegraphics
+
+\newbox\image at box%
+\newdimen\image at width%
+\renewcommand\includegraphics[2][\@empty]{%
+ \ifx#1\@empty%
+ \setbox\image at box=\hbox{\py at Oldincludegraphics{#2}}%
+ \image at width\wd\image at box%
+ \ifdim \image at width>\linewidth%
+ \setbox\image at box=\hbox{\py at Oldincludegraphics[width=\linewidth]{#2}}%
+ \box\image at box%
+ \else%
+ \py at Oldincludegraphics{#2}%
+ \fi%
+ \else%
+ \py at Oldincludegraphics[#1]{#2}%
+ \fi%
+}
+
+% to make pdf with correct encoded bookmarks in Japanese
+% this should precede the hyperref package
+\ifx\kanjiskip\undefined\else
+ \usepackage{atbegshi}
+ \ifx\ucs\undefined
+ \ifnum 42146=\euc"A4A2
+ \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}}
+ \else
+ \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
+ \fi
+ \else
+ \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}}
+ \fi
+\fi
+
+% Include hyperref last.
+\RequirePackage[colorlinks,breaklinks,
+ linkcolor=InnerLinkColor,filecolor=OuterLinkColor,
+ menucolor=OuterLinkColor,urlcolor=OuterLinkColor,
+ citecolor=InnerLinkColor]{hyperref}
+% Fix anchor placement for figures with captions.
+% (Note: we don't use a package option here; instead, we give an explicit
+% \capstart for figures that actually have a caption.)
+\RequirePackage{hypcap}
+
+% From docutils.writers.latex2e
+\providecommand{\DUspan}[2]{%
+ {% group ("span") to limit the scope of styling commands
+ \@for\node at class@name:=#1\do{%
+ \ifcsname docutilsrole\node at class@name\endcsname%
+ \csname docutilsrole\node at class@name\endcsname%
+ \fi%
+ }%
+ {#2}% node content
+ }% close "span"
+}
+
+\providecommand*{\DUprovidelength}[2]{
+ \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{}
+}
+
+\DUprovidelength{\DUlineblockindent}{2.5em}
+\ifthenelse{\isundefined{\DUlineblock}}{
+ \newenvironment{DUlineblock}[1]{%
+ \list{}{\setlength{\partopsep}{\parskip}
+ \addtolength{\partopsep}{\baselineskip}
+ \setlength{\topsep}{0pt}
+ \setlength{\itemsep}{0.15\baselineskip}
+ \setlength{\parsep}{0pt}
+ \setlength{\leftmargin}{#1}}
+ \raggedright
+ }
+ {\endlist}
+}{}
+
+
+% From footmisc.sty: allows footnotes in titles
+\let\FN at sf@@footnote\footnote
+\def\footnote{\ifx\protect\@typeset at protect
+ \expandafter\FN at sf@@footnote
+ \else
+ \expandafter\FN at sf@gobble at opt
+ \fi
+}
+\edef\FN at sf@gobble at opt{\noexpand\protect
+ \expandafter\noexpand\csname FN at sf@gobble at opt \endcsname}
+\expandafter\def\csname FN at sf@gobble at opt \endcsname{%
+ \@ifnextchar[%]
+ \FN at sf@gobble at twobracket
+ \@gobble
+}
+\def\FN at sf@gobble at twobracket[#1]#2{}
+
+% adjust the margins for footer,
+% this works with the jsclasses only (Japanese standard document classes)
+\ifx\@jsc at uplatextrue\undefined\else
+ \hypersetup{setpagesize=false}
+ \setlength\footskip{2\baselineskip}
+ \addtolength{\textheight}{-2\baselineskip}
+\fi
+
+% fix the double index and bibliography on the table of contents
+% in jsclasses (Japanese standard document classes)
+\ifx\@jsc at uplatextrue\undefined\else
+ \renewcommand{\theindex}{
+ \cleardoublepage
+ \phantomsection
+ \py at OldTheindex
+ }
+ \renewcommand{\thebibliography}[1]{
+ \cleardoublepage
+ \phantomsection
+ \py at OldThebibliography{1}
+ }
+\fi
+
+% disable \@chappos in Appendix in pTeX
+\ifx\kanjiskip\undefined\else
+ \let\py at OldAppendix=\appendix
+ \renewcommand{\appendix}{
+ \py at OldAppendix
+ \gdef\@chappos{}
+ }
+\fi
diff --git a/documentation/latex/sphinxhowto.cls b/documentation/latex/sphinxhowto.cls
new file mode 100644
index 0000000..26e63a7
--- /dev/null
+++ b/documentation/latex/sphinxhowto.cls
@@ -0,0 +1,104 @@
+%
+% sphinxhowto.cls for Sphinx (http://sphinx-doc.org/)
+%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{sphinxhowto}[2009/06/02 Document class (Sphinx HOWTO)]
+
+% 'oneside' option overriding the 'twoside' default
+\newif\if at oneside
+\DeclareOption{oneside}{\@onesidetrue}
+% Pass remaining document options to the parent class.
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}}
+\ProcessOptions\relax
+
+% Default to two-side document
+\if at oneside
+% nothing to do (oneside is the default)
+\else
+\PassOptionsToClass{twoside}{\sphinxdocclass}
+\fi
+
+\LoadClass{\sphinxdocclass}
+
+% Set some sane defaults for section numbering depth and TOC depth. You can
+% reset these counters in your preamble.
+%
+\setcounter{secnumdepth}{2}
+
+% Change the title page to look a bit better, and fit in with the fncychap
+% ``Bjarne'' style a bit better.
+%
+\renewcommand{\maketitle}{
+ \rule{\textwidth}{1pt}
+ \ifsphinxpdfoutput
+ \begingroup
+ % These \defs are required to deal with multi-line authors; it
+ % changes \\ to ', ' (comma-space), making it pass muster for
+ % generating document info in the PDF file.
+ \def\\{, }
+ \def\and{and }
+ \pdfinfo{
+ /Author (\@author)
+ /Title (\@title)
+ }
+ \endgroup
+ \fi
+ \begin{flushright}
+ \sphinxlogo%
+ {\rm\Huge\py at HeaderFamily \@title} \par
+ {\em\large\py at HeaderFamily \py at release\releaseinfo} \par
+ \vspace{25pt}
+ {\Large\py at HeaderFamily
+ \begin{tabular}[t]{c}
+ \@author
+ \end{tabular}} \par
+ \vspace{25pt}
+ \@date \par
+ \py at authoraddress \par
+ \end{flushright}
+ \@thanks
+ \setcounter{footnote}{0}
+ \let\thanks\relax\let\maketitle\relax
+ %\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
+}
+
+\let\py at OldTableofcontents=\tableofcontents
+\renewcommand{\tableofcontents}{
+ \begingroup
+ \parskip = 0mm
+ \py at OldTableofcontents
+ \endgroup
+ \rule{\textwidth}{1pt}
+ \vspace{12pt}
+}
+
+\@ifundefined{fancyhf}{
+ \pagestyle{plain}}{
+ \pagestyle{normal}} % start this way; change for
+\pagenumbering{arabic} % ToC & chapters
+
+\thispagestyle{empty}
+
+% Fix the bibliography environment to add an entry to the Table of
+% Contents.
+% For an article document class this environment is a section,
+% so no page break before it.
+\let\py at OldThebibliography=\thebibliography
+\renewcommand{\thebibliography}[1]{
+ \phantomsection
+ \py at OldThebibliography{1}
+ \addcontentsline{toc}{section}{\bibname}
+}
+
+% Same for the indices.
+% The memoir class already does this, so we don't duplicate it in that case.
+%
+\@ifclassloaded{memoir}{}{
+ \let\py at OldTheindex=\theindex
+ \renewcommand{\theindex}{
+ \phantomsection
+ \py at OldTheindex
+ \addcontentsline{toc}{section}{\indexname}
+ }
+}
diff --git a/documentation/latex/sphinxmanual.cls b/documentation/latex/sphinxmanual.cls
new file mode 100644
index 0000000..a6b9b39
--- /dev/null
+++ b/documentation/latex/sphinxmanual.cls
@@ -0,0 +1,148 @@
+%
+% sphinxmanual.cls for Sphinx (http://sphinx-doc.org/)
+%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{sphinxmanual}[2009/06/02 Document class (Sphinx manual)]
+
+% chapters starting at odd pages (overridden by 'openany' document option)
+\PassOptionsToClass{openright}{\sphinxdocclass}
+
+% 'oneside' option overriding the 'twoside' default
+\newif\if at oneside
+\DeclareOption{oneside}{\@onesidetrue}
+% Pass remaining document options to the parent class.
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}}
+\ProcessOptions\relax
+
+% Defaults two-side document
+\if at oneside
+% nothing to do (oneside is the default)
+\else
+\PassOptionsToClass{twoside}{\sphinxdocclass}
+\fi
+
+\LoadClass{\sphinxdocclass}
+
+% Set some sane defaults for section numbering depth and TOC depth. You can
+% reset these counters in your preamble.
+%
+\setcounter{secnumdepth}{2}
+\setcounter{tocdepth}{1}
+
+% Change the title page to look a bit better, and fit in with the fncychap
+% ``Bjarne'' style a bit better.
+%
+\renewcommand{\maketitle}{%
+ \begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \rule{\textwidth}{1pt}%
+ \ifsphinxpdfoutput
+ \begingroup
+ % These \defs are required to deal with multi-line authors; it
+ % changes \\ to ', ' (comma-space), making it pass muster for
+ % generating document info in the PDF file.
+ \def\\{, }
+ \def\and{and }
+ \pdfinfo{
+ /Author (\@author)
+ /Title (\@title)
+ }
+ \endgroup
+ \fi
+ \begin{flushright}%
+ \sphinxlogo%
+ {\rm\Huge\py at HeaderFamily \@title \par}%
+ {\em\LARGE\py at HeaderFamily \py at release\releaseinfo \par}
+ \vfill
+ {\LARGE\py at HeaderFamily
+ \begin{tabular}[t]{c}
+ \@author
+ \end{tabular}
+ \par}
+ \vfill\vfill
+ {\large
+ \@date \par
+ \vfill
+ \py at authoraddress \par
+ }%
+ \end{flushright}%\par
+ \@thanks
+ \end{titlepage}%
+ \cleardoublepage%
+ \setcounter{footnote}{0}%
+ \let\thanks\relax\let\maketitle\relax
+ %\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
+}
+
+
+% Catch the end of the {abstract} environment, but here make sure the abstract
+% is followed by a blank page if the 'openright' option is used.
+%
+\let\py at OldEndAbstract=\endabstract
+\renewcommand{\endabstract}{
+ \if at openright
+ \ifodd\value{page}
+ \typeout{Adding blank page after the abstract.}
+ \vfil\pagebreak
+ \fi
+ \fi
+ \py at OldEndAbstract
+}
+
+% This wraps the \tableofcontents macro with all the magic to get the spacing
+% right and have the right number of pages if the 'openright' option has been
+% used. This eliminates a fair amount of crud in the individual document files.
+%
+\let\py at OldTableofcontents=\tableofcontents
+\renewcommand{\tableofcontents}{%
+ \pagenumbering{roman}%
+ \setcounter{page}{1}%
+ \pagebreak%
+ \pagestyle{plain}%
+ {%
+ \parskip = 0mm%
+ \py at OldTableofcontents%
+ \if at openright%
+ \ifodd\value{page}%
+ \typeout{Adding blank page after the table of contents.}%
+ \pagebreak\hspace{0pt}%
+ \fi%
+ \fi%
+ \cleardoublepage%
+ }%
+ \pagenumbering{arabic}%
+ \@ifundefined{fancyhf}{}{\pagestyle{normal}}%
+}
+\pagenumbering{alph}
+
+% This is needed to get the width of the section # area wide enough in the
+% library reference. Doing it here keeps it the same for all the manuals.
+%
+\renewcommand*\l at section{\@dottedtocline{1}{1.5em}{2.6em}}
+\renewcommand*\l at subsection{\@dottedtocline{2}{4.1em}{3.5em}}
+
+% Fix the bibliography environment to add an entry to the Table of
+% Contents.
+% For a report document class this environment is a chapter.
+\let\py at OldThebibliography=\thebibliography
+\renewcommand{\thebibliography}[1]{
+ \cleardoublepage
+ \phantomsection
+ \py at OldThebibliography{1}
+ \addcontentsline{toc}{chapter}{\bibname}
+}
+
+% Same for the indices.
+% The memoir class already does this, so we don't duplicate it in that case.
+%
+\@ifclassloaded{memoir}{}{
+ \let\py at OldTheindex=\theindex
+ \renewcommand{\theindex}{
+ \cleardoublepage
+ \phantomsection
+ \py at OldTheindex
+ \addcontentsline{toc}{chapter}{\indexname}
+ }
+}
diff --git a/documentation/latex/tabulary.sty b/documentation/latex/tabulary.sty
new file mode 100644
index 0000000..11fdf74
--- /dev/null
+++ b/documentation/latex/tabulary.sty
@@ -0,0 +1,452 @@
+%%
+%% This is file `tabulary.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tabulary.dtx (with options: `package')
+%% DRAFT VERSION
+%%
+%% File `tabulary.dtx'.
+%% Copyright (C) 1995 1996 2003 2008 David Carlisle
+%% This file may be distributed under the terms of the LPPL.
+%% See 00readme.txt for details.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tabulary}
+ [2008/12/01 v0.9 tabulary package (DPC)]
+\RequirePackage{array}
+\catcode`\Z=14
+\DeclareOption{debugshow}{\catcode`\Z=9\relax}
+\ProcessOptions
+\def\arraybackslash{\let\\=\@arraycr}
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+\newcount\TY at count
+\def\tabulary{%
+ \let\TY at final\tabular
+ \let\endTY at final\endtabular
+ \TY at tabular}
+\def\TY at tabular#1{%
+ \edef\TY@{\@currenvir}%
+ {\ifnum0=`}\fi
+ \@ovxx\TY at linewidth
+ \@ovyy\TY at tablewidth
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if at tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY at F\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \expandafter\let\csname TY at SF\the\count@\expandafter\endcsname
+ \csname TY at F\the\count@\endcsname
+ \global\expandafter\let\csname TY at F\the\count@\endcsname\relax
+ \expandafter\let\csname TY at S\the\count@\expandafter\endcsname
+ \csname TY@\the\count@\endcsname
+ \fi}%
+ \global\TY at count\@ne
+ \TY at width\xdef{0pt}%
+ \global\TY at tablewidth\z@
+ \global\TY at linewidth#1\relax
+Z\message{^^J^^JTable^^J%
+Z Target Width: \the\TY at linewidth^^J%
+Z \string\tabcolsep: \the\tabcolsep\space
+Z \string\arrayrulewidth: \the\arrayrulewidth\space
+Z \string\doublerulesep: \the\doublerulesep^^J%
+Z \string\tymin: \the\tymin\space
+Z \string\tymax: \the\tymax^^J}%
+ \let\@classz\TY at classz
+ \let\verb\TX at verb
+ \toks@{}\TY at get@body}
+\let\TY@@mkpream\@mkpream
+\def\TY at mkpream{%
+ \def\@addamp{%
+ \if at firstamp \@firstampfalse \else
+ \global\advance\TY at count\@ne
+ \edef\@preamble{\@preamble &}\fi
+ \TY at width\xdef{0pt}}%
+ \def\@acol{%
+ \TY at subwidth\col at sep
+ \@addtopreamble{\hskip\col at sep}}%
+ \let\@arrayrule\TY at arrayrule
+ \let\@classvi\TY at classvi
+ \def\@classv{\save at decl
+ \expandafter\NC at ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \sbox\z@{\d at llarbegin\@nextchar\d at llarend}%
+ \TY at subwidth{\wd\z@}%
+ \@addtopreamble{\d at llarbegin\the at toks\the\count@\relax\d at llarend}%
+ \prepnext at tok}%
+ \global\let\@mkpream\TY@@mkpream
+ \TY@@mkpream}
+\def\TY at arrayrule{%
+ \TY at subwidth\arrayrulewidth
+ \@addtopreamble \vline}
+\def\TY at classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY at subwidth\doublerulesep
+ \@addtopreamble{\hskip \doublerulesep}\or
+ \@acol \or
+ \@classvii
+ \fi}
+\def\TY at tab{%
+ \setbox\z@\hbox\bgroup
+ \let\[$\let\]$%
+ \let\equation$\let\endequation$%
+ \col at sep\tabcolsep
+ \let\d at llarbegin\begingroup\let\d at llarend\endgroup
+ \let\@mkpream\TY at mkpream
+ \def\multicolumn##1##2##3{\multispan##1\relax}%
+ \CT at start\TY at tabarray}
+\def\TY at tabarray{\@ifnextchar[{\TY at array}{\@array[t]}}
+\def\TY at array[#1]{\@array[t]}
+\def\TY at width#1{%
+ \expandafter#1\csname TY@\the\TY at count\endcsname}
+\def\TY at subwidth#1{%
+ \TY at width\dimen@
+ \advance\dimen at -#1\relax
+ \TY at width\xdef{\the\dimen@}%
+ \global\advance\TY at linewidth-#1\relax}
+\def\endtabulary{%
+ \gdef\@halignto{}%
+ \let\TY at footnote\footnote%
+ \def\footnote{}% prevent footnotes from doing anything
+ \expandafter\TY at tab\the\toks@
+ \crcr\omit
+ {\xdef\TY at save@row{}%
+ \loop
+ \advance\TY at count\m at ne
+ \ifnum\TY at count>\z@
+ \xdef\TY at save@row{\TY at save@row&\omit}%
+ \repeat}\TY at save@row
+ \endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
+ \unskip\global\setbox1=\lastbox}\egroup
+ \dimen@\TY at linewidth
+ \divide\dimen@\TY at count
+ \ifdim\dimen@<\tymin
+ \TY at warn{tymin too large (\the\tymin), resetting to \the\dimen@}%
+ \tymin\dimen@
+ \fi
+ \setbox\tw@=\hbox{\unhbox\@ne
+ \loop
+\@tempdima=\lastskip
+\ifdim\@tempdima>\z@
+Z \message{ecs=\the\@tempdima^^J}%
+ \global\advance\TY at linewidth-\@tempdima
+\fi
+ \unskip
+ \setbox\tw@=\lastbox
+ \ifhbox\tw@
+Z \message{Col \the\TY at count: Initial=\the\wd\tw@\space}%
+ \ifdim\wd\tw@>\tymax
+ \wd\tw@\tymax
+Z \message{> max\space}%
+Z \else
+Z \message{ \@spaces\space}%
+ \fi
+ \TY at width\dimen@
+Z \message{\the\dimen@\space}%
+ \advance\dimen@\wd\tw@
+Z \message{Final=\the\dimen@\space}%
+ \TY at width\xdef{\the\dimen@}%
+ \ifdim\dimen@<\tymin
+Z \message{< tymin}%
+ \global\advance\TY at linewidth-\dimen@
+ \expandafter\xdef\csname TY at F\the\TY at count\endcsname
+ {\the\dimen@}%
+ \else
+ \expandafter\ifx\csname TY at F\the\TY at count\endcsname\z@
+Z \message{***}%
+ \global\advance\TY at linewidth-\dimen@
+ \expandafter\xdef\csname TY at F\the\TY at count\endcsname
+ {\the\dimen@}%
+ \else
+Z \message{> tymin}%
+ \global\advance\TY at tablewidth\dimen@
+ \global\expandafter\let\csname TY at F\the\TY at count\endcsname
+ \maxdimen
+ \fi\fi
+ \advance\TY at count\m at ne
+ \repeat}%
+ \TY at checkmin
+ \TY at checkmin
+ \TY at checkmin
+ \TY at checkmin
+ \TY at count\z@
+ \let\TY at box\TY at box@v
+ \let\footnote\TY at footnote % restore footnotes
+ {\expandafter\TY at final\the\toks@\endTY at final}%
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if at tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY at SF\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \global\expandafter\let\csname TY at F\the\count@\expandafter\endcsname
+ \csname TY at SF\the\count@\endcsname
+ \global\expandafter\let\csname TY@\the\count@\expandafter\endcsname
+ \csname TY at S\the\count@\endcsname
+ \fi}%
+ \TY at linewidth\@ovxx
+ \TY at tablewidth\@ovyy
+ \ifnum0=`{\fi}}
+\def\TY at checkmin{%
+ \let\TY at checkmin\relax
+\ifdim\TY at tablewidth>\z@
+ \Gscale at div\TY at ratio\TY at linewidth\TY at tablewidth
+ \ifdim\TY at tablewidth <\TY at linewidth
+ \def\TY at ratio{1}%
+ \fi
+\else
+ \TY at warn{No suitable columns!}%
+ \def\TY at ratio{1}%
+\fi
+\count@\z@
+Z \message{^^JLine Width: \the\TY at linewidth,
+Z Natural Width: \the\TY at tablewidth,
+Z Ratio: \TY at ratio^^J}%
+\@tempdima\z@
+\loop
+\ifnum\count@<\TY at count
+\advance\count@\@ne
+ \ifdim\csname TY at F\the\count@\endcsname>\tymin
+ \dimen@\csname TY@\the\count@\endcsname
+ \dimen@\TY at ratio\dimen@
+ \ifdim\dimen@<\tymin
+Z \message{Column \the\count@\space ->}%
+ \global\expandafter\let\csname TY at F\the\count@\endcsname\tymin
+ \global\advance\TY at linewidth-\tymin
+ \global\advance\TY at tablewidth-\csname TY@\the\count@\endcsname
+ \let\TY at checkmin\TY@@checkmin
+ \else
+ \expandafter\xdef\csname TY at F\the\count@\endcsname{\the\dimen@}%
+ \advance\@tempdima\csname TY at F\the\count@\endcsname
+ \fi
+ \fi
+Z \dimen@\csname TY at F\the\count@\endcsname\message{\the\dimen@, }%
+\repeat
+Z \message{^^JTotal:\the\@tempdima^^J}%
+}
+\let\TY@@checkmin\TY at checkmin
+\newdimen\TY at linewidth
+\def\tyformat{\everypar{{\nobreak\hskip\z at skip}}}
+\newdimen\tymin
+\tymin=10pt
+\newdimen\tymax
+\tymax=2\textwidth
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar l\@ne \else
+ \if \@nextchar r\tw@ \else
+ \if \@nextchar C7 \else
+ \if \@nextchar L8 \else
+ \if \@nextchar R9 \else
+ \if \@nextchar J10 \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar b5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+\def\TY at classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY at box\TY at box@v
+ \global\advance\TY at count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext at tok
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \ifcase\@chnum
+ \hfil \d at llarbegin\insert at column\d at llarend \hfil \or
+ \kern\z@
+ \d at llarbegin \insert at column \d at llarend \hfil \or
+ \hfil\kern\z@ \d at llarbegin \insert at column \d at llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert at column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert at column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert at column \@endpbox \or
+ \d at llarbegin \insert at column \d at llarend \or% dubious "s" case
+ \TY at box\centering\or
+ \TY at box\raggedright\or
+ \TY at box\raggedleft\or
+ \TY at box\relax
+ \fi}\prepnext at tok}
+\def\TY at box#1{%
+ \ifx\centering#1%
+ \hfil \d at llarbegin\insert at column\d at llarend \hfil \else
+ \ifx\raggedright#1%
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d at llarbegin \insert at column \d at llarend \hfil \else
+ \ifx\raggedleft#1%
+ \hfil\kern\z@ \d at llarbegin \insert at column \d at llarend \else
+ \ifx\relax#1%
+ \d at llarbegin \insert at column \d at llarend
+ \fi \fi \fi \fi}
+\def\TY at box@v#1{%
+ \vtop \@startpbox{\csname TY at F\the\TY at count\endcsname}%
+ #1\arraybackslash\tyformat
+ \insert at column\@endpbox}
+\newdimen\TY at tablewidth
+\def\Gscale at div#1#2#3{%
+ \setlength\dimen@{#3}%
+ \ifdim\dimen@=\z@
+ \PackageError{graphics}{Division by 0}\@eha
+ \dimen@#2%
+ \fi
+ \edef\@tempd{\the\dimen@}%
+ \setlength\dimen@{#2}%
+ \count at 65536\relax
+ \ifdim\dimen@<\z@
+ \dimen at -\dimen@
+ \count at -\count@
+ \fi
+ \loop
+ \ifdim\dimen@<8192\p@
+ \dimen@\tw@\dimen@
+ \divide\count@\tw@
+ \repeat
+ \dimen at ii=\@tempd\relax
+ \divide\dimen at ii\count@
+ \divide\dimen@\dimen at ii
+ \edef#1{\strip at pt\dimen@}}
+\long\def\TY at get@body#1\end
+ {\toks@\expandafter{\the\toks@#1}\TY at find@end}
+\def\TY at find@end#1{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\TY@\def\@tempa{\end{#1}}\expandafter\@tempa
+ \else\toks@\expandafter
+ {\the\toks@\end{#1}}\expandafter\TY at get@body\fi}
+\def\TY at warn{%
+ \PackageWarning{tabulary}}
+\catcode`\Z=11
+\AtBeginDocument{
+\@ifpackageloaded{colortbl}{%
+\expandafter\def\expandafter\@mkpream\expandafter#\expandafter1%
+ \expandafter{%
+ \expandafter\let\expandafter\CT at setup\expandafter\relax
+ \expandafter\let\expandafter\CT at color\expandafter\relax
+ \expandafter\let\expandafter\CT at do@color\expandafter\relax
+ \expandafter\let\expandafter\color\expandafter\relax
+ \expandafter\let\expandafter\CT at column@color\expandafter\relax
+ \expandafter\let\expandafter\CT at row@color\expandafter\relax
+ \@mkpream{#1}}
+\let\TY@@mkpream\@mkpream
+\def\TY at classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY at box\TY at box@v
+ \global\advance\TY at count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext at tok
+\expandafter\CT at extract\the\toks\@tempcnta\columncolor!\@nil
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \setbox\z@\hbox\bgroup\bgroup
+ \ifcase\@chnum
+ \hskip\stretch{.5}\kern\z@
+ \d at llarbegin\insert at column\d at llarend\hskip\stretch{.5}\or
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d at llarbegin \insert at column \d at llarend \hfill \or
+ \hfill\kern\z@ \d at llarbegin \insert at column \d at llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert at column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert at column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert at column \@endpbox \or
+ \d at llarbegin \insert at column \d at llarend \or% dubious s case
+ \TY at box\centering\or
+ \TY at box\raggedright\or
+ \TY at box\raggedleft\or
+ \TY at box\relax
+ \fi
+ \egroup\egroup
+\begingroup
+ \CT at setup
+ \CT at column@color
+ \CT at row@color
+ \CT at do@color
+\endgroup
+ \@tempdima\ht\z@
+ \advance\@tempdima\minrowclearance
+ \vrule\@height\@tempdima\@width\z@
+\unhbox\z@
+}\prepnext at tok}%
+ \def\TY at arrayrule{%
+ \TY at subwidth\arrayrulewidth
+ \@addtopreamble{{\CT at arc@\vline}}}%
+ \def\TY at classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY at subwidth\doublerulesep
+ \ifx\CT at drsc@\relax
+ \@addtopreamble{\hskip\doublerulesep}%
+ \else
+ \@addtopreamble{{\CT at drsc@\vrule\@width\doublerulesep}}%
+ \fi\or
+ \@acol \or
+ \@classvii
+ \fi}%
+}{%
+\let\CT at start\relax
+}
+}
+{\uccode`\*=`\ %
+\uppercase{\gdef\TX at verb{%
+ \leavevmode\null\TX at vwarn
+ {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
+ \@ifstar{\let~*\TX at vb}{\TX at vb}}}}
+\def\TX at vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
+ \expandafter\TX at v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
+\def\TX at v#1!{\afterassignment\TX at vfirst\let\@tempa= }
+\begingroup
+\catcode`\*=\catcode`\#
+\catcode`\#=12
+\gdef\TX at vfirst{%
+ \if\@tempa#%
+ \def\@tempb{\TX at v@#}%
+ \else
+ \let\@tempb\TX at v@
+ \if\@tempa\space~\else\@tempa\fi
+ \fi
+ \@tempb}
+\gdef\TX at v@*1 *2{%
+ \TX at v@hash*1##\relax\if*2\\\else~\expandafter\TX at v@\fi*2}
+\gdef\TX at v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX at v@hash\fi*2}
+\endgroup
+\def\TX at vwarn{%
+ \@warning{\noexpand\verb may be unreliable inside tabularx/y}%
+ \global\let\TX at vwarn\@empty}
+\endinput
+%%
+%% End of file `tabulary.sty'.
diff --git a/documentation/latex/xmds2.aux b/documentation/latex/xmds2.aux
index 3da2e20..d4a9e61 100644
--- a/documentation/latex/xmds2.aux
+++ b/documentation/latex/xmds2.aux
@@ -77,32 +77,32 @@
\newlabel{worked_examples:kubo}{{4.2}{19}{Kubo Oscillator}{section.4.2}{}}
\newlabel{worked_examples:kubo-oscillator}{{4.2}{19}{Kubo Oscillator}{section.4.2}{}}
\newlabel{worked_examples:index-2}{{4.2}{19}{Kubo Oscillator}{section.4.2}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}Fibre Noise}{21}{section.4.3}}
+\newlabel{worked_examples:fibre}{{4.3}{21}{Fibre Noise}{section.4.3}{}}
+\newlabel{worked_examples:fibre-noise}{{4.3}{21}{Fibre Noise}{section.4.3}{}}
+\newlabel{worked_examples:index-5}{{4.3}{21}{Fibre Noise}{section.4.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces The mean value of the real and imaginary components of the z variable for a single path of the simulation.}}{22}{figure.4.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of $\qopname \relax o{exp}(-t/2)$.}}{22}{figure.4.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}Fibre Noise}{23}{section.4.3}}
-\newlabel{worked_examples:fibre}{{4.3}{23}{Fibre Noise}{section.4.3}{}}
-\newlabel{worked_examples:fibre-noise}{{4.3}{23}{Fibre Noise}{section.4.3}{}}
-\newlabel{worked_examples:index-5}{{4.3}{23}{Fibre Noise}{section.4.3}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of \relax $\qopname \relax o{exp}(-t/2)\relax \GenericError { }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type I <command> <return> to repl [...]
\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces The momentum space density of the field as a function of time for a single path realisation.}}{25}{figure.4.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.4}Integer Dimensions}{25}{section.4.4}}
+\newlabel{worked_examples:integer-dimensions}{{4.4}{25}{Integer Dimensions}{section.4.4}{}}
+\newlabel{worked_examples:integerdimensionexample}{{4.4}{25}{Integer Dimensions}{section.4.4}{}}
+\newlabel{worked_examples:index-8}{{4.4}{25}{Integer Dimensions}{section.4.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces The momentum space density of the field as a function of time for an average of 1024 paths.}}{26}{figure.4.4}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.4}Integer Dimensions}{27}{section.4.4}}
-\newlabel{worked_examples:integer-dimensions}{{4.4}{27}{Integer Dimensions}{section.4.4}{}}
-\newlabel{worked_examples:integerdimensionexample}{{4.4}{27}{Integer Dimensions}{section.4.4}{}}
-\newlabel{worked_examples:index-8}{{4.4}{27}{Integer Dimensions}{section.4.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.5}Wigner Function}{28}{section.4.5}}
\newlabel{worked_examples:wigner-function}{{4.5}{28}{Wigner Function}{section.4.5}{}}
\newlabel{worked_examples:wignerarguments}{{4.5}{28}{Wigner Function}{section.4.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.6}Finding the Ground State of a BEC (continuous renormalisation)}{31}{section.4.6}}
\newlabel{worked_examples:groundstatebec}{{4.6}{31}{Finding the Ground State of a BEC (continuous renormalisation)}{section.4.6}{}}
\newlabel{worked_examples:finding-the-ground-state-of-a-bec-continuous-renormalisation}{{4.6}{31}{Finding the Ground State of a BEC (continuous renormalisation)}{section.4.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{35}{section.4.7}}
-\newlabel{worked_examples:finding-the-ground-state-of-a-bec-again}{{4.7}{35}{Finding the Ground State of a BEC again}{section.4.7}{}}
-\newlabel{worked_examples:hermitegaussgroundstatebec}{{4.7}{35}{Finding the Ground State of a BEC again}{section.4.7}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces The shape of the ground state rapidly approaches the lowest eigenstate. For weak nonlinearities, it is nearly Gaussian.}}{36}{figure.4.5}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces When the nonlinear term is larger ($U=20$), the ground state is wider and more parabolic.}}{37}{figure.4.6}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{40}{section.4.8}}
-\newlabel{worked_examples:dmultistatese}{{4.8}{40}{Multi-component Schrödinger equation}{section.4.8}{}}
-\newlabel{worked_examples:multi-component-schrodinger-equation}{{4.8}{40}{Multi-component Schrödinger equation}{section.4.8}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces The shape of the ground state rapidly approaches the lowest eigenstate. For weak nonlinearities, it is nearly Gaussian.}}{35}{figure.4.5}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces When the nonlinear term is larger (\relax $U=20\relax \GenericError { }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type I <command> <return> to replace it with another command,\MessageBreak or <return> to continue without it.}), the ground state is wider and more parabolic.}}{36}{figure.4.6}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{36}{section.4.7}}
+\newlabel{worked_examples:finding-the-ground-state-of-a-bec-again}{{4.7}{36}{Finding the Ground State of a BEC again}{section.4.7}{}}
+\newlabel{worked_examples:hermitegaussgroundstatebec}{{4.7}{36}{Finding the Ground State of a BEC again}{section.4.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{39}{section.4.8}}
+\newlabel{worked_examples:dmultistatese}{{4.8}{39}{Multi-component Schrödinger equation}{section.4.8}{}}
+\newlabel{worked_examples:multi-component-schrodinger-equation}{{4.8}{39}{Multi-component Schrödinger equation}{section.4.8}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Reference section}{43}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
@@ -121,11 +121,11 @@
\newlabel{reference_schema:index-0}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
\newlabel{reference_schema::doc}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
\newlabel{reference_schema:referenceschema}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.4}XMDS2 script elements}{46}{section.5.4}}
-\newlabel{reference_elements:index-0}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements:xmds2-script-elements}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements::doc}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements:referenceelements}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}XMDS2 script elements}{47}{section.5.4}}
+\newlabel{reference_elements:index-0}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements:xmds2-script-elements}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements::doc}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements:referenceelements}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Simulation element}{47}{subsection.5.4.1}}
\newlabel{reference_elements:simulation-element}{{5.4.1}{47}{Simulation element}{subsection.5.4.1}{}}
\newlabel{reference_elements:simulationelement}{{5.4.1}{47}{Simulation element}{subsection.5.4.1}{}}
@@ -142,10 +142,10 @@
\newlabel{reference_elements:index-4}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
\newlabel{reference_elements:descriptionelement}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
\newlabel{reference_elements:description-element}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.5}Features Elements}{47}{subsection.5.4.5}}
-\newlabel{reference_elements:features-elements}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
-\newlabel{reference_elements:featureselement}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
-\newlabel{reference_elements:index-5}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.5}Features Elements}{48}{subsection.5.4.5}}
+\newlabel{reference_elements:features-elements}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
+\newlabel{reference_elements:featureselement}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
+\newlabel{reference_elements:index-5}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Arguments Element}{48}{subsubsection*.5}}
\newlabel{reference_elements:index-6}{{5.4.5}{48}{Arguments Element}{subsubsection*.5}{}}
\newlabel{reference_elements:argumentselement}{{5.4.5}{48}{Arguments Element}{subsubsection*.5}{}}
@@ -166,10 +166,10 @@
\newlabel{reference_elements:bing}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
\newlabel{reference_elements:id2}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
\newlabel{reference_elements:index-11}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
-\@writefile{toc}{\contentsline {subsubsection}{C Flags}{49}{subsubsection*.10}}
-\newlabel{reference_elements:c-flags}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
-\newlabel{reference_elements:index-12}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
-\newlabel{reference_elements:cflags}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
+\@writefile{toc}{\contentsline {subsubsection}{C Flags}{50}{subsubsection*.10}}
+\newlabel{reference_elements:c-flags}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
+\newlabel{reference_elements:index-12}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
+\newlabel{reference_elements:cflags}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Chunked Output}{50}{subsubsection*.11}}
\newlabel{reference_elements:chunked-output}{{5.4.5}{50}{Chunked Output}{subsubsection*.11}{}}
\newlabel{reference_elements:index-13}{{5.4.5}{50}{Chunked Output}{subsubsection*.11}{}}
@@ -198,10 +198,10 @@
\newlabel{reference_elements:openmp}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
\newlabel{reference_elements:index-20}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
\newlabel{reference_elements:id5}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Precision}{51}{subsubsection*.18}}
-\newlabel{reference_elements:id6}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
-\newlabel{reference_elements:index-21}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
-\newlabel{reference_elements:precision}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Precision}{52}{subsubsection*.18}}
+\newlabel{reference_elements:id6}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
+\newlabel{reference_elements:index-21}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
+\newlabel{reference_elements:precision}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
\@writefile{toc}{\contentsline {subsubsection}{Validation}{52}{subsubsection*.19}}
\newlabel{reference_elements:index-22}{{5.4.5}{52}{Validation}{subsubsection*.19}{}}
\newlabel{reference_elements:validation}{{5.4.5}{52}{Validation}{subsubsection*.19}{}}
@@ -229,14 +229,14 @@
\newlabel{reference_elements:dst-transform}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
\newlabel{reference_elements:the-dst-transform}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
\newlabel{reference_elements:index-37}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
-\@writefile{toc}{\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{57}{subsubsection*.27}}
-\newlabel{reference_elements:the-bessel-and-bessel-neumann-transforms}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\newlabel{reference_elements:index-39}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\newlabel{reference_elements:besseltransform}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\@writefile{toc}{\contentsline {subsubsection}{The ``spherical-bessel'' transform}{58}{subsubsection*.28}}
-\newlabel{reference_elements:the-spherical-bessel-transform}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
-\newlabel{reference_elements:index-41}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
-\newlabel{reference_elements:spherical-bessel-transform}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\@writefile{toc}{\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{56}{subsubsection*.27}}
+\newlabel{reference_elements:the-bessel-and-bessel-neumann-transforms}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\newlabel{reference_elements:index-39}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\newlabel{reference_elements:besseltransform}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\@writefile{toc}{\contentsline {subsubsection}{The ``spherical-bessel'' transform}{57}{subsubsection*.28}}
+\newlabel{reference_elements:the-spherical-bessel-transform}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\newlabel{reference_elements:index-41}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\newlabel{reference_elements:spherical-bessel-transform}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
\@writefile{toc}{\contentsline {subsubsection}{The ``hermite-gauss'' transform}{58}{subsubsection*.29}}
\newlabel{reference_elements:hermite-gauss-transform}{{5.4.7}{58}{The ``hermite-gauss'' transform}{subsubsection*.29}{}}
\newlabel{reference_elements:the-hermite-gauss-transform}{{5.4.7}{58}{The ``hermite-gauss'' transform}{subsubsection*.29}{}}
@@ -246,8 +246,8 @@
\newlabel{reference_elements:vector-element}{{5.4.8}{59}{Vector Element}{subsection.5.4.8}{}}
\newlabel{reference_elements:vectorelement}{{5.4.8}{59}{Vector Element}{subsection.5.4.8}{}}
\newlabel{reference_elements:componentselement}{{5.4.8}{59}{Vector Element}{section*.30}{}}
-\newlabel{reference_elements:initialisationelement}{{5.4.8}{60}{Vector Element}{section*.31}{}}
-\newlabel{reference_elements:referencingnonlocal}{{5.4.8}{60}{Vector Element}{section*.32}{}}
+\newlabel{reference_elements:initialisationelement}{{5.4.8}{59}{Vector Element}{section*.31}{}}
+\newlabel{reference_elements:referencingnonlocal}{{5.4.8}{59}{Vector Element}{section*.32}{}}
\newlabel{reference_elements:filenameelement}{{5.4.8}{60}{Vector Element}{section*.33}{}}
\@writefile{toc}{\contentsline {subsubsection}{The dependencies element}{61}{subsubsection*.34}}
\newlabel{reference_elements:the-dependencies-element}{{5.4.8}{61}{The dependencies element}{subsubsection*.34}{}}
@@ -258,26 +258,26 @@
\newlabel{reference_elements:index-56}{{5.4.9}{62}{Computed Vector Element}{subsection.5.4.9}{}}
\newlabel{reference_elements:computed-vector-element}{{5.4.9}{62}{Computed Vector Element}{subsection.5.4.9}{}}
\newlabel{reference_elements:evaluationelement}{{5.4.9}{62}{Computed Vector Element}{section*.35}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{63}{subsection.5.4.10}}
-\newlabel{reference_elements:noise-vector-element}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
-\newlabel{reference_elements:index-58}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
-\newlabel{reference_elements:noisevectorelement}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Uniform noise}{64}{subsubsection*.36}}
-\newlabel{reference_elements:uniformnoise}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
-\newlabel{reference_elements:index-59}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
-\newlabel{reference_elements:uniform-noise}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Gaussian noise}{64}{subsubsection*.37}}
-\newlabel{reference_elements:gaussiannoise}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
-\newlabel{reference_elements:gaussian-noise}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
-\newlabel{reference_elements:index-60}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{62}{subsection.5.4.10}}
+\newlabel{reference_elements:noise-vector-element}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
+\newlabel{reference_elements:index-58}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
+\newlabel{reference_elements:noisevectorelement}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Uniform noise}{63}{subsubsection*.36}}
+\newlabel{reference_elements:uniformnoise}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
+\newlabel{reference_elements:index-59}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
+\newlabel{reference_elements:uniform-noise}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Gaussian noise}{63}{subsubsection*.37}}
+\newlabel{reference_elements:gaussiannoise}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
+\newlabel{reference_elements:gaussian-noise}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
+\newlabel{reference_elements:index-60}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
\@writefile{toc}{\contentsline {subsubsection}{Wiener noise}{64}{subsubsection*.38}}
\newlabel{reference_elements:wienernoise}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
\newlabel{reference_elements:index-61}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
\newlabel{reference_elements:wiener-noise}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Poissonian noise}{65}{subsubsection*.39}}
-\newlabel{reference_elements:poissioniannoise}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
-\newlabel{reference_elements:poissonian-noise}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
-\newlabel{reference_elements:index-62}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Poissonian noise}{64}{subsubsection*.39}}
+\newlabel{reference_elements:poissioniannoise}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
+\newlabel{reference_elements:poissonian-noise}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
+\newlabel{reference_elements:index-62}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
\@writefile{toc}{\contentsline {subsubsection}{Jump noise}{65}{subsubsection*.40}}
\newlabel{reference_elements:jumpnoise}{{5.4.10}{65}{Jump noise}{subsubsection*.40}{}}
\newlabel{reference_elements:index-63}{{5.4.10}{65}{Jump noise}{subsubsection*.40}{}}
@@ -286,10 +286,10 @@
\newlabel{reference_elements:sequence-element}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
\newlabel{reference_elements:sequenceelement}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
\newlabel{reference_elements:index-64}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.12}Filter element}{66}{subsection.5.4.12}}
-\newlabel{reference_elements:index-65}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
-\newlabel{reference_elements:filterelement}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
-\newlabel{reference_elements:filter-element}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.12}Filter element}{65}{subsection.5.4.12}}
+\newlabel{reference_elements:index-65}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
+\newlabel{reference_elements:filterelement}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
+\newlabel{reference_elements:filter-element}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.13}Integrate element}{66}{subsection.5.4.13}}
\newlabel{reference_elements:index-67}{{5.4.13}{66}{Integrate element}{subsection.5.4.13}{}}
\newlabel{reference_elements:integrate-element}{{5.4.13}{66}{Integrate element}{subsection.5.4.13}{}}
@@ -300,9 +300,9 @@
\newlabel{reference_elements:index-70}{{5.4.13}{67}{Operators and operator elements}{subsubsection*.42}{}}
\newlabel{reference_elements:operators-and-operator-elements}{{5.4.13}{67}{Operators and operator elements}{subsubsection*.42}{}}
\newlabel{reference_elements:integrationvectorselement}{{5.4.13}{67}{Operators and operator elements}{section*.43}{}}
-\newlabel{reference_elements:operatorelement}{{5.4.13}{68}{Operators and operator elements}{section*.44}{}}
-\newlabel{reference_elements:operatornameselement}{{5.4.13}{68}{Operators and operator elements}{section*.45}{}}
-\newlabel{reference_elements:boundaryconditionelement}{{5.4.13}{69}{Operators and operator elements}{section*.46}{}}
+\newlabel{reference_elements:operatorelement}{{5.4.13}{67}{Operators and operator elements}{section*.44}{}}
+\newlabel{reference_elements:operatornameselement}{{5.4.13}{67}{Operators and operator elements}{section*.45}{}}
+\newlabel{reference_elements:boundaryconditionelement}{{5.4.13}{68}{Operators and operator elements}{section*.46}{}}
\@writefile{toc}{\contentsline {subsubsection}{Algorithms}{69}{subsubsection*.47}}
\newlabel{reference_elements:algorithms}{{5.4.13}{69}{Algorithms}{subsubsection*.47}{}}
\newlabel{reference_elements:id8}{{5.4.13}{69}{Algorithms}{subsubsection*.47}{}}
@@ -310,26 +310,26 @@
\newlabel{reference_elements:si}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
\newlabel{reference_elements:index-82}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
\newlabel{reference_elements:si-and-sic-algorithms}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
-\@writefile{toc}{\contentsline {paragraph}{Runge-Kutta algorithms}{70}{paragraph*.49}}
-\newlabel{reference_elements:rk4}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
-\newlabel{reference_elements:runge-kutta-algorithms}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
-\newlabel{reference_elements:index-83}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\@writefile{toc}{\contentsline {paragraph}{Runge-Kutta algorithms}{69}{paragraph*.49}}
+\newlabel{reference_elements:rk4}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\newlabel{reference_elements:runge-kutta-algorithms}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\newlabel{reference_elements:index-83}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
\@writefile{toc}{\contentsline {paragraph}{Adaptive Runge-Kutta algorithms}{70}{paragraph*.50}}
\newlabel{reference_elements:adaptive-runge-kutta-algorithms}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
\newlabel{reference_elements:ark45}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
\newlabel{reference_elements:index-84}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
-\@writefile{toc}{\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{71}{paragraph*.51}}
-\newlabel{reference_elements:realgorithm}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
-\newlabel{reference_elements:index-85}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
-\newlabel{reference_elements:richardson-extrapolation-algorithms-and-the-bulirsch-stoer-method}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\@writefile{toc}{\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{70}{paragraph*.51}}
+\newlabel{reference_elements:realgorithm}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\newlabel{reference_elements:index-85}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\newlabel{reference_elements:richardson-extrapolation-algorithms-and-the-bulirsch-stoer-method}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
\@writefile{toc}{\contentsline {subsubsection}{Filters element}{71}{subsubsection*.52}}
\newlabel{reference_elements:filterselement}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
\newlabel{reference_elements:index-86}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
\newlabel{reference_elements:filters-element}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{72}{subsection.5.4.14}}
-\newlabel{reference_elements:breakpoint-element}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
-\newlabel{reference_elements:breakpointelement}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
-\newlabel{reference_elements:index-87}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{71}{subsection.5.4.14}}
+\newlabel{reference_elements:breakpoint-element}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
+\newlabel{reference_elements:breakpointelement}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
+\newlabel{reference_elements:index-87}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.15}Output element}{72}{subsection.5.4.15}}
\newlabel{reference_elements:outputelement}{{5.4.15}{72}{Output element}{subsection.5.4.15}{}}
\newlabel{reference_elements:index-88}{{5.4.15}{72}{Output element}{subsection.5.4.15}{}}
@@ -341,19 +341,19 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.16}XMDS-specific C syntax}{73}{subsection.5.4.16}}
\newlabel{reference_elements:xmds-specific-c-syntax}{{5.4.16}{73}{XMDS-specific C syntax}{subsection.5.4.16}{}}
\newlabel{reference_elements:xmdscsyntax}{{5.4.16}{73}{XMDS-specific C syntax}{subsection.5.4.16}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{74}{section.5.5}}
-\newlabel{bulirschStoer:modified-midpoint-method}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer:index-0}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer::doc}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer:mmdetail}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{73}{section.5.5}}
+\newlabel{bulirschStoer:modified-midpoint-method}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer:index-0}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer::doc}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer:mmdetail}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.6}Bulirsch-Stoer Algorithm}{74}{section.5.6}}
\newlabel{bulirschStoer:bulirsch-stoer-algorithm}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
\newlabel{bulirschStoer:bsdetail}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
\newlabel{bulirschStoer:index-1}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{76}{section.5.7}}
-\newlabel{bulirschStoer:errorscaling}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
-\newlabel{bulirschStoer:index-2}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
-\newlabel{bulirschStoer:error-scaling-behaviour}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{75}{section.5.7}}
+\newlabel{bulirschStoer:errorscaling}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
+\newlabel{bulirschStoer:index-2}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
+\newlabel{bulirschStoer:error-scaling-behaviour}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Advanced Topics}{77}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
@@ -448,8 +448,8 @@
\newlabel{optimisation_hints:auto-vectorisation}{{9.3.3}{90}{Auto-vectorisation}{subsection.9.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.4}OpenMP}{90}{subsection.9.3.4}}
\newlabel{optimisation_hints:openmp}{{9.3.4}{90}{OpenMP}{subsection.9.3.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{91}{subsection.9.3.5}}
-\newlabel{optimisation_hints:parallelisation-with-mpi}{{9.3.5}{91}{Parallelisation with MPI}{subsection.9.3.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{90}{subsection.9.3.5}}
+\newlabel{optimisation_hints:parallelisation-with-mpi}{{9.3.5}{90}{Parallelisation with MPI}{subsection.9.3.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {9.4}Atom-optics-specific hints}{91}{section.9.4}}
\newlabel{optimisation_hints:atom-optics-specific-hints}{{9.4}{91}{Atom-optics-specific hints}{section.9.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.4.1}Separate out imaginary-time calculation code}{91}{subsection.9.4.1}}
diff --git a/documentation/latex/xmds2.idx b/documentation/latex/xmds2.idx
index 30224f5..ab78abc 100644
--- a/documentation/latex/xmds2.idx
+++ b/documentation/latex/xmds2.idx
@@ -18,13 +18,13 @@
\indexentry{Driver examples!distributed-mpi|hyperpage}{30}
\indexentry{Command line arguments|hyperpage}{30}
\indexentry{\_SAMPLE\_COMPLEX|hyperpage}{31}
-\indexentry{Computed vectors|hyperpage}{34}
-\indexentry{Aliases|hyperpage}{41}
+\indexentry{Computed vectors|hyperpage}{33}
+\indexentry{Aliases|hyperpage}{40}
\indexentry{XMDS2 XML schema|hyperpage}{44}
\indexentry{XML schema|hyperpage}{44}
-\indexentry{Reference|hyperpage}{46}
-\indexentry{XML Elements|hyperpage}{46}
-\indexentry{Script elements|hyperpage}{46}
+\indexentry{Reference|hyperpage}{47}
+\indexentry{XML Elements|hyperpage}{47}
+\indexentry{Script elements|hyperpage}{47}
\indexentry{XML elements!simulation|hyperpage}{47}
\indexentry{XML elements!name (of simulation)|hyperpage}{47}
\indexentry{XML elements!author|hyperpage}{47}
@@ -42,7 +42,7 @@
\indexentry{XML elements!chunked\_output|hyperpage}{50}
\indexentry{XML elements!diagnostics|hyperpage}{50}
\indexentry{XML elements!error\_check|hyperpage}{50}
-\indexentry{XML elements!halt\_non\_finite|hyperpage}{50}
+\indexentry{XML elements!halt\_non\_finite|hyperpage}{51}
\indexentry{XML elements!fftw|hyperpage}{51}
\indexentry{XML element attributes!plan|hyperpage}{51}
\indexentry{XML elements!globals|hyperpage}{51}
@@ -65,11 +65,11 @@
\indexentry{XML elements!dimension|hyperpage}{53}
\indexentry{XML element attributes!name (dimension)|hyperpage}{53}
\indexentry{XML element attributes!type (dimension)|hyperpage}{53}
-\indexentry{XML element attributes!lattice|hyperpage}{53}
-\indexentry{XML element attributes!domain|hyperpage}{53}
-\indexentry{Aliases|hyperpage}{53}
-\indexentry{XML element attributes!aliases|hyperpage}{53}
-\indexentry{Vectors!non-local access|hyperpage}{53}
+\indexentry{XML element attributes!lattice|hyperpage}{54}
+\indexentry{XML element attributes!domain|hyperpage}{54}
+\indexentry{Aliases|hyperpage}{54}
+\indexentry{XML element attributes!aliases|hyperpage}{54}
+\indexentry{Vectors!non-local access|hyperpage}{54}
\indexentry{XML element attributes!volume\_prefactor|hyperpage}{54}
\indexentry{XML element attributes!transform|hyperpage}{54}
\indexentry{Aliases|hyperpage}{54}
@@ -82,17 +82,17 @@
\indexentry{Transforms!bessel|hyperpage}{56}
\indexentry{Boundary conditions (Bessel)|hyperpage}{57}
\indexentry{Boundary conditions|hyperpage}{57}
-\indexentry{Transforms!spherical-bessel|hyperpage}{58}
+\indexentry{Transforms!spherical-bessel|hyperpage}{57}
\indexentry{Transforms!hermite-gauss|hyperpage}{58}
-\indexentry{XML element attributes!length\_scale|hyperpage}{59}
+\indexentry{XML element attributes!length\_scale|hyperpage}{58}
\indexentry{XML elements!vector|hyperpage}{59}
\indexentry{XML element attributes!name (vector)|hyperpage}{59}
\indexentry{XML element attributes!type (vector)|hyperpage}{59}
\indexentry{XML elements!components|hyperpage}{59}
-\indexentry{XML element attributes!initial\_basis (vector)|hyperpage}{60}
-\indexentry{XML elements!initialisation|hyperpage}{60}
-\indexentry{XML element attributes!name (vector)|hyperpage}{60}
-\indexentry{Vectors!non-local access|hyperpage}{60}
+\indexentry{XML element attributes!initial\_basis (vector)|hyperpage}{59}
+\indexentry{XML elements!initialisation|hyperpage}{59}
+\indexentry{XML element attributes!name (vector)|hyperpage}{59}
+\indexentry{Vectors!non-local access|hyperpage}{59}
\indexentry{Vectors!non-local access|hyperpage}{60}
\indexentry{MPI!non-local vector access|hyperpage}{60}
\indexentry{XML elements!filename|hyperpage}{60}
@@ -100,28 +100,28 @@
\indexentry{XML element attributes!geometry\_matching\_mode|hyperpage}{60}
\indexentry{XML elements!dependencies|hyperpage}{61}
\indexentry{XML element attributes!basis (dependencies element)|hyperpage}{61}
-\indexentry{XML elements!computed\_vector|hyperpage}{62}
+\indexentry{XML elements!computed\_vector|hyperpage}{61}
\indexentry{XML elements!evaluation|hyperpage}{62}
\indexentry{XML element attributes!name (computed vector)|hyperpage}{62}
\indexentry{XML element attributes!dimensions (computed vector)|hyperpage}{62}
\indexentry{XML element attributes!type (computed vector)|hyperpage}{62}
-\indexentry{XML elements!noise\_vector|hyperpage}{63}
-\indexentry{XML element attributes!name (noise vector)|hyperpage}{63}
-\indexentry{XML element attributes!dimensions (noise vector)|hyperpage}{63}
-\indexentry{XML element attributes!type (noise vector)|hyperpage}{63}
-\indexentry{XML element attributes!initial\_basis (noise vector)|hyperpage}{63}
-\indexentry{XML element attributes!method|hyperpage}{63}
-\indexentry{XML element attributes!seed|hyperpage}{63}
-\indexentry{XML element attributes!kind (noise vector)|hyperpage}{63}
+\indexentry{XML elements!noise\_vector|hyperpage}{62}
+\indexentry{XML element attributes!name (noise vector)|hyperpage}{62}
+\indexentry{XML element attributes!dimensions (noise vector)|hyperpage}{62}
+\indexentry{XML element attributes!type (noise vector)|hyperpage}{62}
+\indexentry{XML element attributes!initial\_basis (noise vector)|hyperpage}{62}
+\indexentry{XML element attributes!method|hyperpage}{62}
+\indexentry{XML element attributes!seed|hyperpage}{62}
+\indexentry{XML element attributes!kind (noise vector)|hyperpage}{62}
\indexentry{Noise!uniform|hyperpage}{63}
-\indexentry{Noise!gaussian|hyperpage}{64}
+\indexentry{Noise!gaussian|hyperpage}{63}
\indexentry{Noise!wiener|hyperpage}{64}
-\indexentry{Noise!poissonian|hyperpage}{65}
-\indexentry{Noise!jump|hyperpage}{65}
+\indexentry{Noise!poissonian|hyperpage}{64}
+\indexentry{Noise!jump|hyperpage}{64}
\indexentry{XML elements!sequence|hyperpage}{65}
\indexentry{XML element attributes!cycles|hyperpage}{65}
-\indexentry{XML elements!filter|hyperpage}{66}
-\indexentry{XML element attributes!name (filter)|hyperpage}{66}
+\indexentry{XML elements!filter|hyperpage}{65}
+\indexentry{XML element attributes!name (filter)|hyperpage}{65}
\indexentry{XML elements!integrate|hyperpage}{66}
\indexentry{XML element attributes!interval|hyperpage}{66}
\indexentry{XML element attributes!algorithm|hyperpage}{66}
@@ -133,28 +133,28 @@
\indexentry{XML elements!operators|hyperpage}{67}
\indexentry{XML elements!integration\_vectors|hyperpage}{67}
\indexentry{Vectors!non-local access|hyperpage}{67}
-\indexentry{XML elements!operator|hyperpage}{68}
-\indexentry{XML element attributes!kind (operator)|hyperpage}{68}
-\indexentry{Operators!IP|hyperpage}{68}
-\indexentry{Operators!EX|hyperpage}{68}
-\indexentry{IP operators|hyperpage}{68}
-\indexentry{EX operators|hyperpage}{68}
+\indexentry{XML elements!operator|hyperpage}{67}
+\indexentry{XML element attributes!kind (operator)|hyperpage}{67}
+\indexentry{Operators!IP|hyperpage}{67}
+\indexentry{Operators!EX|hyperpage}{67}
+\indexentry{IP operators|hyperpage}{67}
+\indexentry{EX operators|hyperpage}{67}
\indexentry{XML element attributes!constant|hyperpage}{68}
\indexentry{Cross-propagation|hyperpage}{68}
\indexentry{XML element attributes!cross-propagation|hyperpage}{68}
-\indexentry{XML elements!boundary\_conditions|hyperpage}{69}
-\indexentry{XML element attributes!kind (boundary\_condition element)|hyperpage}{69}
-\indexentry{Boundary conditions|hyperpage}{69}
+\indexentry{XML elements!boundary\_conditions|hyperpage}{68}
+\indexentry{XML element attributes!kind (boundary\_condition element)|hyperpage}{68}
+\indexentry{Boundary conditions|hyperpage}{68}
\indexentry{Integration algorithms!semi-implicit (SI)|hyperpage}{69}
-\indexentry{Integration algorithms!Runge-Kutta (RK)|hyperpage}{70}
+\indexentry{Integration algorithms!Runge-Kutta (RK)|hyperpage}{69}
\indexentry{Integration algorithms!adaptive Runge-Kutta (ARK)|hyperpage}{70}
-\indexentry{Integration algorithms!Richardson extrapolation|hyperpage}{71}
+\indexentry{Integration algorithms!Richardson extrapolation|hyperpage}{70}
\indexentry{XML elements!filters|hyperpage}{71}
\indexentry{XML element attributes!where|hyperpage}{71}
-\indexentry{XML elements!breakpoint|hyperpage}{72}
-\indexentry{XML element attributes!filename (breakpoint element)|hyperpage}{72}
-\indexentry{XML element attributes!format (breakpoint element)|hyperpage}{72}
-\indexentry{XML elements!output|hyperpage}{72}
+\indexentry{XML elements!breakpoint|hyperpage}{71}
+\indexentry{XML element attributes!filename (breakpoint element)|hyperpage}{71}
+\indexentry{XML element attributes!format (breakpoint element)|hyperpage}{71}
+\indexentry{XML elements!output|hyperpage}{71}
\indexentry{XML element attributes!format (output element)|hyperpage}{72}
\indexentry{XML element attributes!filename (output element)|hyperpage}{72}
\indexentry{XML element attributes!format (output element)|hyperpage}{72}
@@ -168,9 +168,9 @@
\indexentry{\_dx|hyperpage}{73}
\indexentry{XML element attributes!basis (sampling\_group element)|hyperpage}{73}
\indexentry{Modified midpoint method|hyperpage}{73}
-\indexentry{Bulirsch-Stoer algorithm|hyperpage}{74}
-\indexentry{Bulirsch-Stoer error scaling|hyperpage}{75}
-\indexentry{Advanced topics|hyperpage}{76}
+\indexentry{Bulirsch-Stoer algorithm|hyperpage}{73}
+\indexentry{Bulirsch-Stoer error scaling|hyperpage}{74}
+\indexentry{Advanced topics|hyperpage}{75}
\indexentry{Importing data|hyperpage}{77}
\indexentry{Convolutions and Fourier transforms|hyperpage}{79}
\indexentry{Geometry matching mode - loose|hyperpage}{81}
diff --git a/documentation/latex/xmds2.ilg b/documentation/latex/xmds2.ilg
index dc94b24..84591f9 100644
--- a/documentation/latex/xmds2.ilg
+++ b/documentation/latex/xmds2.ilg
@@ -1,7 +1,7 @@
-This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
+This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support).
Scanning style file ./python.ist......done (6 attributes redefined, 0 ignored).
Scanning input file xmds2.idx....done (196 entries accepted, 0 rejected).
-Sorting entries.....done (1561 comparisons).
+Sorting entries.....done (1559 comparisons).
Generating output file xmds2.ind....done (257 lines written, 0 warnings).
Output written in xmds2.ind.
Transcript written in xmds2.ilg.
diff --git a/documentation/latex/xmds2.ind b/documentation/latex/xmds2.ind
index 15e132d..160909b 100644
--- a/documentation/latex/xmds2.ind
+++ b/documentation/latex/xmds2.ind
@@ -11,25 +11,25 @@
\indexspace
\bigletter A
\item Adding an integrator, \hyperpage{99}
- \item Advanced topics, \hyperpage{76}
- \item Aliases, \hyperpage{41}, \hyperpage{53, 54}
+ \item Advanced topics, \hyperpage{75}
+ \item Aliases, \hyperpage{40}, \hyperpage{54}
\indexspace
\bigletter B
- \item Boundary conditions, \hyperpage{57}, \hyperpage{69}
+ \item Boundary conditions, \hyperpage{57}, \hyperpage{68}
\item Boundary conditions (Bessel), \hyperpage{57}
\item Boundary conditions (DCT), \hyperpage{55}
\item Boundary conditions (DFT), \hyperpage{54}
\item Boundary conditions (DST), \hyperpage{56}
\item Bug reports, \hyperpage{83}
- \item Bulirsch-Stoer algorithm, \hyperpage{74}
- \item Bulirsch-Stoer error scaling, \hyperpage{75}
+ \item Bulirsch-Stoer algorithm, \hyperpage{73}
+ \item Bulirsch-Stoer error scaling, \hyperpage{74}
\indexspace
\bigletter C
\item Citing XMDS2, \hyperpage{83}
\item Command line arguments, \hyperpage{30}
- \item Computed vectors, \hyperpage{34}
+ \item Computed vectors, \hyperpage{33}
\item Convolutions and Fourier transforms, \hyperpage{79}
\item Cross-propagation, \hyperpage{68}
@@ -51,7 +51,7 @@
\indexspace
\bigletter E
- \item EX operators, \hyperpage{68}
+ \item EX operators, \hyperpage{67}
\item Examples, \hyperpage{14}
\item Exporting data, \hyperpage{11}, \hyperpage{91}
@@ -79,10 +79,10 @@
\item Integration algorithms
\subitem adaptive Runge-Kutta (ARK), \hyperpage{70}
\subitem all, \hyperpage{66}
- \subitem Richardson extrapolation, \hyperpage{71}
- \subitem Runge-Kutta (RK), \hyperpage{70}
+ \subitem Richardson extrapolation, \hyperpage{70}
+ \subitem Runge-Kutta (RK), \hyperpage{69}
\subitem semi-implicit (SI), \hyperpage{69}
- \item IP operators, \hyperpage{68}
+ \item IP operators, \hyperpage{67}
\item IP versus EX operators, \hyperpage{84}
\indexspace
@@ -104,9 +104,9 @@
\bigletter N
\item News, \hyperpage{123}
\item Noise
- \subitem gaussian, \hyperpage{64}
- \subitem jump, \hyperpage{65}
- \subitem poissonian, \hyperpage{65}
+ \subitem gaussian, \hyperpage{63}
+ \subitem jump, \hyperpage{64}
+ \subitem poissonian, \hyperpage{64}
\subitem uniform, \hyperpage{63}
\subitem wiener, \hyperpage{64}
\item Noise vector example, \hyperpage{20}
@@ -115,8 +115,8 @@
\indexspace
\bigletter O
\item Operators, \hyperpage{67}
- \subitem EX, \hyperpage{68}
- \subitem IP, \hyperpage{68}
+ \subitem EX, \hyperpage{67}
+ \subitem IP, \hyperpage{67}
\indexspace
\bigletter P
@@ -124,12 +124,12 @@
\indexspace
\bigletter R
- \item Reference, \hyperpage{46}
+ \item Reference, \hyperpage{47}
\indexspace
\bigletter S
\item Sampling, \hyperpage{72}
- \item Script elements, \hyperpage{46}
+ \item Script elements, \hyperpage{47}
\item Single precision, \hyperpage{51}
\indexspace
@@ -142,13 +142,13 @@
\subitem dft, \hyperpage{54}
\subitem dst, \hyperpage{56}
\subitem hermite-gauss, \hyperpage{58}
- \subitem spherical-bessel, \hyperpage{58}
+ \subitem spherical-bessel, \hyperpage{57}
\item Tutorial, \hyperpage{7}
\indexspace
\bigletter V
\item Vectors
- \subitem non-local access, \hyperpage{53}, \hyperpage{60}, \hyperpage{67}
+ \subitem non-local access, \hyperpage{54}, \hyperpage{59, 60}, \hyperpage{67}
\indexspace
\bigletter X
@@ -157,7 +157,7 @@
\item XMDS2 XML schema, \hyperpage{44}
\item XML element attributes
\subitem algorithm, \hyperpage{66}
- \subitem aliases, \hyperpage{53}
+ \subitem aliases, \hyperpage{54}
\subitem basis (dependencies element), \hyperpage{61}
\subitem basis (sampling\_group element), \hyperpage{72, 73}
\subitem constant, \hyperpage{68}
@@ -165,45 +165,45 @@
\subitem cycles, \hyperpage{65}
\subitem default\_value, \hyperpage{49}
\subitem dimensions (computed vector), \hyperpage{62}
- \subitem dimensions (noise vector), \hyperpage{63}
- \subitem domain, \hyperpage{53}
- \subitem filename (breakpoint element), \hyperpage{72}
+ \subitem dimensions (noise vector), \hyperpage{62}
+ \subitem domain, \hyperpage{54}
+ \subitem filename (breakpoint element), \hyperpage{71}
\subitem filename (output element), \hyperpage{72}
- \subitem format (breakpoint element), \hyperpage{72}
+ \subitem format (breakpoint element), \hyperpage{71}
\subitem format (output element), \hyperpage{72}
\subitem geometry\_matching\_mode, \hyperpage{60}
- \subitem initial\_basis (noise vector), \hyperpage{63}
- \subitem initial\_basis (vector), \hyperpage{60}
+ \subitem initial\_basis (noise vector), \hyperpage{62}
+ \subitem initial\_basis (vector), \hyperpage{59}
\subitem initial\_sample, \hyperpage{72}
\subitem interval, \hyperpage{66}
\subitem kind, \hyperpage{52}
- \subitem kind (boundary\_condition element), \hyperpage{69}
+ \subitem kind (boundary\_condition element), \hyperpage{68}
\subitem kind (initialisation element), \hyperpage{60}
- \subitem kind (noise vector), \hyperpage{63}
- \subitem kind (operator), \hyperpage{68}
- \subitem lattice, \hyperpage{53}
- \subitem length\_scale, \hyperpage{59}
- \subitem method, \hyperpage{63}
+ \subitem kind (noise vector), \hyperpage{62}
+ \subitem kind (operator), \hyperpage{67}
+ \subitem lattice, \hyperpage{54}
+ \subitem length\_scale, \hyperpage{58}
+ \subitem method, \hyperpage{62}
\subitem name, \hyperpage{49}
\subitem name (computed vector), \hyperpage{62}
\subitem name (dimension), \hyperpage{53}
\subitem name (driver), \hyperpage{53}
- \subitem name (filter), \hyperpage{66}
- \subitem name (noise vector), \hyperpage{63}
- \subitem name (vector), \hyperpage{59, 60}
+ \subitem name (filter), \hyperpage{65}
+ \subitem name (noise vector), \hyperpage{62}
+ \subitem name (vector), \hyperpage{59}
\subitem plan, \hyperpage{51}
- \subitem seed, \hyperpage{63}
+ \subitem seed, \hyperpage{62}
\subitem steps, \hyperpage{66}
\subitem tolerance, \hyperpage{66}
\subitem transform, \hyperpage{54}
\subitem type, \hyperpage{49}
\subitem type (computed vector), \hyperpage{62}
\subitem type (dimension), \hyperpage{53}
- \subitem type (noise vector), \hyperpage{63}
+ \subitem type (noise vector), \hyperpage{62}
\subitem type (vector), \hyperpage{59}
\subitem volume\_prefactor, \hyperpage{54}
\subitem where, \hyperpage{71}
- \item XML Elements, \hyperpage{46}
+ \item XML Elements, \hyperpage{47}
\item XML elements
\subitem argument, \hyperpage{49}
\subitem arguments, \hyperpage{48}
@@ -211,12 +211,12 @@
\subitem autovectorise, \hyperpage{49}
\subitem benchmark, \hyperpage{49}
\subitem bing, \hyperpage{49}
- \subitem boundary\_conditions, \hyperpage{69}
- \subitem breakpoint, \hyperpage{72}
+ \subitem boundary\_conditions, \hyperpage{68}
+ \subitem breakpoint, \hyperpage{71}
\subitem cflags, \hyperpage{49}
\subitem chunked\_output, \hyperpage{50}
\subitem components, \hyperpage{59}
- \subitem computed\_vector, \hyperpage{62}
+ \subitem computed\_vector, \hyperpage{61}
\subitem dependencies, \hyperpage{61}
\subitem description, \hyperpage{47}
\subitem diagnostics, \hyperpage{50}
@@ -227,20 +227,20 @@
\subitem features, \hyperpage{47}
\subitem fftw, \hyperpage{51}
\subitem filename, \hyperpage{60}
- \subitem filter, \hyperpage{66}
+ \subitem filter, \hyperpage{65}
\subitem filters, \hyperpage{71}
\subitem geometry, \hyperpage{53}
\subitem globals, \hyperpage{51}
- \subitem halt\_non\_finite, \hyperpage{50}
- \subitem initialisation, \hyperpage{60}
+ \subitem halt\_non\_finite, \hyperpage{51}
+ \subitem initialisation, \hyperpage{59}
\subitem integrate, \hyperpage{66}
\subitem integration\_vectors, \hyperpage{67}
\subitem name (of simulation), \hyperpage{47}
- \subitem noise\_vector, \hyperpage{63}
+ \subitem noise\_vector, \hyperpage{62}
\subitem openmp, \hyperpage{51}
- \subitem operator, \hyperpage{68}
+ \subitem operator, \hyperpage{67}
\subitem operators, \hyperpage{67}
- \subitem output, \hyperpage{72}
+ \subitem output, \hyperpage{71}
\subitem precision, \hyperpage{51}
\subitem propagation\_dimension, \hyperpage{53}
\subitem samples, \hyperpage{66}
diff --git a/documentation/latex/xmds2.log b/documentation/latex/xmds2.log
index 4045cd1..b4addbb 100644
--- a/documentation/latex/xmds2.log
+++ b/documentation/latex/xmds2.log
@@ -1,16 +1,26 @@
-This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) (format=pdflatex 2013.11.1) 30 SEP 2014 15:07
+This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012) (format=pdflatex 2013.4.1) 11 OCT 2014 08:23
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**xmds2.tex
(./xmds2.tex
LaTeX2e <2011/06/27>
-Babel <3.9f> and hyphenation patterns for 78 languages loaded.
+Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ge
+rman-x-2012-05-30, ngerman-x-2012-05-30, afrikaans, ancientgreek, ibycus, arabi
+c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
+h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
+h, french, friulan, galician, german, ngerman, swissgerman, monogreek, greek, h
+ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, ma
+rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian,
+kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk,
+ piedmontese, polish, portuguese, romanian, romansh, russian, sanskrit, serbian
+, serbianc, slovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian, u
+ppersorbian, welsh, loaded.
(./sphinxmanual.cls
Document Class: sphinxmanual 2009/06/02 Document class (Sphinx manual)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/report.cls
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/report.cls
Document Class: report 2007/10/19 v1.4h Standard LaTeX document class
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/size10.clo
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c at part=\count79
@@ -26,19 +36,19 @@ File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
\belowcaptionskip=\skip42
\bibindent=\dimen102
))
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/inputenc.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/inputenc.sty
Package: inputenc 2008/03/30 v1.1d Input encoding file
\inpenc at prehook=\toks14
\inpenc at posthook=\toks15
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/utf8.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/utf8.def
File: utf8.def 2008/04/05 v1.1m UTF-8 support for inputenc
Now handling font encoding OML ...
... no UTF-8 mapping file for font encoding OML
Now handling font encoding T1 ...
... processing UTF-8 mapping file for font encoding T1
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/t1enc.dfu
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/t1enc.dfu
File: t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
defining Unicode char U+00A1 (decimal 161)
defining Unicode char U+00A3 (decimal 163)
@@ -188,7 +198,7 @@ File: t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
Now handling font encoding OT1 ...
... processing UTF-8 mapping file for font encoding OT1
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/ot1enc.dfu
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/ot1enc.dfu
File: ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
defining Unicode char U+00A1 (decimal 161)
defining Unicode char U+00A3 (decimal 163)
@@ -219,7 +229,7 @@ File: ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
Now handling font encoding OMS ...
... processing UTF-8 mapping file for font encoding OMS
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/omsenc.dfu
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/omsenc.dfu
File: omsenc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
defining Unicode char U+00A7 (decimal 167)
defining Unicode char U+00B6 (decimal 182)
@@ -245,21 +255,24 @@ Now handling font encoding U ...
))
defining Unicode char U+00A0 (decimal 160)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/fontenc.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/cmap/cmap.sty
+Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF
+)
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/t1enc.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/t1enc.def
File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
-))
-(/usr/local/texlive/2013/texmf-dist/tex/generic/babel/babel.sty
-Package: babel 2013/05/16 v3.9f The Babel package
+)<<t1.cmap>>)
+(/usr/local/texlive/2012/texmf-dist/tex/generic/babel/babel.sty
+Package: babel 2008/07/08 v3.8m The Babel package
-(/usr/local/texlive/2013/texmf-dist/tex/generic/babel-english/english.ldf
-Language: english 2012/08/20 v3.3p English support from the babel system
+(/usr/local/texlive/2012/texmf-dist/tex/generic/babel/english.ldf
+Language: english 2005/03/30 v3.3o English support from the babel system
-(/usr/local/texlive/2013/texmf-dist/tex/generic/babel/babel.def
-File: babel.def 2013/05/16 v3.9f Babel common definitions
+(/usr/local/texlive/2012/texmf-dist/tex/generic/babel/babel.def
+File: babel.def 2008/07/08 v3.8m Babel common definitions
\babel at savecnt=\count88
\U at D=\dimen103
)
@@ -267,7 +280,7 @@ File: babel.def 2013/05/16 v3.9f Babel common definitions
\l at australian = a dialect from \language\l at british
\l at newzealand = a dialect from \language\l at british
))
-(/usr/local/texlive/2013/texmf-dist/tex/latex/psnfss/times.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/times.sty
Package: times 2005/04/12 PSNFSS-v9.2a (SPQR)
) (./fncychap.sty
Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters)
@@ -280,7 +293,7 @@ Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters)
\pxx=\skip49
\c at AlphaCnt=\count89
\c at AlphaDecCnt=\count90
-) (/usr/local/texlive/2013/texmf-dist/tex/latex/tools/longtable.sty
+) (/usr/local/texlive/2012/texmf-dist/tex/latex/tools/longtable.sty
Package: longtable 2004/02/01 v4.11 Multi-page Table package (DPC)
\LTleft=\skip50
\LTright=\skip51
@@ -300,7 +313,19 @@ Package: longtable 2004/02/01 v4.11 Multi-page Table package (DPC)
)
(./sphinx.sty
Package: sphinx 2010/01/15 LaTeX package (Sphinx markup)
- (/usr/local/texlive/2013/texmf-dist/tex/latex/base/textcomp.sty
+
+(/usr/local/texlive/2012/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
+\fancy at headwidth=\skip54
+\f at ncyO@elh=\skip55
+\f at ncyO@erh=\skip56
+\f at ncyO@olh=\skip57
+\f at ncyO@orh=\skip58
+\f at ncyO@elf=\skip59
+\f at ncyO@erf=\skip60
+\f at ncyO@olf=\skip61
+\f at ncyO@orf=\skip62
+)
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/textcomp.sty
Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
Package textcomp Info: Sub-encoding information:
(textcomp) 5 = only ISO-Adobe without \textcurrency
@@ -315,12 +340,12 @@ Package textcomp Info: Sub-encoding information:
(textcomp) See the documentation for details.
Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/ts1enc.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/ts1enc.def
File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
Now handling font encoding TS1 ...
... processing UTF-8 mapping file for font encoding TS1
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/ts1enc.dfu
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/ts1enc.dfu
File: ts1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
defining Unicode char U+00A2 (decimal 162)
defining Unicode char U+00A3 (decimal 163)
@@ -455,18 +480,7 @@ Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.
Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.
Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
-\fancy at headwidth=\skip54
-\f at ncyO@elh=\skip55
-\f at ncyO@erh=\skip56
-\f at ncyO@olh=\skip57
-\f at ncyO@orh=\skip58
-\f at ncyO@elf=\skip59
-\f at ncyO@erf=\skip60
-\f at ncyO@olf=\skip61
-\f at ncyO@orf=\skip62
-)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/fancybox/fancybox.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/fancybox/fancybox.sty
Package: fancybox 2010/05/15 1.4
Style option: `fancybox' v1.4 <2010/05/15> (tvz)
@@ -479,7 +493,7 @@ Style option: `fancybox' v1.4 <2010/05/15> (tvz)
\EndVerbatimTokens=\toks20
\Verbatim at Outfile=\write3
\Verbatim at Infile=\read1
-) (/usr/local/texlive/2013/texmf-dist/tex/latex/titlesec/titlesec.sty
+) (/usr/local/texlive/2012/texmf-dist/tex/latex/titlesec/titlesec.sty
Package: titlesec 2011/12/15 v2.10.0 Sectioning titles
\ttl at box=\box32
\beforetitleunit=\skip63
@@ -492,8 +506,8 @@ Package: titlesec 2011/12/15 v2.10.0 Sectioning titles
\titlewidthfirst=\dimen110
)
(./tabulary.sty
-Package: tabulary 2007/10/02 v0.9 tabulary package (DPC)
- (/usr/local/texlive/2013/texmf-dist/tex/latex/tools/array.sty
+Package: tabulary 2008/12/01 v0.9 tabulary package (DPC)
+ (/usr/local/texlive/2012/texmf-dist/tex/latex/tools/array.sty
Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
\col at sep=\dimen111
\extrarowheight=\dimen112
@@ -506,24 +520,24 @@ Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
\tymin=\dimen114
\tymax=\dimen115
\TY at tablewidth=\dimen116
-) (/usr/local/texlive/2013/texmf-dist/tex/latex/amsmath/amsmath.sty
+) (/usr/local/texlive/2012/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2013/01/14 v2.14 AMS math features
\@mathmargin=\skip67
For additional information on amsmath, use the `?' option.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/amsmath/amstext.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01
-(/usr/local/texlive/2013/texmf-dist/tex/latex/amsmath/amsgen.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0
\@emptytoks=\toks23
\ex@=\dimen117
))
-(/usr/local/texlive/2013/texmf-dist/tex/latex/amsmath/amsbsy.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d
\pmbraise@=\dimen118
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/amsmath/amsopn.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 1999/12/14 v2.01 operator names
)
\inf at bad=\count97
@@ -564,10 +578,10 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 567.
LaTeX Info: Redefining \[ on input line 2665.
LaTeX Info: Redefining \] on input line 2666.
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/makeidx.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/makeidx.sty
Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/framed/framed.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/framed/framed.sty
Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks
\OuterFrameSep=\skip70
\fb at frw=\dimen126
@@ -575,34 +589,34 @@ Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks
\FrameRule=\dimen128
\FrameSep=\dimen129
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/base/ifthen.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/ifthen.sty
Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/graphics/color.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/color.sty
Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/color.cfg
+(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/color.cfg
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
)
Package color Info: Driver file: pdftex.def on input line 130.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/pdftex-def/pdftex.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/pdftex-def/pdftex.def
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
-(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
)
-(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
)
\Gread at gobject=\count109
))
-(/usr/local/texlive/2013/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Package: fancyvrb 2008/02/07
Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
<2008/02/07> (tvz)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/graphics/keyval.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV at toks@=\toks28
)
@@ -613,15 +627,15 @@ Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\FV at StepNumber=\count112
\FV at OutFile=\write4
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/threeparttable/threeparttable.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/threeparttable/threeparttable.sty
Package: threeparttable 2003/06/13 v 3.0
\@tempboxb=\box36
-) (/usr/local/texlive/2013/texmf-dist/tex/latex/mdwtools/footnote.sty
+) (/usr/local/texlive/2012/texmf-dist/tex/latex/mdwtools/footnote.sty
Package: footnote 1997/01/28 1.13 Save footnotes around boxes
\fn at notes=\box37
\fn at width=\dimen130
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/wrapfig/wrapfig.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/wrapfig/wrapfig.sty
\wrapoverhang=\dimen131
\WF at size=\dimen132
\c at WF@wrappedlines=\count113
@@ -629,19 +643,26 @@ Package: footnote 1997/01/28 1.13 Save footnotes around boxes
\WF at everypar=\toks29
Package: wrapfig 2003/01/31 v 3.6
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/parskip/parskip.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/parskip/parskip.sty
Package: parskip 2001/04/09 non-zero parskip adjustments
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/graphics/graphicx.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/base/alltt.sty
+Package: alltt 1997/06/16 v2.0g defines alltt environment
+)
+(/usr/local/texlive/2012/texmf-dist/tex/latex/upquote/upquote.sty
+Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba
+tim
+)
+(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/graphics/graphics.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/graphics/trig.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/graphics.cfg
+(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/graphics.cfg
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
)
Package graphics Info: Driver file: pdftex.def on input line 91.
@@ -649,7 +670,7 @@ Package graphics Info: Driver file: pdftex.def on input line 91.
\Gin at req@height=\dimen133
\Gin at req@width=\dimen134
)
-(/usr/local/texlive/2013/texmf-dist/tex/plain/misc/pdfcolor.tex)
+(/usr/local/texlive/2012/texmf-dist/tex/plain/misc/pdfcolor.tex)
\distancetoright=\skip71
\py at argswidth=\skip72
\py at noticelength=\skip73
@@ -657,14 +678,14 @@ Package graphics Info: Driver file: pdftex.def on input line 91.
\image at box=\box39
\image at width=\dimen135
-(/usr/local/texlive/2013/texmf-dist/tex/latex/hyperref/hyperref.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
-(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
-(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
Package hobsub Info: Skipping package `infwarerr' (already loaded).
@@ -705,27 +726,27 @@ Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
)
-(/usr/local/texlive/2013/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/auxhook.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/auxhook.sty
Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
)
\@linkdim=\dimen136
\Hy at linkcounter=\count114
\Hy at pagecounter=\count115
-(/usr/local/texlive/2013/texmf-dist/tex/latex/hyperref/pd1enc.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
)
\Hy at SavedSpaceFactor=\count116
-(/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/hyperref.cfg
File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
)
Package hyperref Info: Option `colorlinks' set `true' on input line 4319.
@@ -739,7 +760,7 @@ Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4688.
\c at Hy@tempcnt=\count117
-(/usr/local/texlive/2013/texmf-dist/tex/latex/url/url.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip11
Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
)
@@ -764,24 +785,24 @@ LaTeX Info: Redefining \pageref on input line 6369.
Package hyperref Message: Driver (autodetected): hpdftex.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/hyperref/hpdftex.def
+(/usr/local/texlive/2012/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
\Fld at listcount=\count122
\c at bookmark@seq at number=\count123
-(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
82.
)
\Hy at SectionHShift=\skip75
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/hypcap.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/hypcap.sty
Package: hypcap 2011/02/16 v1.11 Adjusting the anchors of captions (HO)
)
\DUlineblockindent=\skip76
)
-(/usr/local/texlive/2013/texmf-dist/tex/latex/multirow/multirow.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/multirow/multirow.sty
\bigstrutjot=\dimen140
)
\@indexfile=\write5
@@ -792,33 +813,33 @@ Writing index file xmds2.idx
(./xmds2.aux)
\openout1 = `xmds2.aux'.
-LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 116.
-LaTeX Font Info: Try loading font information for TS1+cmr on input line 116.
-
- (/usr/local/texlive/2013/texmf-dist/tex/latex/base/ts1cmr.fd
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 119.
+LaTeX Font Info: Try loading font information for TS1+cmr on input line 119.
+
+ (/usr/local/texlive/2012/texmf-dist/tex/latex/base/ts1cmr.fd
File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 116.
-LaTeX Font Info: ... okay on input line 116.
-LaTeX Font Info: Try loading font information for T1+ptm on input line 116.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 119.
+LaTeX Font Info: ... okay on input line 119.
+LaTeX Font Info: Try loading font information for T1+ptm on input line 119.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/psnfss/t1ptm.fd
+(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/t1ptm.fd
File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
)
-(/usr/local/texlive/2013/texmf-dist/tex/context/base/supp-pdf.mkii
+(/usr/local/texlive/2012/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count124
\scratchdimen=\dimen141
@@ -831,10 +852,10 @@ File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
\MPnumerator=\count128
\makeMPintoPDFobject=\count129
\everyMPtoPDFconversion=\toks31
-) (/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
+) (/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
-(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/grfext.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
)
Package grfext Info: Graphics extension search list:
@@ -842,153 +863,147 @@ Package grfext Info: Graphics extension search list:
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 452.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
\AtBeginShipoutBox=\box41
-Package hyperref Info: Link coloring ON on input line 116.
+Package hyperref Info: Link coloring ON on input line 119.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/hyperref/nameref.sty
+(/usr/local/texlive/2012/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
-(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
)
\c at section@level=\count130
)
-LaTeX Info: Redefining \ref on input line 116.
-LaTeX Info: Redefining \pageref on input line 116.
-LaTeX Info: Redefining \nameref on input line 116.
+LaTeX Info: Redefining \ref on input line 119.
+LaTeX Info: Redefining \pageref on input line 119.
+LaTeX Info: Redefining \nameref on input line 119.
(./xmds2.out) (./xmds2.out)
\@outlinefile=\write6
\openout6 = `xmds2.out'.
-Underfull \hbox (badness 10000) in paragraph at lines 119--119
+Underfull \hbox (badness 10000) in paragraph at lines 122--122
[]
-<xmds_logo.pdf, id=261, 183.084pt x 183.084pt>
+<xmds_logo.pdf, id=262, 183.084pt x 183.084pt>
File: xmds_logo.pdf Graphic file (type pdf)
<use xmds_logo.pdf>
-Package pdftex.def Info: xmds_logo.pdf used on input line 119.
+Package pdftex.def Info: xmds_logo.pdf used on input line 122.
(pdftex.def) Requested size: 183.08354pt x 183.08354pt.
File: xmds_logo.pdf Graphic file (type pdf)
<use xmds_logo.pdf>
-Package pdftex.def Info: xmds_logo.pdf used on input line 119.
+Package pdftex.def Info: xmds_logo.pdf used on input line 122.
(pdftex.def) Requested size: 183.08354pt x 183.08354pt.
-LaTeX Font Info: Try loading font information for T1+phv on input line 119.
+LaTeX Font Info: Try loading font information for T1+phv on input line 122.
-(/usr/local/texlive/2013/texmf-dist/tex/latex/psnfss/t1phv.fd
+(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/t1phv.fd
File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv.
)
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 119.
+(Font) Font shape `T1/phv/b/n' tried instead on input line 122.
LaTeX Font Info: Font shape `T1/phv/m/it' in size <17.28> not available
-(Font) Font shape `T1/phv/m/sl' tried instead on input line 119.
+(Font) Font shape `T1/phv/m/sl' tried instead on input line 122.
LaTeX Font Info: Font shape `T1/phv/bx/it' in size <17.28> not available
-(Font) Font shape `T1/phv/b/it' tried instead on input line 119.
+(Font) Font shape `T1/phv/b/it' tried instead on input line 122.
LaTeX Font Info: Font shape `T1/phv/b/it' in size <17.28> not available
-(Font) Font shape `T1/phv/b/sl' tried instead on input line 119.
+(Font) Font shape `T1/phv/b/sl' tried instead on input line 122.
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <17.28> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 119.
- [1
+(Font) Font shape `T1/phv/b/n' tried instead on input line 122.
+<<ot1.cmap>><<oml.cmap>><<oms.cmap>><<omx.cmap>> [1
-{/usr/local/texlive/2013/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./xmds_
-logo.pdf>]
-[2
+{/usr/local/texlive/2012/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./xmds_
+logo.pdf>] [2
] (./xmds2.toc
LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available
(Font) Font shape `T1/ptm/b/n' tried instead on input line 2.
LaTeX Font Info: Try loading font information for T1+pcr on input line 85.
- (/usr/local/texlive/2013/texmf-dist/tex/latex/psnfss/t1pcr.fd
+
+(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/t1pcr.fd
File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
)
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 96.
-pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has
-been already used, duplicate ignored
-<to be read again>
- \relax
-l.96 ...{8}Upgrading From XMDS 1.X}{85}{chapter.8}
- [1
+(Font) Font shape `T1/phv/b/n' tried instead on input line 97.
+ [1
])
\tf at toc=\write7
\openout7 = `xmds2.toc'.
-pdfTeX warning (ext4): destination with the same identifier (name{page.ii}) has
- been already used, duplicate ignored
-<to be read again>
- \relax
-l.119 \tableofcontents
- [2]
+ [2]
Chapter 1.
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 124.
+(Font) Font shape `T1/phv/b/n' tried instead on input line 127.
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <14.4> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 127.
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <24.88> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 127.
LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <8> not available
-(Font) Font shape `T1/ptm/b/n' tried instead on input line 142.
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 145.
[1
] [2]
Chapter 2.
-Package tabulary Warning: No suitable columns! on input line 188.
+Package tabulary Warning: No suitable columns! on input line 191.
[3
]
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 227.
+(Font) Font shape `T1/phv/b/n' tried instead on input line 230.
[4]
-LaTeX Font Info: Try loading font information for TS1+ptm on input line 274.
+LaTeX Font Info: Try loading font information for TS1+ptm on input line 277.
- (/usr/local/texlive/2013/texmf-dist/tex/latex/psnfss/ts1ptm.fd
+ (/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/ts1ptm.fd
File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm.
)
-Underfull \hbox (badness 10000) in paragraph at lines 318--321
+Underfull \hbox (badness 10000) in paragraph at lines 321--324
[]\T1/ptm/m/n/10 First cre-ate the path ~/lib/python2.5/site-packages (as-sum-i
ng you in-stalled
[]
[5]
-Underfull \hbox (badness 10000) in paragraph at lines 399--401
+Underfull \hbox (badness 10000) in paragraph at lines 402--404
[]\T1/ptm/m/n/10 It can be in-stalled with \T1/pcr/m/n/10 sudo
[]
-Underfull \hbox (badness 10000) in paragraph at lines 413--415
+Underfull \hbox (badness 10000) in paragraph at lines 416--418
[]
[]
-Underfull \hbox (badness 10000) in paragraph at lines 421--423
+Underfull \hbox (badness 10000) in paragraph at lines 424--426
[]\T1/ptm/m/n/10 h5py
[]
-Underfull \hbox (badness 10000) in paragraph at lines 433--435
+Underfull \hbox (badness 10000) in paragraph at lines 436--438
[]\T1/pcr/m/n/10 sudo
[]
-Underfull \hbox (badness 5563) in paragraph at lines 448--451
+Underfull \hbox (badness 5563) in paragraph at lines 451--454
[]\T1/ptm/m/n/10 If you have `numpy' in-stalled, test XMDS2 by typ-ing
[]
-[6]
-Underfull \hbox (badness 10000) in paragraph at lines 463--464
+
+Underfull \hbox (badness 10000) in paragraph at lines 466--467
[]\T1/ptm/m/n/10 The gen-er-ated html doc-u-men-ta-tion will then be found at x
mds-
[]
-
-Underfull \hbox (badness 10000) in paragraph at lines 476--477
+[6]
+Underfull \hbox (badness 10000) in paragraph at lines 479--480
[]\T1/pcr/m/n/10 xmds2 --reconfigure --include-path /apps/fftw3/include
[]
@@ -997,222 +1012,232 @@ Underfull \hbox (badness 10000) in paragraph at lines 476--477
]
Chapter 3.
LaTeX Font Info: Font shape `T1/pcr/m/it' in size <9> not available
-(Font) Font shape `T1/pcr/m/sl' tried instead on input line 507.
+(Font) Font shape `T1/pcr/m/sl' tried instead on input line 510.
LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <9> not available
-(Font) Font shape `T1/pcr/b/n' tried instead on input line 508.
-[9] [10] <lorenz.pdf, id=505, 681.01025pt x 300.322pt>
+(Font) Font shape `T1/pcr/b/n' tried instead on input line 511.
+LaTeX Font Info: Try loading font information for TS1+pcr on input line 536.
+
+(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/ts1pcr.fd
+File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr.
+)
+LaTeX Font Info: Font shape `TS1/pcr/m/it' in size <9> not available
+(Font) Font shape `TS1/pcr/m/sl' tried instead on input line 536.
+ [9] [10]
+<lorenz.pdf, id=512, 681.01025pt x 300.322pt>
File: lorenz.pdf Graphic file (type pdf)
<use lorenz.pdf>
-Package pdftex.def Info: lorenz.pdf used on input line 644.
+Package pdftex.def Info: lorenz.pdf used on input line 647.
(pdftex.def) Requested size: 681.00859pt x 300.32127pt.
File: lorenz.pdf Graphic file (type pdf)
<use lorenz.pdf>
-Package pdftex.def Info: lorenz.pdf used on input line 644.
+Package pdftex.def Info: lorenz.pdf used on input line 647.
(pdftex.def) Requested size: 452.96788pt x 199.75745pt.
[11 <./lorenz.pdf>] [12] [13] [14]
Chapter 4.
[15
]
-Underfull \vbox (badness 10000) detected at line 892
+Underfull \vbox (badness 10000) detected at line 895
[]
-Underfull \vbox (badness 10000) detected at line 892
+Underfull \vbox (badness 10000) detected at line 895
[]
-[16] [17] [18] [19] [20] <kuboSingle.pdf, id=573, 569.32701pt x 349.00288pt>
+[16] [17] [18] [19] [20] <kuboSingle.pdf, id=580, 569.32701pt x 349.00288pt>
File: kuboSingle.pdf Graphic file (type pdf)
<use kuboSingle.pdf>
-Package pdftex.def Info: kuboSingle.pdf used on input line 1110.
+Package pdftex.def Info: kuboSingle.pdf used on input line 1113.
(pdftex.def) Requested size: 569.3256pt x 349.00203pt.
File: kuboSingle.pdf Graphic file (type pdf)
<use kuboSingle.pdf>
-Package pdftex.def Info: kuboSingle.pdf used on input line 1110.
+Package pdftex.def Info: kuboSingle.pdf used on input line 1113.
(pdftex.def) Requested size: 452.96788pt x 277.67963pt.
-<kubo10000.pdf, id=574, 560.49402pt x 346.36702pt>
+<kubo10000.pdf, id=581, 560.49402pt x 346.36702pt>
File: kubo10000.pdf Graphic file (type pdf)
<use kubo10000.pdf>
-Package pdftex.def Info: kubo10000.pdf used on input line 1118.
+Package pdftex.def Info: kubo10000.pdf used on input line 1121.
(pdftex.def) Requested size: 560.49265pt x 346.36617pt.
File: kubo10000.pdf Graphic file (type pdf)
<use kubo10000.pdf>
-Package pdftex.def Info: kubo10000.pdf used on input line 1118.
+Package pdftex.def Info: kubo10000.pdf used on input line 1121.
(pdftex.def) Requested size: 452.96788pt x 279.9268pt.
- [21] [22 <./kuboSingle.pdf> <./kubo10000.pdf>] [23]
-[24] <fibreSingle.pdf, id=609, 639.99098pt x 481.84819pt>
+ [21] [22 <./kuboSingle.pdf> <./kubo10000.pdf>]
+Underfull \vbox (badness 10000) detected at line 1205
+ []
+
+
+Underfull \vbox (badness 10000) detected at line 1205
+ []
+
+[23] <fibreSingle.pdf, id=612, 639.99098pt x 481.84819pt>
File: fibreSingle.pdf Graphic file (type pdf)
<use fibreSingle.pdf>
-Package pdftex.def Info: fibreSingle.pdf used on input line 1263.
+Package pdftex.def Info: fibreSingle.pdf used on input line 1266.
(pdftex.def) Requested size: 639.98943pt x 481.84702pt.
File: fibreSingle.pdf Graphic file (type pdf)
<use fibreSingle.pdf>
-Package pdftex.def Info: fibreSingle.pdf used on input line 1263.
+Package pdftex.def Info: fibreSingle.pdf used on input line 1266.
(pdftex.def) Requested size: 452.96788pt x 341.04851pt.
-
-<fibre1024.pdf, id=610, 639.99098pt x 482.46848pt>
+ [24]
+<fibre1024.pdf, id=617, 639.99098pt x 482.46848pt>
File: fibre1024.pdf Graphic file (type pdf)
<use fibre1024.pdf>
-Package pdftex.def Info: fibre1024.pdf used on input line 1271.
+Package pdftex.def Info: fibre1024.pdf used on input line 1274.
(pdftex.def) Requested size: 639.98943pt x 482.4673pt.
File: fibre1024.pdf Graphic file (type pdf)
<use fibre1024.pdf>
-Package pdftex.def Info: fibre1024.pdf used on input line 1271.
+Package pdftex.def Info: fibre1024.pdf used on input line 1274.
(pdftex.def) Requested size: 452.96788pt x 341.48755pt.
[25 <./fibreSingle.pdf>] [26 <./fibre1024.pdf>] [27]
[28]
-Underfull \vbox (badness 10000) detected at line 1477
+Underfull \vbox (badness 10000) detected at line 1480
[]
-Underfull \vbox (badness 10000) detected at line 1477
+Underfull \vbox (badness 10000) detected at line 1480
[]
-[29] [30] [31]
+[29] [30]
LaTeX Font Info: Font shape `T1/pcr/bx/it' in size <9> not available
-(Font) Font shape `T1/pcr/b/it' tried instead on input line 1664.
+(Font) Font shape `T1/pcr/b/it' tried instead on input line 1667.
LaTeX Font Info: Font shape `T1/pcr/b/it' in size <9> not available
-(Font) Font shape `T1/pcr/b/sl' tried instead on input line 1664.
- [32]
-Underfull \vbox (badness 10000) detected at line 1725
+(Font) Font shape `T1/pcr/b/sl' tried instead on input line 1667.
+ [31]
+Underfull \vbox (badness 10000) detected at line 1728
[]
-Underfull \vbox (badness 10000) detected at line 1725
+Underfull \vbox (badness 10000) detected at line 1728
[]
-[33] [34] <groundstateU2.pdf, id=678, 467.32591pt x 333.245pt>
+[32] [33] [34] <groundstateU2.pdf, id=685, 467.32591pt x 333.245pt>
File: groundstateU2.pdf Graphic file (type pdf)
<use groundstateU2.pdf>
-Package pdftex.def Info: groundstateU2.pdf used on input line 1803.
+Package pdftex.def Info: groundstateU2.pdf used on input line 1806.
(pdftex.def) Requested size: 467.32477pt x 333.24417pt.
File: groundstateU2.pdf Graphic file (type pdf)
<use groundstateU2.pdf>
-Package pdftex.def Info: groundstateU2.pdf used on input line 1803.
+Package pdftex.def Info: groundstateU2.pdf used on input line 1806.
(pdftex.def) Requested size: 452.96788pt x 323.01334pt.
-<groundstateU20.pdf, id=679, 467.32591pt x 333.245pt>
+<groundstateU20.pdf, id=686, 467.32591pt x 333.245pt>
File: groundstateU20.pdf Graphic file (type pdf)
<use groundstateU20.pdf>
-Package pdftex.def Info: groundstateU20.pdf used on input line 1809.
+Package pdftex.def Info: groundstateU20.pdf used on input line 1812.
(pdftex.def) Requested size: 467.32477pt x 333.24417pt.
File: groundstateU20.pdf Graphic file (type pdf)
<use groundstateU20.pdf>
-Package pdftex.def Info: groundstateU20.pdf used on input line 1809.
+Package pdftex.def Info: groundstateU20.pdf used on input line 1812.
(pdftex.def) Requested size: 452.96788pt x 323.01334pt.
- [35] [36 <./groundstateU2.pdf>] [37 <./groundstateU20.pdf>]
-Underfull \vbox (badness 10000) detected at line 1937
+ [35 <./groundstateU2.pdf>] [36 <./groundstateU20.pdf>]
+Underfull \vbox (badness 10000) detected at line 1940
[]
-Underfull \vbox (badness 10000) detected at line 1937
+Underfull \vbox (badness 10000) detected at line 1940
[]
-[38] [39] [40] [41] [42]
+[37] [38] [39] [40] [41] [42
+
+]
Chapter 5.
-Overfull \hbox (116.47647pt too wide) in paragraph at lines 2126--2126
+Overfull \hbox (116.47647pt too wide) in paragraph at lines 2129--2129
[]
[]
-Underfull \hbox (badness 10000) in paragraph at lines 2126--2126
+Underfull \hbox (badness 10000) in paragraph at lines 2129--2129
[]
-[43
-
-] [44]
-Underfull \vbox (badness 10000) detected at line 2345
- []
-
-
-Underfull \vbox (badness 10000) detected at line 2345
- []
-
-[45] [46] [47] [48]
-Underfull \hbox (badness 10000) in paragraph at lines 2524--2525
+[43]
+LaTeX Font Info: Font shape `T1/pcr/m/it' in size <10> not available
+(Font) Font shape `T1/pcr/m/sl' tried instead on input line 2207.
+ [44] [45] [46] [47] [48]
+Underfull \hbox (badness 10000) in paragraph at lines 2526--2527
[]\T1/ptm/m/n/10 When the \T1/pcr/m/n/10 arguments_test \T1/ptm/m/n/10 ex-e-cut
able is run, it will cre-ate out-put files named
[]
-Underfull \hbox (badness 10000) in paragraph at lines 2524--2525
+Underfull \hbox (badness 10000) in paragraph at lines 2526--2527
\T1/pcr/m/n/10 arguments_test.number_7.pulse_shape_gaussian.size_20.0.xsil \T1/
ptm/m/n/10 and
[]
LaTeX Font Info: Font shape `T1/phv/bx/n' in size <9> not available
-(Font) Font shape `T1/phv/b/n' tried instead on input line 2528.
+(Font) Font shape `T1/phv/b/n' tried instead on input line 2530.
[49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63]
[64] [65] [66] [67] [68] [69] [70] [71] [72] [73]
-<richardsonExtrapolation.png, id=1153, 523.9575pt x 338.26375pt>
+<richardsonExtrapolation.png, id=1160, 523.9575pt x 338.26375pt>
File: richardsonExtrapolation.png Graphic file (type png)
<use richardsonExtrapolation.png>
-Package pdftex.def Info: richardsonExtrapolation.png used on input line 3767.
+Package pdftex.def Info: richardsonExtrapolation.png used on input line 3769.
(pdftex.def) Requested size: 523.95622pt x 338.26291pt.
File: richardsonExtrapolation.png Graphic file (type png)
<use richardsonExtrapolation.png>
-Package pdftex.def Info: richardsonExtrapolation.png used on input line 3767.
+Package pdftex.def Info: richardsonExtrapolation.png used on input line 3769.
(pdftex.def) Requested size: 452.96788pt x 292.43925pt.
- [74]
-<error_scaling.png, id=1159, 1304.875pt x 978.65625pt>
+
+<error_scaling.png, id=1162, 1304.875pt x 978.65625pt>
File: error_scaling.png Graphic file (type png)
<use error_scaling.png>
-Package pdftex.def Info: error_scaling.png used on input line 3783.
+Package pdftex.def Info: error_scaling.png used on input line 3785.
(pdftex.def) Requested size: 1304.87183pt x 978.65387pt.
File: error_scaling.png Graphic file (type png)
<use error_scaling.png>
-Package pdftex.def Info: error_scaling.png used on input line 3783.
+Package pdftex.def Info: error_scaling.png used on input line 3785.
(pdftex.def) Requested size: 452.96788pt x 339.7274pt.
- [75 <./richardsonExtrapolation.png>] [76 <./error_scaling.png (PNG copy)>]
-Chapter 6.
-[77
+ [74 <./richardsonExtrapolation.png>] [75 <./error_scaling.png (PNG copy)>] [76
-] [78] [79] <FourierTransformEx1.pdf, id=1186, 337.26pt x 261.97874pt>
+]
+Chapter 6.
+[77] [78] [79] <FourierTransformEx1.pdf, id=1193, 337.26pt x 261.97874pt>
File: FourierTransformEx1.pdf Graphic file (type pdf)
<use FourierTransformEx1.pdf>
-Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3972.
+Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3974.
(pdftex.def) Requested size: 337.25917pt x 261.9781pt.
File: FourierTransformEx1.pdf Graphic file (type pdf)
<use FourierTransformEx1.pdf>
-Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3972.
+Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3974.
(pdftex.def) Requested size: 337.25917pt x 261.9781pt.
-<FourierTransformEx2.pdf, id=1187, 515.9275pt x 224.84pt>
+<FourierTransformEx2.pdf, id=1194, 515.9275pt x 224.84pt>
File: FourierTransformEx2.pdf Graphic file (type pdf)
<use FourierTransformEx2.pdf>
-Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3981.
+Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3983.
(pdftex.def) Requested size: 515.92624pt x 224.83945pt.
File: FourierTransformEx2.pdf Graphic file (type pdf)
<use FourierTransformEx2.pdf>
-Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3981.
+Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3983.
(pdftex.def) Requested size: 452.96788pt x 197.40694pt.
- [80 <./FourierTransformEx1.pdf>] <FourierTransformEx3.pdf, id=1255, 515.9275pt
+ [80 <./FourierTransformEx1.pdf>] <FourierTransformEx3.pdf, id=1262, 515.9275pt
x 255.95625pt>
File: FourierTransformEx3.pdf Graphic file (type pdf)
<use FourierTransformEx3.pdf>
-Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3992.
+Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3994.
(pdftex.def) Requested size: 515.92624pt x 255.95561pt.
File: FourierTransformEx3.pdf Graphic file (type pdf)
<use FourierTransformEx3.pdf>
-Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3992.
+Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3994.
(pdftex.def) Requested size: 452.96788pt x 224.72664pt.
LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <14.4> not available
-(Font) Font shape `T1/pcr/b/n' tried instead on input line 3998.
+(Font) Font shape `T1/pcr/b/n' tried instead on input line 4000.
[81 <./FourierTransformEx2.pdf> <./FourierTransformEx3.pdf>] [82]
Chapter 7.
[83
@@ -1234,77 +1259,77 @@ Chapter 10.
]
Chapter 11.
[95]
-Overfull \hbox (32.81522pt too wide) in paragraph at lines 4444--4446
+Overfull \hbox (32.81522pt too wide) in paragraph at lines 4445--4447
[][][]\T1/ptm/m/n/10 http://docutils.sourceforge.net/docs/user/rst/quickref.htm
l[][] [][]http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html[][
]
[]
-<IntroduceNewElement.png, id=1594, 364.18411pt x 712.7806pt>
+<IntroduceNewElement.png, id=1601, 364.18411pt x 712.7806pt>
File: IntroduceNewElement.png Graphic file (type png)
<use IntroduceNewElement.png>
-Package pdftex.def Info: IntroduceNewElement.png used on input line 4457.
+Package pdftex.def Info: IntroduceNewElement.png used on input line 4458.
(pdftex.def) Requested size: 364.18321pt x 712.77885pt.
File: IntroduceNewElement.png Graphic file (type png)
<use IntroduceNewElement.png>
-Package pdftex.def Info: IntroduceNewElement.png used on input line 4457.
+Package pdftex.def Info: IntroduceNewElement.png used on input line 4458.
(pdftex.def) Requested size: 364.18321pt x 712.77885pt.
[96] [97]
Overfull \vbox (47.17236pt too high) has occurred while \output is active []
[98 <./IntroduceNewElement.png>]
-<IntroduceNewIntegrationTechnique.png, id=1607, 243.73412pt x 772.29706pt>
+<IntroduceNewIntegrationTechnique.png, id=1614, 243.73412pt x 772.29706pt>
File: IntroduceNewIntegrationTechnique.png Graphic file (type png)
<use IntroduceNewIntegrationTechnique.png>
Package pdftex.def Info: IntroduceNewIntegrationTechnique.png used on input lin
-e 4482.
+e 4483.
(pdftex.def) Requested size: 243.73352pt x 772.29518pt.
File: IntroduceNewIntegrationTechnique.png Graphic file (type png)
<use IntroduceNewIntegrationTechnique.png>
Package pdftex.def Info: IntroduceNewIntegrationTechnique.png used on input lin
-e 4482.
+e 4483.
(pdftex.def) Requested size: 243.73352pt x 772.29518pt.
LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <10> not available
-(Font) Font shape `T1/pcr/b/n' tried instead on input line 4484.
+(Font) Font shape `T1/pcr/b/n' tried instead on input line 4485.
[99] [100]
Overfull \vbox (124.68869pt too high) has occurred while \output is active []
[101 <./IntroduceNewIntegrationTechnique.png>]
-Underfull \hbox (badness 10000) in paragraph at lines 4486--4487
+Underfull \hbox (badness 10000) in paragraph at lines 4487--4488
[]\T1/ptm/m/n/10 Navigate to the \T1/pcr/m/n/10 xpdeint/Segments/Integrators \T
1/ptm/m/n/10 di-rec-tory. Cre-ate a file called
[]
-<Overall_Flowchart.png, id=1621, 323.08942pt x 753.87529pt>
+<Overall_Flowchart.png, id=1628, 323.08942pt x 753.87529pt>
File: Overall_Flowchart.png Graphic file (type png)
<use Overall_Flowchart.png>
-Package pdftex.def Info: Overall_Flowchart.png used on input line 4523.
+Package pdftex.def Info: Overall_Flowchart.png used on input line 4524.
(pdftex.def) Requested size: 323.08862pt x 753.87344pt.
File: Overall_Flowchart.png Graphic file (type png)
<use Overall_Flowchart.png>
-Package pdftex.def Info: Overall_Flowchart.png used on input line 4523.
+Package pdftex.def Info: Overall_Flowchart.png used on input line 4524.
(pdftex.def) Requested size: 323.08862pt x 753.87344pt.
[102] [103]
Overfull \vbox (81.02339pt too high) has occurred while \output is active []
[104 <./Overall_Flowchart.png>]
-<Subprocess3_ParsingXMLFile.png, id=1636, 717.03177pt x 1296.60883pt>
+<Subprocess3_ParsingXMLFile.png, id=1643, 717.03177pt x 1296.60883pt>
File: Subprocess3_ParsingXMLFile.png Graphic file (type png)
<use Subprocess3_ParsingXMLFile.png>
-Package pdftex.def Info: Subprocess3_ParsingXMLFile.png used on input line 4530
+Package pdftex.def Info: Subprocess3_ParsingXMLFile.png used on input line 4531
.
(pdftex.def) Requested size: 717.03001pt x 1296.60567pt.
File: Subprocess3_ParsingXMLFile.png Graphic file (type png)
<use Subprocess3_ParsingXMLFile.png>
-Package pdftex.def Info: Subprocess3_ParsingXMLFile.png used on input line 4530
+Package pdftex.def Info: Subprocess3_ParsingXMLFile.png used on input line 4531
.
(pdftex.def) Requested size: 452.96788pt x 819.12334pt.
@@ -1313,79 +1338,79 @@ Overfull \vbox (146.27328pt too high) has occurred while \output is active []
[107 <./Subprocess3_ParsingXMLFile.png>]
-<Subprocess3_4_parseXMLDocument.png, id=1652, 443.53941pt x 1091.1353pt>
+<Subprocess3_4_parseXMLDocument.png, id=1659, 443.53941pt x 1091.1353pt>
File: Subprocess3_4_parseXMLDocument.png Graphic file (type png)
<use Subprocess3_4_parseXMLDocument.png>
Package pdftex.def Info: Subprocess3_4_parseXMLDocument.png used on input line
-4537.
+4538.
(pdftex.def) Requested size: 443.53831pt x 1091.13263pt.
File: Subprocess3_4_parseXMLDocument.png Graphic file (type png)
<use Subprocess3_4_parseXMLDocument.png>
Package pdftex.def Info: Subprocess3_4_parseXMLDocument.png used on input line
-4537.
+4538.
(pdftex.def) Requested size: 443.53831pt x 1091.13263pt.
[108] [109]
Overfull \vbox (432.28258pt too high) has occurred while \output is active []
[110 <./Subprocess3_4_parseXMLDocument.png>]
-<Subprocess3_4_11_ParseTopLvlSeqElements.png, id=1666, 1071.29646pt x 919.67117
+<Subprocess3_4_11_ParseTopLvlSeqElements.png, id=1673, 1071.29646pt x 919.67117
pt>
File: Subprocess3_4_11_ParseTopLvlSeqElements.png Graphic file (type png)
<use Subprocess3_4_11_ParseTopLvlSeqElements.png>
Package pdftex.def Info: Subprocess3_4_11_ParseTopLvlSeqElements.png used on in
-put line 4544.
+put line 4545.
(pdftex.def) Requested size: 1071.29385pt x 919.66893pt.
File: Subprocess3_4_11_ParseTopLvlSeqElements.png Graphic file (type png)
<use Subprocess3_4_11_ParseTopLvlSeqElements.png>
Package pdftex.def Info: Subprocess3_4_11_ParseTopLvlSeqElements.png used on in
-put line 4544.
+put line 4545.
(pdftex.def) Requested size: 452.96788pt x 388.85538pt.
-<Subprocess3_4_11_2_ParseIntegrateElement.png, id=1667, 1016.03117pt x 1358.959
+<Subprocess3_4_11_2_ParseIntegrateElement.png, id=1674, 1016.03117pt x 1358.959
41pt>
File: Subprocess3_4_11_2_ParseIntegrateElement.png Graphic file (type png)
<use Subprocess3_4_11_2_ParseIntegrateElement.png>
Package pdftex.def Info: Subprocess3_4_11_2_ParseIntegrateElement.png used on i
-nput line 4551.
+nput line 4552.
(pdftex.def) Requested size: 1016.0287pt x 1358.9561pt.
File: Subprocess3_4_11_2_ParseIntegrateElement.png Graphic file (type png)
<use Subprocess3_4_11_2_ParseIntegrateElement.png>
Package pdftex.def Info: Subprocess3_4_11_2_ParseIntegrateElement.png used on i
-nput line 4551.
+nput line 4552.
(pdftex.def) Requested size: 452.96788pt x 605.86516pt.
[111 <./Subprocess3_4_11_ParseTopLvlSeqElements.png>] [112 <./Subprocess3_4_11
_2_ParseIntegrateElement.png>]
-Overfull \hbox (34.13051pt too wide) in paragraph at lines 4567--4567
+Overfull \hbox (34.13051pt too wide) in paragraph at lines 4568--4568
[]
[]
-Underfull \hbox (badness 10000) in paragraph at lines 4567--4567
+Underfull \hbox (badness 10000) in paragraph at lines 4568--4568
[]
-Overfull \hbox (216.03926pt too wide) in paragraph at lines 4582--4582
+Overfull \hbox (216.03926pt too wide) in paragraph at lines 4583--4583
[]
[]
-Underfull \hbox (badness 10000) in paragraph at lines 4582--4582
+Underfull \hbox (badness 10000) in paragraph at lines 4583--4583
[]
-Overfull \hbox (58.00885pt too wide) in paragraph at lines 4591--4591
+Overfull \hbox (58.00885pt too wide) in paragraph at lines 4592--4592
[]
[]
-Underfull \hbox (badness 10000) in paragraph at lines 4591--4591
+Underfull \hbox (badness 10000) in paragraph at lines 4592--4592
[]
@@ -1403,48 +1428,48 @@ Chapter 13.
] [130] [131
])
-Package atveryend Info: Empty hook `BeforeClearDocument' on input line 5278.
-Package atveryend Info: Empty hook `AfterLastShipout' on input line 5278.
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 5279.
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 5279.
(./xmds2.aux)
-Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 5278.
-Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 5278.
+Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 5279.
+Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 5279.
Package rerunfilecheck Info: File `xmds2.out' has not changed.
(rerunfilecheck) Checksum: 1B84A7C91A90F86D42D95E438D3F05AC;4808.
-Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 5278.
+Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 5279.
)
Here is how much of TeX's memory you used:
- 9908 strings out of 493315
- 144850 string characters out of 6137904
- 266146 words of memory out of 5000000
- 12764 multiletter control sequences out of 15000+600000
- 83761 words of font info for 98 fonts, out of 8000000 for 9000
+ 9994 strings out of 493481
+ 146345 string characters out of 3140966
+ 251300 words of memory out of 3000000
+ 12610 multiletter control sequences out of 15000+200000
+ 88788 words of font info for 105 fonts, out of 3000000 for 9000
958 hyphenation exceptions out of 8191
- 36i,28n,48p,7668b,660s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/usr/local/texlive/2013/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/local/t
-exlive/2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/local/te
-xlive/2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/local/tex
-live/2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/local/texl
-ive/2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb></usr/local/texliv
-e/2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/local/texlive/
-2013/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/20
-13/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb></usr/local/texlive/2013/
-texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/local/texlive/2013/tex
-mf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/local/texlive/2013/texm
-f-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/local/texlive/2013/texmf-
-dist/fonts/type1/urw/courier/ucrb8a.pfb></usr/local/texlive/2013/texmf-dist/fon
-ts/type1/urw/courier/ucrbo8a.pfb></usr/local/texlive/2013/texmf-dist/fonts/type
-1/urw/courier/ucrr8a.pfb></usr/local/texlive/2013/texmf-dist/fonts/type1/urw/co
-urier/ucrro8a.pfb></usr/local/texlive/2013/texmf-dist/fonts/type1/urw/helvetic/
-uhvb8a.pfb></usr/local/texlive/2013/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a
-.pfb></usr/local/texlive/2013/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></
-usr/local/texlive/2013/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/local/
-texlive/2013/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/local/texlive/20
-13/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
-Output written on xmds2.pdf (135 pages, 7004746 bytes).
+ 36i,28n,49p,1198b,658s stack positions out of 5000i,500n,10000p,200000b,50000s
+{/usr/local/texlive/2012/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/local/t
+exlive/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/local/te
+xlive/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/local/tex
+live/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/local/texl
+ive/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb></usr/local/texliv
+e/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/local/texlive/
+2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/20
+12/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb></usr/local/texlive/2012/
+texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/local/texlive/2012/tex
+mf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/local/texlive/2012/texm
+f-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/local/texlive/2012/texmf-
+dist/fonts/type1/urw/courier/ucrb8a.pfb></usr/local/texlive/2012/texmf-dist/fon
+ts/type1/urw/courier/ucrbo8a.pfb></usr/local/texlive/2012/texmf-dist/fonts/type
+1/urw/courier/ucrr8a.pfb></usr/local/texlive/2012/texmf-dist/fonts/type1/urw/co
+urier/ucrro8a.pfb></usr/local/texlive/2012/texmf-dist/fonts/type1/urw/helvetic/
+uhvb8a.pfb></usr/local/texlive/2012/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a
+.pfb></usr/local/texlive/2012/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></
+usr/local/texlive/2012/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/local/
+texlive/2012/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/local/texlive/20
+12/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
+Output written on xmds2.pdf (135 pages, 7011644 bytes).
PDF statistics:
- 2140 PDF objects out of 2487 (max. 8388607)
- 1867 compressed objects within 19 object streams
- 365 named destinations out of 1000 (max. 500000)
- 613 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 2147 PDF objects out of 2487 (max. 8388607)
+ 1869 compressed objects within 19 object streams
+ 367 named destinations out of 1000 (max. 500000)
+ 633 words of extra memory for PDF output out of 10000 (max. 10000000)
diff --git a/documentation/latex/xmds2.pdf b/documentation/latex/xmds2.pdf
index 803be01..a7cd179 100644
Binary files a/documentation/latex/xmds2.pdf and b/documentation/latex/xmds2.pdf differ
diff --git a/documentation/latex/xmds2.tex b/documentation/latex/xmds2.tex
index e8d0321..0cf7632 100644
--- a/documentation/latex/xmds2.tex
+++ b/documentation/latex/xmds2.tex
@@ -3,6 +3,7 @@
\documentclass[a4paper,10pt,english]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
+\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
@@ -13,8 +14,8 @@
\title{XMDS2 Documentation}
-\date{September 30, 2014}
-\release{2.2.1}
+\date{October 11, 2014}
+\release{2.2.2-rc1}
\author{Graham Dennis, Joe Hope and Mattias Johnsson}
\newcommand{\sphinxlogo}{\includegraphics{xmds_logo.pdf}\par}
\renewcommand{\releasename}{Release}
@@ -113,6 +114,8 @@
\def\PYGZrb{]}
\makeatother
+\renewcommand\PYGZsq{\textquotesingle}
+
\begin{document}
\maketitle
@@ -172,20 +175,20 @@ Linux (Ubuntu/Debian/Fedora/RedHat)
\href{http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux\_installer.sh}{Download Linux shell script installer}
&
{\hyperref[installation:linux-installation]{\emph{Learn more}}}
-\\\hline
+\\
OS X 10.6 / 10.7 / 10.8 / 10.9
&
\href{http://sourceforge.net/projects/xmds/files}{Download OS X Installer}
&
{\hyperref[installation:mac-installation]{\emph{Learn more}}}
-\\\hline
+\\
Other systems
&
{\hyperref[installation:manualinstallation]{\emph{Install from source}}}
- & \\\hline
-\end{tabulary}
+ & \\
+\hline\end{tabulary}
If you have one of the supported operating systems listed above, but you find the installer doesn't work for you, please let us know by emailing xmds-devel \textless{}at\textgreater{} lists.sourceforge.net. If you'd like to tweak the linux installer to work on a distribution we haven't tested, we'd love you to do that and let us know!
@@ -497,9 +500,9 @@ In this tutorial, we will create an XMDS2 script to solve the Lorenz Attractor,
\begin{gather}
\begin{split}\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) - y\\
-\frac{dz}{dt} &= xy - \beta z\end{split}\notag\\\begin{split}\end{split}\notag
+\frac{dz}{dt} &= xy - \beta z\end{split}\notag
\end{gather}
-where we will solve with the parameters $\sigma=10$, $\rho=28$, $\beta = \frac{8}{3}$ and the initial condition $x(0) = y(0) = z(0) = 1$.
+where we will solve with the parameters \(\sigma=10\), \(\rho=28\), \(\beta = \frac{8}{3}\) and the initial condition \(x(0) = y(0) = z(0) = 1\).
Below is a script that solves this problem (it's also saved as examples/lorenz.xmds in your XMDS2 directory). Don't worry if it doesn't make sense yet, soon we'll break it down into easily digestible parts.
@@ -730,7 +733,7 @@ Now we come to the heart of the simulation, where we define the evolution of our
Here our sequence consists of a single \code{\textless{}integrate\textgreater{}} element. It contains several important pieces of information. At the heart, the \code{\textless{}operators\textgreater{}} element contains the equations of motion as described above, written in a very human-readable fashion. It also contains an \code{\textless{}integration\_vectors\textgreater{}} element, which defines which vectors are used in this integrate block. We have only one vector defined in thi [...]
-All integrate blocks must define which algorithm is to be used - in this case the 8th (embedded 9th) order adaptive Runge-Kutta method, called ``ARK89''. The details of different algorithms will be described later (FIXME: Link!), but for now all we need to know is that this algorithm requires a tolerance, and that smaller means more accurate, so we'll make it $10^{-7}$ by setting \code{tolerance="1.0e-7"}. Finally, any integration will proceed a certain length in the propagation dimens [...]
+All integrate blocks must define which algorithm is to be used - in this case the 8th (embedded 9th) order adaptive Runge-Kutta method, called ``ARK89''. The details of different algorithms will be described later (FIXME: Link!), but for now all we need to know is that this algorithm requires a tolerance, and that smaller means more accurate, so we'll make it \(10^{-7}\) by setting \code{tolerance="1.0e-7"}. Finally, any integration will proceed a certain length in the propagation dime [...]
The \code{\textless{}samples\textgreater{}} element says that the values of the output groups will be sampled 5000 times during this interval. The nature of the output is defined in the last element in the simulation: the \code{\textless{}output\textgreater{}} element.
@@ -786,9 +789,9 @@ All of these scripts are available in the included ``examples'' folder, along wi
\label{worked_examples:nonlinearschrodingerequation}\label{worked_examples:the-nonlinear-schrodinger-equation}\label{worked_examples:index-1}
This worked example will show a range of new features that can be used in an \textbf{XMDS2} script, and we will also examine our first partial differential equation. We will take the one dimensional nonlinear Schrödinger equation, which is a common nonlinear wave equation. The equation describing this problem is:
\begin{gather}
-\begin{split}\frac{\partial \phi}{\partial \xi} = \frac{i}{2}\frac{\partial^2 \phi}{\partial \tau^2} - \Gamma(\tau)\phi+i|\phi|^2 \phi\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial \xi} = \frac{i}{2}\frac{\partial^2 \phi}{\partial \tau^2} - \Gamma(\tau)\phi+i|\phi|^2 \phi\end{split}\notag
\end{gather}
-where $\phi$ is a complex-valued field, and $\Gamma(\tau)$ is a $\tau$-dependent damping term. Let us look at an XMDS2 script that integrates this equation, and then examine it in detail.
+where \(\phi\) is a complex-valued field, and \(\Gamma(\tau)\) is a \(\tau\)-dependent damping term. Let us look at an XMDS2 script that integrates this equation, and then examine it in detail.
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -935,7 +938,7 @@ The \code{\textless{}integrate\textgreater{}} element for a partial differential
There are some trivial changes from the tutorial script, such as the fact that we are using the ARK45 algorithm rather than ARK89. Higher order algorithms are often better, but not always. Also, since this script has multiple output groups, we have to specify how many times each of these output groups are sampled in the \code{\textless{}samples\textgreater{}} element, so there are three numbers there. Besides the vectors that are to be integrated, we also specify that we want to use t [...]
-The equation of motion as written in the CDATA block looks almost identical to our desired equation of motion, except for the term based on the second derivative, which introduces an important new concept. Inside the \code{\textless{}operators\textgreater{}} element, we can define any number of operators. Operators are used to define functions in the transformed space of each dimension, which in this case is Fourier space. The derivative of a function is equivalent to multiplying by $ [...]
+The equation of motion as written in the CDATA block looks almost identical to our desired equation of motion, except for the term based on the second derivative, which introduces an important new concept. Inside the \code{\textless{}operators\textgreater{}} element, we can define any number of operators. Operators are used to define functions in the transformed space of each dimension, which in this case is Fourier space. The derivative of a function is equivalent to multiplying by \ [...]
Operators can be explicit (\code{kind="ex"}) or in the interaction picture (\code{kind="ip"}). The interaction picture can be more efficient, but it restricts the possible syntax of the equation of motion. Safe utilisation of interaction picture operators will be described later, but for now let us emphasise that \textbf{explicit operators should be used} unless the user is clear what they are doing. That said, \textbf{XMDS2} will generate an error if the user tries to use interaction [...]
@@ -967,7 +970,7 @@ If the lattice parameter is set to zero points, then the corresponding dimension
\PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
\end{Verbatim}
-This second output group samples the normalisation of the wavefunction $\int d\tau |\phi(\tau)|^2$ over the domain of $\tau$. This output requires only a single real number per sample, so in the integrate element we have chosen to sample it many more times than the vectors themselves.
+This second output group samples the normalisation of the wavefunction \(\int d\tau |\phi(\tau)|^2\) over the domain of \(\tau\). This output requires only a single real number per sample, so in the integrate element we have chosen to sample it many more times than the vectors themselves.
Finally, functions of the vectors can be sampled with their dimensions in Fourier space.
@@ -989,11 +992,11 @@ The final output group above samples the mod square of the Fourier-space wavefun
\label{worked_examples:kubo}\label{worked_examples:kubo-oscillator}\label{worked_examples:index-2}
This example demonstrates the integration of a stochastic differential equation. We examine the Kubo oscillator, which is a complex variable whose phase is evolving according to a Wiener noise. In a suitable rotating frame, the equation of motion for the variable is
\begin{gather}
-\begin{split}\frac{dz}{dt} = i z \;\eta\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{dz}{dt} = i z \;\eta\end{split}\notag
\end{gather}
-where $\eta(t)$ is the Wiener differential, and we interpret this as a Stratonovich equation. In other common notation, this is sometimes written:
+where \(\eta(t)\) is the Wiener differential, and we interpret this as a Stratonovich equation. In other common notation, this is sometimes written:
\begin{gather}
-\begin{split}dz = i z \;\circ dW\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}dz = i z \;\circ dW\end{split}\notag
\end{gather}
Most algorithms employed by XMDS require the equations to be input in the Stratonovich form. Ito differential equations can always be transformed into Stratonovich equations, and in this case the difference is equivalent to the choice of rotating frame. This equation is solved by the following XMDS2 script:
@@ -1116,7 +1119,7 @@ The average over multiple paths can be increasingly smooth.
\capstart
\includegraphics{kubo10000.pdf}
-\caption{The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of $\exp(-t/2)$.}\end{figure}
+\caption{The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of \(\exp(-t/2)\).}\end{figure}
\index{Fibre noise}
@@ -1124,9 +1127,9 @@ The average over multiple paths can be increasingly smooth.
\label{worked_examples:fibre}\label{worked_examples:fibre-noise}\label{worked_examples:index-5}
This simulation is a stochastic partial differential equation, in which a one-dimensional damped field is subject to a complex noise. This script can be found in \code{examples/fibre.xmds}.
\begin{gather}
-\begin{split}\frac{\partial \psi}{\partial t} = -i \frac{\partial^2 \psi}{\partial x^2} -\gamma \psi+\beta \frac{1}{\sqrt{2}}\left(\eta_1(x)+i\eta_2(x)\right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial \psi}{\partial t} = -i \frac{\partial^2 \psi}{\partial x^2} -\gamma \psi+\beta \frac{1}{\sqrt{2}}\left(\eta_1(x)+i\eta_2(x)\right)\end{split}\notag
\end{gather}
-where the noise terms $\eta_j(x,t)$ are Wiener differentials and the equation is interpreted as a Stratonovich differential equation. On a finite grid, these increments have variance $\frac{1}{\Delta x \Delta t}$.
+where the noise terms \(\eta_j(x,t)\) are Wiener differentials and the equation is interpreted as a Stratonovich differential equation. On a finite grid, these increments have variance \(\frac{1}{\Delta x \Delta t}\).
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1253,9 +1256,9 @@ In this example we used four processors. The different processors are labelled
The analytic solution to the stochastic averages of this equation is given by
\begin{gather}
-\begin{split}\langle |\psi(k,t)|^2 \rangle = \exp(-2\gamma t)|\psi(k,0)|^2 +\frac{\beta^2 L_x}{4\pi \gamma} \left(1-\exp(-2\gamma t)\right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\langle |\psi(k,t)|^2 \rangle = \exp(-2\gamma t)|\psi(k,0)|^2 +\frac{\beta^2 L_x}{4\pi \gamma} \left(1-\exp(-2\gamma t)\right)\end{split}\notag
\end{gather}
-where $L_x$ is the length of the x domain. We see that a single integration of these equations is quite chaotic:
+where \(L_x\) is the length of the x domain. We see that a single integration of these equations is quite chaotic:
\begin{figure}[htbp]
\centering
\capstart
@@ -1277,9 +1280,9 @@ while an average of 1024 paths (change \code{paths="8"} to \code{paths="1024"} i
\label{worked_examples:integer-dimensions}\label{worked_examples:integerdimensionexample}\label{worked_examples:index-8}
This example shows how to handle systems with integer-valued transverse dimensions. We will integrate the following set of equations
\begin{gather}
-\begin{split}\frac{dx_j}{dt} = x_j \left(x_{j-1}-x_{j+1}\right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{dx_j}{dt} = x_j \left(x_{j-1}-x_{j+1}\right)\end{split}\notag
\end{gather}
-where $x_j$ are complex-valued variables defined on a ring, such that $j\in \{0,j_{max}\}$ and the $x_{j_{max}+1}$ variable is identified with the variable $x_{0}$, and the variable $x_{-1}$ is identified with the variable $x_{j_{max}}$.
+where \(x_j\) are complex-valued variables defined on a ring, such that \(j\in \{0,j_{max}\}\) and the \(x_{j_{max}+1}\) variable is identified with the variable \(x_{0}\), and the variable \(x_{-1}\) is identified with the variable \(x_{j_{max}}\).
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1352,7 +1355,7 @@ x = 1.0e\PYGZhy{}3;
x(j =\PYGZgt{} 0) = 1.0;
\end{Verbatim}
-where the syntax \code{x(j =\textgreater{} 0)} is used to reference the variable $x_0$ directly. We see a more elaborate example in the integrate CDATA block:
+where the syntax \code{x(j =\textgreater{} 0)} is used to reference the variable \(x_0\) directly. We see a more elaborate example in the integrate CDATA block:
\begin{Verbatim}[commandchars=\\\{\}]
dx\PYGZus{}dt(j =\PYGZgt{} j) = x(j =\PYGZgt{} j)*(x(j =\PYGZgt{} j\PYGZus{}minus\PYGZus{}one) \PYGZhy{} x(j =\PYGZgt{} j\PYGZus{}plus\PYGZus{}one));
@@ -1370,7 +1373,7 @@ This example integrates the two-dimensional partial differential equation
- y \frac{\partial}{\partial x}\right)\\
&\phantom{=\Bigg[} - \frac{U_{int}}{16 \hbar}\left(x\left(\frac{\partial^3}{\partial x^2 \partial y}
+\frac{\partial^3}{\partial y^3}\right)-y\left(\frac{\partial^3}{\partial y^2 \partial x}+\frac{\partial^3}{\partial x^3}\right)\right)\Bigg]W(x,y,t)
-\end{split}\end{split}\notag\\\begin{split}\end{split}\notag
+\end{split}\end{split}\notag
\end{gather}
with the added restriction that the derivative is forced to zero outside a certain radius. This extra condition helps maintain the long-term stability of the integration. The script can be found in \code{examples/wigner\_arguments\_mpi.xmds} under your XMDS2 installation directory.
@@ -1585,13 +1588,13 @@ which is short for
\label{worked_examples:groundstatebec}\label{worked_examples:finding-the-ground-state-of-a-bec-continuous-renormalisation}
This simulation solves another partial differential equation, but introduces several powerful new features in XMDS2. The nominal problem is the calculation of the lowest energy eigenstate of a non-linear Schrödinger equation:
\begin{gather}
-\begin{split}\frac{\partial \phi}{\partial t} = i \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial t} = i \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag
\end{gather}
which can be found by evolving the above equation in imaginary time while keeping the normalisation constant. This causes eigenstates to exponentially decay at the rate of their eigenvalue, so after a short time only the state with the lowest eigenvalue remains. The evolution equation is straightforward:
\begin{gather}
-\begin{split}\frac{\partial \phi}{\partial t} = \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial t} = \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag
\end{gather}
-but we will need to use new XMDS2 features to manage the normalisation of the function $\phi(y,t)$. The normalisation for a non-linear Schrödinger equation is given by $\int dy |\phi(y,t)|^2 = N_{particles}$, where $N_{particles}$ is the number of particles described by the wavefunction.
+but we will need to use new XMDS2 features to manage the normalisation of the function \(\phi(y,t)\). The normalisation for a non-linear Schrödinger equation is given by \(\int dy |\phi(y,t)|^2 = N_{particles}\), where \(N_{particles}\) is the number of particles described by the wavefunction.
The code for this simulation can be found in \code{examples/groundstate\_workedexamples.xmds}:
@@ -1767,7 +1770,7 @@ This filter block merely prints a string into the output when the generated prog
\PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
\end{Verbatim}
-Since this filter depends on a vector with the transverse dimension ``y'', this filter will execute for each point in ``y''. This code multiplies the value of the field ``phi'' by the factor required to produce a normalised function in the sense that $\int dy |\phi(y,t)|^2 = N_{particles}$.
+Since this filter depends on a vector with the transverse dimension ``y'', this filter will execute for each point in ``y''. This code multiplies the value of the field ``phi'' by the factor required to produce a normalised function in the sense that \(\int dy |\phi(y,t)|^2 = N_{particles}\).
The next usage of a \code{\textless{}filter\textgreater{}} element in this program is inside the \code{\textless{}integrate\textgreater{}} element, where all filters are placed inside a \code{\textless{}filters\textgreater{}} element.
@@ -1807,20 +1810,20 @@ This program begins with a very crude guess to the ground state, but it rapidly
\capstart
\includegraphics{groundstateU20.pdf}
-\caption{When the nonlinear term is larger ($U=20$), the ground state is wider and more parabolic.}\end{figure}
+\caption{When the nonlinear term is larger (\(U=20\)), the ground state is wider and more parabolic.}\end{figure}
\section{Finding the Ground State of a BEC again}
\label{worked_examples:finding-the-ground-state-of-a-bec-again}\label{worked_examples:hermitegaussgroundstatebec}
Here we repeat the same simulation as in the {\hyperref[worked_examples:groundstatebec]{\emph{Finding the Ground State of a BEC (continuous renormalisation)}}} example, using a different transform basis. While spectral methods are very effective, and Fourier transforms are typically very efficient due to the Fast Fourier transform algorithm, it is often desirable to describe nonlocal evolution in bases other than the Fourier basis. The previous calculation was the Schrödinger equation [...]
\begin{gather}
-\begin{split}\left[-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\right]\phi_n(x) = E_n \phi_n(x)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\left[-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\right]\phi_n(x) = E_n \phi_n(x)\end{split}\notag
\end{gather}
where
\begin{gather}
-\begin{split}\phi_n(x,t) = \sqrt{\frac{1}{2^n n!}} \left(\frac{m \omega}{\hbar \pi}\right)^\frac{1}{4} e^{-\frac{m \omega x^2}{2\hbar}} H_n\left(\sqrt{\frac{m \omega}{\hbar}x}\right),\;\;\;\;\;\;E_n = \left(n+\frac{1}{2}\right) \omega\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\phi_n(x,t) = \sqrt{\frac{1}{2^n n!}} \left(\frac{m \omega}{\hbar \pi}\right)^\frac{1}{4} e^{-\frac{m \omega x^2}{2\hbar}} H_n\left(\sqrt{\frac{m \omega}{\hbar}x}\right),\;\;\;\;\;\;E_n = \left(n+\frac{1}{2}\right) \omega\end{split}\notag
\end{gather}
-where $H_n(u)$ are the physicist's version of the Hermite polynomials. Rather than describing the derivatives as diagonal terms in Fourier space, we therefore have the option of describing the entire $-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2$ term as a diagonal term in the Hermite-Gaussian basis. Here is an XMDS2 simulation that performs the integration in this basis. The following is a simplified version of the \code{examples/hermitegauss\_groundstat [...]
+where \(H_n(u)\) are the physicist's version of the Hermite polynomials. Rather than describing the derivatives as diagonal terms in Fourier space, we therefore have the option of describing the entire \(-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\) term as a diagonal term in the Hermite-Gaussian basis. Here is an XMDS2 simulation that performs the integration in this basis. The following is a simplified version of the \code{examples/hermitegauss\_ground [...]
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1957,9 +1960,9 @@ which disables many of these checks at the time of writing the C-code.
\label{worked_examples:dmultistatese}\label{worked_examples:multi-component-schrodinger-equation}
This example demonstrates a simple method for doing matrix calculations in XMDS2. We are solving the multi-component PDE
\begin{gather}
-\begin{split}\frac{\partial \phi_j(x,y)}{\partial t} = \frac{i}{2}\left(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}\right)\phi_j(x,y) - i U(x,y) \sum_k V_{j k}\phi_k(x,y)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial \phi_j(x,y)}{\partial t} = \frac{i}{2}\left(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}\right)\phi_j(x,y) - i U(x,y) \sum_k V_{j k}\phi_k(x,y)\end{split}\notag
\end{gather}
-where the last term is more commonly written as a matrix multiplication. Writing this term out explicitly is feasible for a small number of components, but when the number of components becomes large, or perhaps $V_{j k}$ should be precomputed for efficiency reasons, it is useful to be able to perform this sum over the integer dimensions automatically. This example show how this can be done naturally using a computed vector. The XMDS2 script is as follows:
+where the last term is more commonly written as a matrix multiplication. Writing this term out explicitly is feasible for a small number of components, but when the number of components becomes large, or perhaps \(V_{j k}\) should be precomputed for efficiency reasons, it is useful to be able to perform this sum over the integer dimensions automatically. This example show how this can be done naturally using a computed vector. The XMDS2 script is as follows:
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -2072,7 +2075,7 @@ where the last term is more commonly written as a matrix multiplication. Writin
\end{Verbatim}
\index{Aliases}
-The only truly new feature in this script is the ``aliases'' option on a dimension. The integer-valued dimension in this script indexes the components of the PDE (in this case only two). The $V_{j k}$ term is required to be a square array of dimension of this number of components. If we wrote the k-index of $V_{j k}$ using a separate \code{\textless{}dimension\textgreater{}} element, then we would not be enforcing the requirement that the matrix be square. Instead, we note that we w [...]
+The only truly new feature in this script is the ``aliases'' option on a dimension. The integer-valued dimension in this script indexes the components of the PDE (in this case only two). The \(V_{j k}\) term is required to be a square array of dimension of this number of components. If we wrote the k-index of \(V_{j k}\) using a separate \code{\textless{}dimension\textgreater{}} element, then we would not be enforcing the requirement that the matrix be square. Instead, we note that [...]
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+na}{name=}\PYG{l+s}{\PYGZdq{}j\PYGZdq{}} \PYG{n+na}{type=}\PYG{l+s}{\PYGZdq{}integer\PYGZdq{}} \PYG{n+na}{lattice=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}} \PYG{n+na}{domain=}\PYG{l+s}{\PYGZdq{}(0,1)\PYGZdq{}} \PYG{n+na}{aliases=}\PYG{l+s}{\PYGZdq{}k\PYGZdq{}}\PYG{n+nt}{/\PYGZgt{}}
@@ -2097,7 +2100,7 @@ This means that we can use the index ``k'', which will have exactly the same pro
Since the output dimensions of the computed vector do not include a ``k'' index, this index is integrated. The volume element for this summation is the spacing between neighbouring values of ``j'', and since this spacing is one, this integration is just a sum over k, as required.
-This example also demonstrates an optimisation for the IP operators by separating the $x$ and $y$ parts of the operator (see {\hyperref[optimisation_hints:optimisingipoperators]{\emph{Optimising with the Interaction Picture (IP) operator}}}). This gives an approximately 30\% speed improvement over the more straightforward implementation:
+This example also demonstrates an optimisation for the IP operators by separating the \(x\) and \(y\) parts of the operator (see {\hyperref[optimisation_hints:optimisingipoperators]{\emph{Optimising with the Interaction Picture (IP) operator}}}). This gives an approximately 30\% speed improvement over the more straightforward implementation:
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}operator} \PYG{n+na}{kind=}\PYG{l+s}{\PYGZdq{}ip\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -2199,150 +2202,149 @@ There are many, many XML tags that can make up an XMDS2 script. Most of them are
The syntax \textless{}element /\textgreater{} can be used for lowest-level elements that have attributes but no content, and are shorthand for \textless{}element\textgreater{} \textless{}/element\textgreater{}. This shorthand notation can also be used for elements which can only contain the content ``yes'' or ``no''; in this case the presence of \textless{}element /\textgreater{} is equivalent to \textless{}element\textgreater{} yes \textless{}/element\textgreater{}, and the absence of s [...]
The possible attributes and attribute values for each element are not shown; see the individual entries in the Reference section for details.
-{\hyperref[reference_elements:simulationelement]{\emph{}}}{\hyperref[reference_elements:nameelement]{\emph{}}}{\hyperref[reference_elements:nameelement]{\emph{}}}{\hyperref[reference_elements:authorelement]{\emph{}}}{\hyperref[reference_elements:authorelement]{\emph{}}}{\hyperref[reference_elements:descriptionelement]{\emph{}}}{\hyperref[reference_elements:descriptionelement]{\emph{}}}{\hyperref[reference_elements:featureselement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{ [...]
-\begin{Verbatim}[commandchars=\\\{\}]
-\PYG{c+cp}{\PYGZlt{}?xml version=\PYGZdq{}1.0\PYGZdq{} encoding=\PYGZdq{}UTF\PYGZhy{}8\PYGZdq{}?\PYGZgt{}}
-\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}name}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/name\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}author}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}author}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}description}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/description\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}features}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}arguments}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
+\begin{alltt}
+\textless{}?xml version=''1.0'' encoding=''UTF-8''?\textgreater{}
+\textless{}{\hyperref[reference_elements:simulationelement]{\emph{simulation}}} xmds-version=''2''\textgreater{}
+ \textless{}{\hyperref[reference_elements:nameelement]{\emph{name}}}\textgreater{} \textless{}{\hyperref[reference_elements:nameelement]{\emph{/name}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:authorelement]{\emph{author}}}\textgreater{} \textless{}{\hyperref[reference_elements:authorelement]{\emph{author}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:descriptionelement]{\emph{description}}}\textgreater{} \textless{}{\hyperref[reference_elements:descriptionelement]{\emph{/description}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:featureselement]{\emph{features}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentselement]{\emph{arguments}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/arguments\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}auto\PYGZus{}vectorise} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}benchmark} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}bing} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}cflags}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/cflags\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}chunked\PYGZus{}output} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}diagnostics} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}error\PYGZus{}check} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}halt\PYGZus{}non\PYGZus{}finite} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}fftw} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}globals}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/globals\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}openmp} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}precision}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/precision\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}validation} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/features\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}driver} \PYG{n+nt}{/\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}geometry}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}propagation\PYGZus{}dimension}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/propagation\PYGZus{}dimension\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}transverse\PYGZus{}dimensions}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+nt}{/\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:argumentselement]{\emph{/arguments}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:autovectorise]{\emph{auto\_vectorise}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:benchmark]{\emph{benchmark}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:bing]{\emph{bing}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:cflags]{\emph{cflags}}}\textgreater{} \textless{}{\hyperref[reference_elements:cflags]{\emph{/cflags}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:chunkedoutput]{\emph{chunked\_output}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:diagnostics]{\emph{diagnostics}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:errorcheck]{\emph{error\_check}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:haltnonfinite]{\emph{halt\_non\_finite}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:fftw]{\emph{fftw}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:globals]{\emph{globals}}}\textgreater{} \textless{}{\hyperref[reference_elements:globals]{\emph{/globals}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:openmp]{\emph{openmp}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:precision]{\emph{precision}}}\textgreater{} \textless{}{\hyperref[reference_elements:precision]{\emph{/precision}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:validation]{\emph{validation}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:featureselement]{\emph{/features}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:driverelement]{\emph{driver}}} /\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:geometryelement]{\emph{geometry}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:propagationdimensionelement]{\emph{propagation\_dimension}}}\textgreater{} \textless{}{\hyperref[reference_elements:propagationdimensionelement]{\emph{/propagation\_dimension}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:transversedimensionselement]{\emph{transverse\_dimensions}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dimensionelement]{\emph{dimension}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:dimensionelement]{\emph{dimension}}} /\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/transverse\PYGZus{}dimensions\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/geometry\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}initialisation}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}filename}\PYG{n+nt}{\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/initialisation\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:transversedimensionselement]{\emph{/transverse\_dimensions}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:geometryelement]{\emph{/geometry}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:initialisationelement]{\emph{initialisation}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:filenameelement]{\emph{filename}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:initialisationelement]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:initialisationelement]{\emph{/initialisation}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}evaluation}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/evaluation\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:evaluationelement]{\emph{evaluation}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:initialisationelement]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:evaluationelement]{\emph{/evaluation}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}sequence}\PYG{n+nt}{\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:sequenceelement]{\emph{sequence}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}integrate}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}samples}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/samples\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:integrateelement]{\emph{integrate}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:sampleselement]{\emph{samples}}}\textgreater{} \textless{}{\hyperref[reference_elements:sampleselement]{\emph{/samples}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}filters}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:filterselement]{\emph{filters}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/filters\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}operators}\PYG{n+nt}{\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}boundary\PYGZus{}condition}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/boundary\PYGZus{}condition\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}operator\PYGZus{}names}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/operator\PYGZus{}names\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
-
- \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:filterselement]{\emph{/filters}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:operatorselement]{\emph{operators}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:boundaryconditionelement]{\emph{boundary\_condition}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:boundaryconditionelement]{\emph{/boundary\_condition}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:operatornameselement]{\emph{operator\_names}}}\textgreater{} \textless{}{\hyperref[reference_elements:operatornameselement]{\emph{/operator\_names}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
+
+ \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}integration\PYGZus{}vectors}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/integration\PYGZus{}vectors\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:integrationvectorselement]{\emph{integration\_vectors}}}\textgreater{} \textless{}{\hyperref[reference_elements:integrationvectorselement]{\emph{/integration\_vectors}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}/operators\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:operatorselement]{\emph{/operators}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}/integrate\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:integrateelement]{\emph{/integrate}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}breakpoint}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/breakpoint\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:breakpointelement]{\emph{breakpoint}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:breakpointelement]{\emph{/breakpoint}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}/sequence\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:sequenceelement]{\emph{/sequence}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}output}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}moments}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/moments\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
- \PYG{c+cp}{\PYGZlt{}![CDATA [}
-\PYG{c+cp}{ ]]\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:outputelement]{\emph{output}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{moments}}}\textgreater{} \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/moments}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
+ \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
+ {]}{]}\textgreater{}
+ \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
- \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/output\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:outputelement]{\emph{/output}}}\textgreater{}
-\PYG{n+nt}{\PYGZlt{}/simulation\PYGZgt{}}
-\end{Verbatim}
+\textless{}{\hyperref[reference_elements:simulationelement]{\emph{/simulation}}}\textgreater{}
+\end{alltt}
\index{Reference}\index{XML Elements}\index{Script elements}
@@ -2815,7 +2817,7 @@ The ``dft'' transform is performed using the the normal discrete Fourier transfo
The discrete Fourier transform has no information about the domain of the lattice, so the XMDS2 transform is equivalent to
\begin{gather}
\begin{split}\tilde{\mathcal{F}}\left[f(x)\right](k) &= \frac{1}{\sqrt{2\pi}}\int_{x_\text{min}}^{x_\text{max}} f(x) e^{-i k (x+ x_\text{min})} dx \\
-&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag\\\begin{split}\end{split}\notag
+&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag
\end{gather}
The standard usage in an XMDS simulation involves moving to Fourier space, applying a transformation, and then moving back. For this purpose, the two transformations are entirely equivalent as the extra phase factor cancels. However, when fields are explicitly defined in Fourier space, care must be taken to include this phase factor explicitly. See section {\hyperref[advanced_topics:convolutions]{\emph{Convolutions and Fourier transforms}}} in the Advanced Topics section.
@@ -2823,9 +2825,9 @@ When a dimension uses the ``dft'' transform, then the Fourier space variable is
Fourier transforms allow easy calculation of derivatives, as the n$^{\text{th}}$ derivative of a field is proportional to the n$^{\text{th}}$ moment of the field in Fourier space:
\begin{gather}
-\begin{split}\mathcal{F}\left[\frac{\partial^n f(x)}{\partial x^n}\right](k_x) = \left(i \;k_x\right)^n \mathcal{F}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{F}\left[\frac{\partial^n f(x)}{\partial x^n}\right](k_x) = \left(i \;k_x\right)^n \mathcal{F}\left[f(x)\right](k_x)\end{split}\notag
\end{gather}
-This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial}{\partial x}$ as an \code{IP} or \code{EX} operator as \code{L = i*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial}{\partial x}\) as an \code{IP} or \code{EX} operator as \code{L = i*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
Example syntax:
@@ -2854,9 +2856,9 @@ XMDS labels the cosine transform space variables the same as for {\hyperref[refe
Discrete cosine transforms allow easy calculation of even-order derivatives, as the 2n$^{\text{th}}$ derivative of a field is proportional to the 2n$^{\text{th}}$ moment of the field in DCT-space:
\begin{gather}
-\begin{split}\mathcal{F}_\text{DCT}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DCT}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{F}_\text{DCT}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DCT}\left[f(x)\right](k_x)\end{split}\notag
\end{gather}
-This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial^2}{\partial x^2}$ as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial^2}{\partial x^2}\) as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
For problems where you are defining the simulation domain over only half of the physical domain to take advantage of reflection symmetry, consider using \code{volume\_prefactor="2.0"} so that all volume integrals are over the entire physical domain, not just the simulation domain. i.e. integrals would be over -1 to 1 instead of 0 to 1 if the domain was specified as \code{domain="(0,1)"}.
@@ -2888,9 +2890,9 @@ XMDS labels the sine transform space variables the same as for {\hyperref[refere
Discrete sine transforms allow easy calculation of even-order derivatives, as the 2n$^{\text{th}}$ derivative of a field is proportional to the 2n$^{\text{th}}$ moment of the field in DST-space:
\begin{gather}
-\begin{split}\mathcal{F}_\text{DST}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DST}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{F}_\text{DST}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DST}\left[f(x)\right](k_x)\end{split}\notag
\end{gather}
-This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial^2}{\partial x^2}$ as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial^2}{\partial x^2}\) as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
Example syntax:
@@ -2909,32 +2911,32 @@ Example syntax:
\subsubsection{The ``bessel'' and ``bessel-neumann'' transforms}
\label{reference_elements:the-bessel-and-bessel-neumann-transforms}\label{reference_elements:index-39}\label{reference_elements:besseltransform}
-Just as the Fourier basis is useful for finding derivatives in Euclidean geometry, the basis of Bessel functions is useful for finding certain common operators in cylindrical co-ordinates. In particular, we use the Bessel functions of the first kind, $J_m(u)$. The relevant transform is the Hankel transform:
+Just as the Fourier basis is useful for finding derivatives in Euclidean geometry, the basis of Bessel functions is useful for finding certain common operators in cylindrical co-ordinates. In particular, we use the Bessel functions of the first kind, \(J_m(u)\). The relevant transform is the Hankel transform:
\begin{gather}
-\begin{split}F_m(k) = \mathcal{H}_m \left[f\right](k) = \int_0^\infty r f(r) J_m(k r) dr\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}F_m(k) = \mathcal{H}_m \left[f\right](k) = \int_0^\infty r f(r) J_m(k r) dr\end{split}\notag
\end{gather}
which has the inverse transform:
\begin{gather}
-\begin{split}f(r) = \mathcal{H}^{-1}_m \left[F_m\right](r) = \int_0^\infty k F_m(k) J_m(k r) dk\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}f(r) = \mathcal{H}^{-1}_m \left[F_m\right](r) = \int_0^\infty k F_m(k) J_m(k r) dk\end{split}\notag
\end{gather}
This transform pair has the useful property that the Laplacian in cylindrical co-ordinates is diagonal in this basis:
\begin{gather}
-\begin{split}\nabla^2 \left(f(r) e^{i m \theta}\right) &= \left(\frac{\partial^2 f}{\partial r^2} +\frac{1}{r}\frac{\partial f}{\partial r} -\frac{m^2}{r^2} f \right) e^{i m \theta} = \left\{\mathcal{H}^{-1}_m \left[(-k^2) F_m(k)\right](r) \right\} e^{i m \theta}\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\nabla^2 \left(f(r) e^{i m \theta}\right) &= \left(\frac{\partial^2 f}{\partial r^2} +\frac{1}{r}\frac{\partial f}{\partial r} -\frac{m^2}{r^2} f \right) e^{i m \theta} = \left\{\mathcal{H}^{-1}_m \left[(-k^2) F_m(k)\right](r) \right\} e^{i m \theta}\end{split}\notag
\end{gather}
-XMDS labels the variables in the transformed space with a prefix of `k', just as for {\hyperref[reference_elements:dft-transform]{\emph{Fourier transforms}}}. The order $m$ of the transform is defined by the \code{order} attribute in the \code{\textless{}dimension\textgreater{}} element, which must be assigned as a non-negative integer. If the order is not specified, it defaults to zero which corresponds to the solution being independent of the angular coordinate $\theta$.
+XMDS labels the variables in the transformed space with a prefix of `k', just as for {\hyperref[reference_elements:dft-transform]{\emph{Fourier transforms}}}. The order \(m\) of the transform is defined by the \code{order} attribute in the \code{\textless{}dimension\textgreater{}} element, which must be assigned as a non-negative integer. If the order is not specified, it defaults to zero which corresponds to the solution being independent of the angular coordinate \(\theta\).
\index{Boundary conditions (Bessel)}\index{Boundary conditions}
-The difference between the ``bessel'' and ``bessel-neumann'' transforms is that the ``bessel'' transform enforces Dirichlet boundary conditions at the edge of the computational domain ($f(R) = 0$), while ``bessel-neumann'' enforces Neumann boundary conditions ($\left.\frac{\partial}{\partial r}f(r) \right|_{r=R} = 0$).
+The difference between the ``bessel'' and ``bessel-neumann'' transforms is that the ``bessel'' transform enforces Dirichlet boundary conditions at the edge of the computational domain (\(f(R) = 0\)), while ``bessel-neumann'' enforces Neumann boundary conditions (\(\left.\frac{\partial}{\partial r}f(r) \right|_{r=R} = 0\)).
It can often be useful to have a different sampling in normal space and Hankel space. Reducing the number of modes in either space dramatically speeds simulations. To set the number of lattice points in Hankel space to be different to the number of lattice points for the field in its original space, use the attribute \code{spectral\_lattice}. The Bessel space lattice is chosen such that the boundary condition at the edge of the domain is zero. This ensures that all of the Bessel mode [...]
Hankel transforms allow easy calculation of the Laplacian of fields with cylindrical symmetry. Applying the operator \code{L = -kr*kr} in Hankel space is therefore equivalent to applying the operator
\begin{gather}
-\begin{split}\mathcal{L} = \left(\frac{\partial^2}{\partial r^2} +\frac{1}{r}\frac{\partial}{\partial r} -\frac{m^2}{r^2} \right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{L} = \left(\frac{\partial^2}{\partial r^2} +\frac{1}{r}\frac{\partial}{\partial r} -\frac{m^2}{r^2} \right)\end{split}\notag
\end{gather}
in coordinate space.
-In non-Euclidean co-ordinates, integrals have non-unit volume elements. For example, in cylindrical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element $r dr$. When performing integrals along a dimension specified by the ``bessel'' transform, the factor of the radius is included implicitly. If you are using a geometry with some symmetry, it is common to have prefactors in your integration. For example, for a two-dimensional volume in cylind [...]
+In non-Euclidean co-ordinates, integrals have non-unit volume elements. For example, in cylindrical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element \(r dr\). When performing integrals along a dimension specified by the ``bessel'' transform, the factor of the radius is included implicitly. If you are using a geometry with some symmetry, it is common to have prefactors in your integration. For example, for a two-dimensional volume in cyli [...]
Example syntax:
@@ -2953,23 +2955,23 @@ Example syntax:
\subsubsection{The ``spherical-bessel'' transform}
\label{reference_elements:the-spherical-bessel-transform}\label{reference_elements:index-41}\label{reference_elements:spherical-bessel-transform}
-When working in spherical coordinates, it is often useful to use the spherical Bessel functions $j_l(x)=\sqrt{\frac{\pi}{2x}}J_{l+\frac{1}{2}}(x)$ as a basis. These are eigenfunctions of the radial component of Laplace's equation in spherical coordinates:
+When working in spherical coordinates, it is often useful to use the spherical Bessel functions \(j_l(x)=\sqrt{\frac{\pi}{2x}}J_{l+\frac{1}{2}}(x)\) as a basis. These are eigenfunctions of the radial component of Laplace's equation in spherical coordinates:
\begin{gather}
-\begin{split}\nabla^2 \left[j_l(k r)\; Y^m_l(\theta, \phi)\right] &= \left[\frac{\partial^2 }{\partial r^2} +\frac{2}{r}\frac{\partial }{\partial r} -\frac{l(l+1)}{r^2}\right] j_l(k r) \; Y^m_l(\theta, \phi) = -k^2 j_l(k r)\; Y^m_l(\theta, \phi)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\nabla^2 \left[j_l(k r)\; Y^m_l(\theta, \phi)\right] &= \left[\frac{\partial^2 }{\partial r^2} +\frac{2}{r}\frac{\partial }{\partial r} -\frac{l(l+1)}{r^2}\right] j_l(k r) \; Y^m_l(\theta, \phi) = -k^2 j_l(k r)\; Y^m_l(\theta, \phi)\end{split}\notag
\end{gather}
-Just as the Bessel basis above, the transformed dimensions are prefixed with a `k', and it is possible (and usually wise) to use the \code{spectral\_lattice} attribute to specify a different lattice size in the transformed space. Also, the spacing of these lattices are again chosen in a non-uniform manner to Gaussian quadrature methods for spectrally accurate transforms. Finally, the \code{order} attribute can be used to specify the order $l$ of the spherical Bessel functions used.
+Just as the Bessel basis above, the transformed dimensions are prefixed with a `k', and it is possible (and usually wise) to use the \code{spectral\_lattice} attribute to specify a different lattice size in the transformed space. Also, the spacing of these lattices are again chosen in a non-uniform manner to Gaussian quadrature methods for spectrally accurate transforms. Finally, the \code{order} attribute can be used to specify the order \(l\) of the spherical Bessel functions used.
-If we denote the transformation to and from this basis by $\mathcal{SH}$, then we can write the useful property:
+If we denote the transformation to and from this basis by \(\mathcal{SH}\), then we can write the useful property:
\begin{gather}
-\begin{split}\frac{\partial^2 f}{\partial r^2} +\frac{2}{r}\frac{\partial f}{\partial r} -\frac{l (l+1)}{r^2} = \mathcal{SH}^{-1}_l \left[(-k^2) F_l(k)\right](r)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\frac{\partial^2 f}{\partial r^2} +\frac{2}{r}\frac{\partial f}{\partial r} -\frac{l (l+1)}{r^2} = \mathcal{SH}^{-1}_l \left[(-k^2) F_l(k)\right](r)\end{split}\notag
\end{gather}
Spherical Bessel transforms allow easy calculation of the Laplacian of fields with spherical symmetry. Applying the operator \code{L = -kr*kr} in Spherical Bessel space is therefore equivalent to applying the operator
\begin{gather}
-\begin{split}\mathcal{L} = \left( \frac{\partial^2}{\partial r^2} +\frac{2}{r}\frac{\partial}{\partial r} -\frac{l (l+1)}{r^2} \right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{L} = \left( \frac{\partial^2}{\partial r^2} +\frac{2}{r}\frac{\partial}{\partial r} -\frac{l (l+1)}{r^2} \right)\end{split}\notag
\end{gather}
in coordinate space.
-In non-Euclidean co-ordinates, integrals have non-unit volume elements. For example, in spherical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element $r^2 dr$. When performing integrals along a dimension specified by the ``spherical-bessel'' transform, the factor of the square of the radius is included implicitly. If you are using a geometry with some symmetry, it is common to have prefactors in your integration. For example, for a three-di [...]
+In non-Euclidean co-ordinates, integrals have non-unit volume elements. For example, in spherical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element \(r^2 dr\). When performing integrals along a dimension specified by the ``spherical-bessel'' transform, the factor of the square of the radius is included implicitly. If you are using a geometry with some symmetry, it is common to have prefactors in your integration. For example, for a three- [...]
Example syntax:
@@ -2988,30 +2990,30 @@ Example syntax:
\subsubsection{The ``hermite-gauss'' transform}
\label{reference_elements:hermite-gauss-transform}\label{reference_elements:the-hermite-gauss-transform}\label{reference_elements:index-42}
-The ``hermite-gauss'' transform allows transformations to and from the basis of Hermite functions $\psi_n(x)$:
+The ``hermite-gauss'' transform allows transformations to and from the basis of Hermite functions \(\psi_n(x)\):
\begin{gather}
-\begin{split}\psi_n(x) = \left(2^n n! \sigma \sqrt{\pi}\right)^{-1/2} e^{-x^2/2\sigma^2} H_n(\sigma x)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\psi_n(x) = \left(2^n n! \sigma \sqrt{\pi}\right)^{-1/2} e^{-x^2/2\sigma^2} H_n(\sigma x)\end{split}\notag
\end{gather}
-where the functions $H_n(x)$ are the Hermite polynomials:
+where the functions \(H_n(x)\) are the Hermite polynomials:
\begin{gather}
-\begin{split}H_n(x) &= (-1)^n e^{x^2} \frac{d^n}{dx^n} \left(e^{-x^2}\right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}H_n(x) &= (-1)^n e^{x^2} \frac{d^n}{dx^n} \left(e^{-x^2}\right)\end{split}\notag
\end{gather}
which are eigenfunctions of the Schroedinger equation for a harmonic oscillator:
\begin{gather}
-\begin{split}- \frac{\hbar^2}{2 m} \frac{\partial^2 \psi_n}{\partial x^2} + \frac{1}{2} m \omega^2 x^2 \psi_n(x) = \hbar \omega\left(n+\frac{1}{2}\right) \psi_n(x),\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}- \frac{\hbar^2}{2 m} \frac{\partial^2 \psi_n}{\partial x^2} + \frac{1}{2} m \omega^2 x^2 \psi_n(x) = \hbar \omega\left(n+\frac{1}{2}\right) \psi_n(x),\end{split}\notag
\end{gather}
-with $\sigma = \sqrt{\frac{\hbar}{m \omega}}$.
+with \(\sigma = \sqrt{\frac{\hbar}{m \omega}}\).
\index{XML element attributes!length\_scale}
-This transform is different to the others in that it requires a \code{length\_scale} attribute rather than a \code{domain} attribute, as the range of the lattice will depend on the number of basis functions used. The \code{length\_scale} attribute defines the scale of the domain as the standard deviation $\sigma$ of the lowest order Hermite function $\psi_0(x)$:
+This transform is different to the others in that it requires a \code{length\_scale} attribute rather than a \code{domain} attribute, as the range of the lattice will depend on the number of basis functions used. The \code{length\_scale} attribute defines the scale of the domain as the standard deviation \(\sigma\) of the lowest order Hermite function \(\psi_0(x)\):
\begin{gather}
-\begin{split}\psi_0(x) = (\sigma^2 \pi)^{-1/4} e^{-x^2/2 \sigma^2}\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\psi_0(x) = (\sigma^2 \pi)^{-1/4} e^{-x^2/2 \sigma^2}\end{split}\notag
\end{gather}
When a dimension uses the ``hermite-gauss'' transform, then the variable indexing the basis functions is defined as the name of the dimension prefixed with an ``n''. For example, when referencing the basis function indices for the dimensions ``x'', ``y'', ``z'' and ``tau'', use the variable ``nx'', ``ny'', ``nz'' and ``ntau''.
Applying the operator \code{L = nx + 0.5} in Hermite space is therefore equivalent to applying the operator
\begin{gather}
-\begin{split}\mathcal{L} = \left(- \frac{\sigma^2}{2}\frac{\partial^2}{\partial x^2} + \frac{1}{2 \sigma^2} x^2 \right)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}\mathcal{L} = \left(- \frac{\sigma^2}{2}\frac{\partial^2}{\partial x^2} + \frac{1}{2 \sigma^2} x^2 \right)\end{split}\notag
\end{gather}
in coordinate space.
@@ -3274,7 +3276,7 @@ Example syntax:
\subsubsection{Gaussian noise}
\label{reference_elements:gaussiannoise}\label{reference_elements:gaussian-noise}\label{reference_elements:index-60}
-Noise generated with the ``gaussian'' method is gaussian distributed with zero mean. For a real-valued noise vector, the variance at each point is the inverse of the volume element of the transverse dimensions in the vector. This volume element for a single transverse dimension is that used to perform integrals over that dimension. For example, it would include a factor of $r^2$ for a dimension ``r'' defined with a \code{spherical-bessel} transform. It can be non-uniform for dimensio [...]
+Noise generated with the ``gaussian'' method is gaussian distributed with zero mean. For a real-valued noise vector, the variance at each point is the inverse of the volume element of the transverse dimensions in the vector. This volume element for a single transverse dimension is that used to perform integrals over that dimension. For example, it would include a factor of \(r^2\) for a dimension ``r'' defined with a \code{spherical-bessel} transform. It can be non-uniform for dimens [...]
This lattice-dependent variance is typical in most applications of partial differential equations with stochastic initial conditions, as the physical quantity is the variance of the field over some finite volume, which does not change if the variance at each lattice site varies as described above.
@@ -3532,7 +3534,7 @@ Example syntax:
\label{reference_elements:algorithms}\label{reference_elements:id8}
The stability, efficiency and even convergence of a numerical integration can depend on the method. Due to the varying properties of different sets of equations, it is impossible to define the best method for all equations, so XMDS provides an option to use different algorithms. These include fixed step algorithms, which divide the integration region into equal steps, and adaptive stepsize algorithms, which attempt to estimate the error in the simulation in order to choose an appropria [...]
-For the purposes of the descriptions below, we will assume that we are considering the following set of coupled differential equations for the vector of variables $\mathbf{x}(t)$:
+For the purposes of the descriptions below, we will assume that we are considering the following set of coupled differential equations for the vector of variables \(\mathbf{x}(t)\):
\begin{gather}
\begin{split}\frac{d x_j}{dt} = f_j(\mathbf{x}(t),t)\end{split}\notag
\end{gather}
@@ -3737,20 +3739,20 @@ The step size of a dimension is \code{dx}, and if it is constant, also available
\label{bulirschStoer:modified-midpoint-method}\label{bulirschStoer:index-0}\label{bulirschStoer::doc}\label{bulirschStoer:mmdetail}
Although the modified midpoint can be used standalone as an ordinary differential equation integrator, it is regarded as much more powerful when used as a stepper to complement the Bulirsch-Stoer technique.
-The modified midpoint method advances a vector of dependent variables $y(x)$ from a point $x$, to a point $x + H$ by a sequence of $n$ substeps, each of size $h=H/n$.
+The modified midpoint method advances a vector of dependent variables \(y(x)\) from a point \(x\), to a point \(x + H\) by a sequence of \(n\) substeps, each of size \(h=H/n\).
-The number of right-hand side evaluations required by the modified midpoint method is $n+1$. The formulas for the method are
+The number of right-hand side evaluations required by the modified midpoint method is \(n+1\). The formulas for the method are
\begin{gather}
\begin{split}z_0 &= y(x) \\
z_1 &= z_0 + h f(x, z_0) \\
z_{m+1} &= z_{m-1} + 2 h f(x + m h, z_m)\; \text{ for } m = 1, 2, \dots, n-1 \\
-y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \right]\end{split}\notag\\\begin{split}\end{split}\notag
+y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \right]\end{split}\notag
\end{gather}
-The error of this, expressed as a power series in $h$, the stepsize, contains only even powers of $h$:
+The error of this, expressed as a power series in \(h\), the stepsize, contains only even powers of \(h\):
\begin{gather}
-\begin{split}y_n - y(x + H) &= \sum_{i=1}^{\infty} \alpha_i h^{2i}\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}y_n - y(x + H) &= \sum_{i=1}^{\infty} \alpha_i h^{2i}\end{split}\notag
\end{gather}
-where $H$ is held constant, but $h$ changes $y$ by varing the $n$ in $h = H/n$.
+where \(H\) is held constant, but \(h\) changes \(y\) by varing the \(n\) in \(h = H/n\).
The importance of this even power series is that using Richardson Extrapolation to combine steps and knock out higher-order error terms gains us two orders at a time.
@@ -3766,13 +3768,13 @@ First, the usage of Richardson Extrapolation.
{\hfill\includegraphics{richardsonExtrapolation.png}\hfill}
-Richardson Extrapolation considers the final answer of a numerical calculation as being an analytic function of an adjustable parameter such as the stepsize $h$. That analytic function can be probed by performing the calculation with various values of $h$, none of them being necessarily small enough to yield the accuracy that we desire. When we know enough about the function, we fit it to some analytic form and then evaluate it at the point where $h = 0$.
+Richardson Extrapolation considers the final answer of a numerical calculation as being an analytic function of an adjustable parameter such as the stepsize \(h\). That analytic function can be probed by performing the calculation with various values of \(h\), none of them being necessarily small enough to yield the accuracy that we desire. When we know enough about the function, we fit it to some analytic form and then evaluate it at the point where \(h = 0\).
-Secondly, the usage of rational function extrapolation in Richardson-type applications. Rational function fits can remain good approximations to analytic functions even after the various terms in powers of $h$, all have comparable magnitudes. In other words, $h$ can be so large as to make the whole notion of the “order” of the method meaningless — and the method can still work superbly.
+Secondly, the usage of rational function extrapolation in Richardson-type applications. Rational function fits can remain good approximations to analytic functions even after the various terms in powers of \(h\), all have comparable magnitudes. In other words, \(h\) can be so large as to make the whole notion of the “order” of the method meaningless — and the method can still work superbly.
-The third idea is to use an integration method whose error function is strictly even, allowing the rational function or polynomial approximation to be in terms of the variable $h^2$ instead of just $h$.
+The third idea is to use an integration method whose error function is strictly even, allowing the rational function or polynomial approximation to be in terms of the variable \(h^2\) instead of just \(h\).
-These three ideas give us the Bulirsch-Stoer method, where a single step takes us from $x$ to $x + H$, where $H$ is supposed to be a significantly large distance. That single step consists of many substeps of the modified midpoint method, which is then extrapolated to zero stepsize.
+These three ideas give us the Bulirsch-Stoer method, where a single step takes us from \(x\) to \(x + H\), where \(H\) is supposed to be a significantly large distance. That single step consists of many substeps of the modified midpoint method, which is then extrapolated to zero stepsize.
(Excerpts derived from \textbf{Numerical Recipes: The Art of Scientific Computing}, Third Edition (2007), p1256; Cambridge University Press; ISBN-10: 0521880688, \href{http://www.nr.com/}{http://www.nr.com/})
@@ -3804,7 +3806,7 @@ There are many cases where it is advantageous to import previously acquired data
Suppose we want to import the following function into XMDS2:
\begin{gather}
-\begin{split}f(x) = x^2.\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}f(x) = x^2.\end{split}\notag
\end{gather}
The first step is to create an hdf5 file, from XMDS2, which specifies the dimensions of the grid for the x dimension. Create and save a new XMDS2 file. For the purposes of this tutorial we shall call it ``grid\_specifier.xmds'' with name ``grid\_specifier''. Within this file, enter the following ``dummy'' vector - which we shall call ``gen\_dummy'' - which depends on the x dimension:
@@ -3819,7 +3821,7 @@ The first step is to create an hdf5 file, from XMDS2, which specifies the dimens
\PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
\end{Verbatim}
-What ``dummy'' is is not actually important. It is only necessary that it is a function of $x$. However, it is important that the domain and lattice for the $x$ dimension are identical to those in the XMDS2 you plan to import the function into. We output the following xsil file (in hdf5 format) by placing a breakpoint in the sequence block as follows:
+What ``dummy'' is is not actually important. It is only necessary that it is a function of \(x\). However, it is important that the domain and lattice for the \(x\) dimension are identical to those in the XMDS2 you plan to import the function into. We output the following xsil file (in hdf5 format) by placing a breakpoint in the sequence block as follows:
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}sequence}\PYG{n+nt}{\PYGZgt{}}
@@ -3830,7 +3832,7 @@ What ``dummy'' is is not actually important. It is only necessary that it is a f
\PYG{n+nt}{\PYGZlt{}/breakpoint\PYGZgt{}}
\end{Verbatim}
-In terminal, compile the file ``grid\_specifier.xmds'' in XMDS2 and run the C code as usual. This creates two files - ``grid.xsil'' and ``grid.h5''. The file ``grid.h5'' contains the list of points which make up the grids for the x dimensions. This data can now be used to ensure that the function $f(x)$ which we will import into XMDS2 is compatible with the the specified grid in your primary XMDS2 file.
+In terminal, compile the file ``grid\_specifier.xmds'' in XMDS2 and run the C code as usual. This creates two files - ``grid.xsil'' and ``grid.h5''. The file ``grid.h5'' contains the list of points which make up the grids for the x dimensions. This data can now be used to ensure that the function \(f(x)\) which we will import into XMDS2 is compatible with the the specified grid in your primary XMDS2 file.
In order to read the ``grid.h5'' data into Mathematica version 6.0, type the following command into terminal:.. code-block:
@@ -3838,7 +3840,7 @@ In order to read the ``grid.h5'' data into Mathematica version 6.0, type the fol
xsil2graphics2 \PYGZhy{}e grid.xsil
\end{Verbatim}
-This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathematica and evaluate the first set of cells. This has loaded the grid information into Mathematica. For example, suppose you have specified that the $x$ dimension has a lattice of 128 points and a domain of (-32, 32). Then calling ``x1'' in Mathematica should return the following list:
+This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathematica and evaluate the first set of cells. This has loaded the grid information into Mathematica. For example, suppose you have specified that the \(x\) dimension has a lattice of 128 points and a domain of (-32, 32). Then calling ``x1'' in Mathematica should return the following list:
\begin{Verbatim}[commandchars=\\\{\}]
\PYGZob{}\PYGZhy{}32., \PYGZhy{}31.5, \PYGZhy{}31., \PYGZhy{}30.5, \PYGZhy{}30., \PYGZhy{}29.5, \PYGZhy{}29., \PYGZhy{}28.5, \PYGZhy{}28., \PYGZhy{}27.5,
@@ -3857,13 +3859,13 @@ This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathema
This is, of course, the list of points which define our grid.
-We are now in a position to define the function $f(x)$ in Mathematica. Type the following command into a cell in the Mathematica notebook ``grid.nb'':
+We are now in a position to define the function \(f(x)\) in Mathematica. Type the following command into a cell in the Mathematica notebook ``grid.nb'':
\begin{Verbatim}[commandchars=\\\{\}]
f[x\PYGZus{}]:= x\PYGZca{}2
\end{Verbatim}
-At this stage this is an abstract mathematical function as defined in Mathematica. What we need is a list of values for $f(x)$ corresponding to the specified grid points. We will call this list ``func''. This achieved by simply acting the function on the list of grid points ``x1'':
+At this stage this is an abstract mathematical function as defined in Mathematica. What we need is a list of values for \(f(x)\) corresponding to the specified grid points. We will call this list ``func''. This achieved by simply acting the function on the list of grid points ``x1'':
\begin{Verbatim}[commandchars=\\\{\}]
func := f[x1]
@@ -3907,11 +3909,11 @@ The final step is to import the file ``func.h5'' into your primary XMDS2 file. T
\PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
\end{Verbatim}
-You're now done. Anytime you want to use $f(x)$ you can simply refer to ``function\_x'' in the vector ``gen\_function\_x''.
+You're now done. Anytime you want to use \(f(x)\) you can simply refer to ``function\_x'' in the vector ``gen\_function\_x''.
The situation is slightly more complicated if the function you wish to import depends on more than one dimension. For example, consider
\begin{gather}
-\begin{split}g(x,y) = x \sin(y)\end{split}\notag\\\begin{split}\end{split}\notag
+\begin{split}g(x,y) = x \sin(y)\end{split}\notag
\end{gather}
As for the single dimensional case, we need to export an hdf5 file from XMDS2 which specifies the dimensions of the grid. As in the one dimensional case, this is done by creating a dummy vector which depends on all the relevant dimensions:
@@ -3953,7 +3955,7 @@ and imported into XMDS2 as outlined above.
\section{Convolutions and Fourier transforms}
\label{advanced_topics:convolutions-and-fourier-transforms}\label{advanced_topics:convolutions}\label{advanced_topics:index-2}
-When evaluating a numerical Fourier transform, XMDS2 doesn't behave as expected. While many simulations have ranges in their spatial coordinate (here assumed to be x) that range from some negative value $x_\text{min}$ to some positive value $x_\text{max}$, the Fourier transform used in XMDS2 treats all spatial coordinates as starting at zero. The result of this is that a phase factor of the form $e^{-i x_\text{min} k}$ is applied to the Fourier space functions after all forward (from rea [...]
+When evaluating a numerical Fourier transform, XMDS2 doesn't behave as expected. While many simulations have ranges in their spatial coordinate (here assumed to be x) that range from some negative value \(x_\text{min}\) to some positive value \(x_\text{max}\), the Fourier transform used in XMDS2 treats all spatial coordinates as starting at zero. The result of this is that a phase factor of the form \(e^{-i x_\text{min} k}\) is applied to the Fourier space functions after all forward (fr [...]
The standard Fourier transform is
\begin{gather}
@@ -3962,7 +3964,7 @@ The standard Fourier transform is
The XMDS2 Fourier transform is
\begin{gather}
\begin{split}\tilde{\mathcal{F}}\left[f(x)\right](k) &= \frac{1}{\sqrt{2\pi}}\int_{x_\text{min}}^{x_\text{max}} f(x) e^{-i (x+ x_\text{min}) k} dx \\
-&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag\\\begin{split}\end{split}\notag
+&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag
\end{gather}
When the number of forward Fourier transforms and backwards Fourier transforms are unequal a phase factor is required. Some examples of using Fourier transforms in XMDS2 are shown below.
@@ -3980,11 +3982,11 @@ When data is input in Fourier space and output in real space there is one backwa
\label{advanced_topics:example-2}
{\hfill\includegraphics{FourierTransformEx2.pdf}\hfill}
-Functions of the form $h(x) = \int f(x') g(x-x') dx'$ can be evaluated using the convolution theorem:
+Functions of the form \(h(x) = \int f(x') g(x-x') dx'\) can be evaluated using the convolution theorem:
\begin{gather}
\begin{split}\mathcal{F}[h(x)](k) = \mathcal{F}[f(x)](k) \times \mathcal{F}[g(x)](k)\end{split}\notag
\end{gather}
-This requires two forward Fourier transforms to get the two functions f and g into Fourier space, and one backwards Fourier transform to get the resulting product back into real space. Thus in Fourier space the product needs to be multiplied by a phase factor $e^{-i x_\text{min} k}$
+This requires two forward Fourier transforms to get the two functions f and g into Fourier space, and one backwards Fourier transform to get the resulting product back into real space. Thus in Fourier space the product needs to be multiplied by a phase factor \(e^{-i x_\text{min} k}\)
\subsection{Example 3}
@@ -4005,7 +4007,7 @@ Dimension aliases specify that two or more dimensions have exactly the same \cod
Dimension aliases are not just a short-hand for defining an additional dimension, they also permit dimensions to be accessed {\hyperref[reference_elements:referencingnonlocal]{\emph{non-locally}}}, which is essential when computing spatial correlation functions.
-Here is how to compute a spatial correlation function $g^{(1)}(x, x') = \psi^*(x) \psi(x')$ of the quantity \code{psi}:
+Here is how to compute a spatial correlation function \(g^{(1)}(x, x') = \psi^*(x) \psi(x')\) of the quantity \code{psi}:
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -4099,7 +4101,7 @@ Also note that for some multi-dimensional spaces using different transforms, XMD
\label{faq:index-5}\label{faq:when-can-i-use-ip-operators-and-why-should-i-and-when-must-i-use-ex-operators}
An {\hyperref[reference_elements:operatornameselement]{\emph{\textless{}operator\textgreater{}}}} that specifies named operators to be used in integration equations can have the \code{kind="IP"} or \code{kind="EX"} attribute, standing for `interaction picture' and `explicit' operators respectively. Explicit operators can be used in all situations, and simply construct and calculate a new vector of the form in the square brackets. IP operators use less memory and can improve speed by al [...]
-Some explanation is in order. The IP algorithm applies the operator separately to the rest of the evolution. The reason this can be so effective is that the separate evolution can be performed exactly. The solution of the equation $\frac{d \psi}{dt} = L \psi$ is $\psi(t+\Delta t) = exp(L \Delta t) \psi(t)$ for arbitrarily large timestep $\Delta t$. For a diagonal linear \code{L}, the matrix exponential is straightforward. Also, when it is constant, then the exponential can be comput [...]
+Some explanation is in order. The IP algorithm applies the operator separately to the rest of the evolution. The reason this can be so effective is that the separate evolution can be performed exactly. The solution of the equation \(\frac{d \psi}{dt} = L \psi\) is \(\psi(t+\Delta t) = exp(L \Delta t) \psi(t)\) for arbitrarily large timestep \(\Delta t\). For a diagonal linear \code{L}, the matrix exponential is straightforward. Also, when it is constant, then the exponential can be [...]
Therefore, the limitations of IP operators themselves means that they can only be applied to to named components of one of the integration vectors, and not functions of those components. Furthermore, an IP operator acting on a component must only be used in the derivative for that particular component. Secondly, due to the implementation of IP operators in XMDS2, it is not safe to use them in comments, or in conjunction with declared variables. It is also not safe to multiply or divid [...]
@@ -4138,7 +4140,7 @@ Dimensions using matrix transforms should be first for performance reasons. Unl
\section{Reduce code complexity}
\label{optimisation_hints:reduce-code-complexity}
-Avoid transcendental functions like $\sin(x)$ or $\exp(x)$ in inner loops. Not all operations are made equal, use multiplication over division.
+Avoid transcendental functions like \(\sin(x)\) or \(\exp(x)\) in inner loops. Not all operations are made equal, use multiplication over division.
\subsection{Optimising with the Interaction Picture (IP) operator}
@@ -4146,7 +4148,7 @@ Avoid transcendental functions like $\sin(x)$ or $\exp(x)$ in inner loops. Not a
You should use the IP operator when you can. Only use the EX operator when you have to. If you must use the EX operator, consider making it \code{constant="no"}. It uses less memory.
When you use the IP operator, make sure you know what it's doing. Do not pre- or post-multiply that term in your equations, XMDS will do a fairly thorough check to see you aren't using the IP operator improperly, but it is possible to confuse XMDS's check.
-If your simulation uses two or more dimensions, check to see if your IP operator is separable, i.e. can be written in the form $f(kx) + g(ky)$ (this is frequently possible in atom-optics simulations). If your IP operator is separable, create separate IP operators for each dimension. This provides a significant speedup (\textasciitilde{}30\%) for simulations using an adaptive integrator. For example, instead of using the IP operator:
+If your simulation uses two or more dimensions, check to see if your IP operator is separable, i.e. can be written in the form \(f(kx) + g(ky)\) (this is frequently possible in atom-optics simulations). If your IP operator is separable, create separate IP operators for each dimension. This provides a significant speedup (\textasciitilde{}30\%) for simulations using an adaptive integrator. For example, instead of using the IP operator:
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nt}{\PYGZlt{}operator} \PYG{n+na}{kind=}\PYG{l+s}{\PYGZdq{}ip\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -4188,12 +4190,12 @@ When using the IP operator, check if your operator is purely real or purely imag
Evolution equations do not need to be written in the position basis. If your equations are diagonal in the spectral basis, then it makes more sense to compute the time derivative terms in that basis. For example, if you have the system
\begin{gather}
\begin{split}\frac{d\psi_1(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_1(x)}{dx^2} - i \Omega \psi_2(x)\\
-\frac{d\psi_2(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_2(x)}{dx^2} - i \Omega \psi_1(x)\end{split}\notag\\\begin{split}\end{split}\notag
+\frac{d\psi_2(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_2(x)}{dx^2} - i \Omega \psi_1(x)\end{split}\notag
\end{gather}
then this is diagonal in the Fourier basis where it takes the form
\begin{gather}
\begin{split}\frac{d\psi_1(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_1(k_x) - i \Omega \psi_2(k_x)\\
-\frac{d\psi_2(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_2(k_x) - i \Omega \psi_1(k_x)\end{split}\notag\\\begin{split}\end{split}\notag
+\frac{d\psi_2(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_2(k_x) - i \Omega \psi_1(k_x)\end{split}\notag
\end{gather}
The first term in each evolution equation can be solved exactly with an IP operator, and the second term is diagonal in Fourier space. This can be written in XMDS as:
@@ -4217,7 +4219,7 @@ The first term in each evolution equation can be solved exactly with an IP opera
Although the \code{dpsi0\_dt} code reads the same in position and Fourier space, it is the \code{basis=kx} attribute on \code{\textless{}integration\_vectors\textgreater{}} that causes the evolution code to be executed in Fourier space.
-A final optimisation is to cause the integration code itself to operate in Fourier space. By default, all time stepping (i.e. $f(t + \Delta t) = f(t) + f'(t) \Delta t$ for forward-Euler integration) occurs in the position space. As the derivative terms can be computed in Fourier space, it is faster to also to the time stepping in Fourier space too. This then means that no Fourier transforms will be needed at all during this integrate block (except as needed by sampling). To cause tim [...]
+A final optimisation is to cause the integration code itself to operate in Fourier space. By default, all time stepping (i.e. \(f(t + \Delta t) = f(t) + f'(t) \Delta t\) for forward-Euler integration) occurs in the position space. As the derivative terms can be computed in Fourier space, it is faster to also to the time stepping in Fourier space too. This then means that no Fourier transforms will be needed at all during this integrate block (except as needed by sampling). To cause t [...]
The fully optimised code then reads:
@@ -4286,7 +4288,7 @@ ls libatlas*.deb
Then, for each of the .deb packages listed by the ls command, install via:
\begin{Verbatim}[commandchars=\\\{\}]
-sudo dpkg -i \textless{}filename here\textgreater{}.deb
+sudo dpkg \PYGZhy{}i \PYGZlt{}filename here\PYGZgt{}.deb
\end{Verbatim}
This procedure was tested on Ubuntu 12.04 LTS, but an identical or very similar procedure should work for other Ubuntu/Debian versions.
@@ -4358,7 +4360,7 @@ Note that the groundstate-finder doesn't need to have all of the components that
\subsection{Use an energy or momentum offset}
\label{optimisation_hints:use-an-energy-or-momentum-offset}
-This is just the interaction picture with a constant term in the Hamiltonian. If your state is going to rotate like $e^{i(\omega + \delta\omega)t}$, then transform your equations to remove the $e^{i \omega t}$ term. Likewise for spatial rotations, if one mode will be moving on average with momentum $\hbar k$, then transform your equations to remove that term. This way, you may be able to reduce the density of points you need in that dimension. Warning: don't forget to consider this when [...]
+This is just the interaction picture with a constant term in the Hamiltonian. If your state is going to rotate like \(e^{i(\omega + \delta\omega)t}\), then transform your equations to remove the \(e^{i \omega t}\) term. Likewise for spatial rotations, if one mode will be moving on average with momentum \(\hbar k\), then transform your equations to remove that term. This way, you may be able to reduce the density of points you need in that dimension. Warning: don't forget to consider this [...]
\index{xsil2graphics2}\index{Exporting data}
@@ -4386,23 +4388,22 @@ Write normal XMDS script that behaves as you expect.
Add a \code{\textless{}testing\textgreater{}} element to your script. You can read the description of this element and its contents below, and have a look at other testcases for examples, but the basic structure is simple:.
\end{enumerate}
-{\hyperref[developer:testingelement]{\emph{}}}{\hyperref[developer:commandlineelement]{\emph{}}}{\hyperref[developer:commandlineelement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{\emph{}}}{\hyperref[reference_elements:argumentelement]{\emph{}}}{\hyperref[reference_elements:argumentelement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{\emph{}}}{\hyperref[developer:inputxsilfileelement]{\emph{}}}{\hyperref[developer:xsilfileelement]{\emph{}}}{\hyperref[developer: [...]
-\begin{Verbatim}[commandchars=\\\{\}]
-\PYG{n+nt}{\PYGZlt{}testing}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}command\PYGZus{}line}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/command\PYGZus{}line\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}arguments}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
+\begin{alltt}
+\textless{}{\hyperref[developer:testingelement]{\emph{testing}}}\textgreater{}
+ \textless{}{\hyperref[developer:commandlineelement]{\emph{command\_line}}}\textgreater{} \textless{}{\hyperref[developer:commandlineelement]{\emph{/command\_line}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentselement]{\emph{arguments}}}\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
+ \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/arguments\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}input\PYGZus{}xsil\PYGZus{}file} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}xsil\PYGZus{}file}\PYG{n+nt}{\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}moment\PYGZus{}group} \PYG{n+nt}{/\PYGZgt{}}
- \PYG{n+nt}{\PYGZlt{}moment\PYGZus{}group} \PYG{n+nt}{/\PYGZgt{}}
+ \textless{}{\hyperref[reference_elements:argumentselement]{\emph{/arguments}}}\textgreater{}
+ \textless{}{\hyperref[developer:inputxsilfileelement]{\emph{input\_xsil\_file}}} /\textgreater{}
+ \textless{}{\hyperref[developer:xsilfileelement]{\emph{xsil\_file}}}\textgreater{}
+ \textless{}{\hyperref[developer:momentgroupelement]{\emph{moment\_group}}} /\textgreater{}
+ \textless{}{\hyperref[developer:momentgroupelement]{\emph{moment\_group}}} /\textgreater{}
...
- \PYG{n+nt}{\PYGZlt{}/xsil\PYGZus{}file\PYGZgt{}}
-\PYG{n+nt}{\PYGZlt{}/testing\PYGZgt{}}
-\end{Verbatim}
+ \textless{}{\hyperref[developer:xsilfileelement]{\emph{/xsil\_file}}}\textgreater{}
+\textless{}{\hyperref[developer:testingelement]{\emph{/testing}}}\textgreater{}
+\end{alltt}
\begin{enumerate}
\setcounter{enumi}{2}
\item {}
diff --git a/documentation/latex/xmds2.toc b/documentation/latex/xmds2.toc
index 65c2853..469c441 100644
--- a/documentation/latex/xmds2.toc
+++ b/documentation/latex/xmds2.toc
@@ -11,28 +11,28 @@
\contentsline {chapter}{\numberline {4}Worked Examples}{15}{chapter.4}
\contentsline {section}{\numberline {4.1}The nonlinear Schr\IeC {\"o}dinger equation}{15}{section.4.1}
\contentsline {section}{\numberline {4.2}Kubo Oscillator}{19}{section.4.2}
-\contentsline {section}{\numberline {4.3}Fibre Noise}{23}{section.4.3}
-\contentsline {section}{\numberline {4.4}Integer Dimensions}{27}{section.4.4}
+\contentsline {section}{\numberline {4.3}Fibre Noise}{21}{section.4.3}
+\contentsline {section}{\numberline {4.4}Integer Dimensions}{25}{section.4.4}
\contentsline {section}{\numberline {4.5}Wigner Function}{28}{section.4.5}
\contentsline {section}{\numberline {4.6}Finding the Ground State of a BEC (continuous renormalisation)}{31}{section.4.6}
-\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{35}{section.4.7}
-\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{40}{section.4.8}
+\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{36}{section.4.7}
+\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{39}{section.4.8}
\contentsline {chapter}{\numberline {5}Reference section}{43}{chapter.5}
\contentsline {section}{\numberline {5.1}Configuration, installation and runtime options}{43}{section.5.1}
\contentsline {section}{\numberline {5.2}Useful XML Syntax}{44}{section.5.2}
\contentsline {section}{\numberline {5.3}XMDS2 XML Schema}{44}{section.5.3}
-\contentsline {section}{\numberline {5.4}XMDS2 script elements}{46}{section.5.4}
+\contentsline {section}{\numberline {5.4}XMDS2 script elements}{47}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}Simulation element}{47}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}Name element}{47}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}Author element}{47}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}Description element}{47}{subsection.5.4.4}
-\contentsline {subsection}{\numberline {5.4.5}Features Elements}{47}{subsection.5.4.5}
+\contentsline {subsection}{\numberline {5.4.5}Features Elements}{48}{subsection.5.4.5}
\contentsline {subsubsection}{Arguments Element}{48}{subsubsection*.5}
\contentsline {paragraph}{Argument element}{49}{paragraph*.6}
\contentsline {subsubsection}{Auto\_vectorise element}{49}{subsubsection*.7}
\contentsline {subsubsection}{Benchmark}{49}{subsubsection*.8}
\contentsline {subsubsection}{Bing}{49}{subsubsection*.9}
-\contentsline {subsubsection}{C Flags}{49}{subsubsection*.10}
+\contentsline {subsubsection}{C Flags}{50}{subsubsection*.10}
\contentsline {subsubsection}{Chunked Output}{50}{subsubsection*.11}
\contentsline {subsubsection}{Diagnostics}{50}{subsubsection*.12}
\contentsline {subsubsection}{Error Check}{50}{subsubsection*.13}
@@ -40,42 +40,42 @@
\contentsline {subsubsection}{fftw element}{51}{subsubsection*.15}
\contentsline {subsubsection}{Globals}{51}{subsubsection*.16}
\contentsline {subsubsection}{OpenMP}{51}{subsubsection*.17}
-\contentsline {subsubsection}{Precision}{51}{subsubsection*.18}
+\contentsline {subsubsection}{Precision}{52}{subsubsection*.18}
\contentsline {subsubsection}{Validation}{52}{subsubsection*.19}
\contentsline {subsection}{\numberline {5.4.6}Driver Element}{53}{subsection.5.4.6}
\contentsline {subsection}{\numberline {5.4.7}Geometry Element}{53}{subsection.5.4.7}
\contentsline {subsubsection}{The ``dft'' transform}{54}{subsubsection*.24}
\contentsline {subsubsection}{The ``dct'' transform}{55}{subsubsection*.25}
\contentsline {subsubsection}{The ``dst'' transform}{56}{subsubsection*.26}
-\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{57}{subsubsection*.27}
-\contentsline {subsubsection}{The ``spherical-bessel'' transform}{58}{subsubsection*.28}
+\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{56}{subsubsection*.27}
+\contentsline {subsubsection}{The ``spherical-bessel'' transform}{57}{subsubsection*.28}
\contentsline {subsubsection}{The ``hermite-gauss'' transform}{58}{subsubsection*.29}
\contentsline {subsection}{\numberline {5.4.8}Vector Element}{59}{subsection.5.4.8}
\contentsline {subsubsection}{The dependencies element}{61}{subsubsection*.34}
\contentsline {subsection}{\numberline {5.4.9}Computed Vector Element}{62}{subsection.5.4.9}
-\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{63}{subsection.5.4.10}
-\contentsline {subsubsection}{Uniform noise}{64}{subsubsection*.36}
-\contentsline {subsubsection}{Gaussian noise}{64}{subsubsection*.37}
+\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{62}{subsection.5.4.10}
+\contentsline {subsubsection}{Uniform noise}{63}{subsubsection*.36}
+\contentsline {subsubsection}{Gaussian noise}{63}{subsubsection*.37}
\contentsline {subsubsection}{Wiener noise}{64}{subsubsection*.38}
-\contentsline {subsubsection}{Poissonian noise}{65}{subsubsection*.39}
+\contentsline {subsubsection}{Poissonian noise}{64}{subsubsection*.39}
\contentsline {subsubsection}{Jump noise}{65}{subsubsection*.40}
\contentsline {subsection}{\numberline {5.4.11}Sequence Element}{65}{subsection.5.4.11}
-\contentsline {subsection}{\numberline {5.4.12}Filter element}{66}{subsection.5.4.12}
+\contentsline {subsection}{\numberline {5.4.12}Filter element}{65}{subsection.5.4.12}
\contentsline {subsection}{\numberline {5.4.13}Integrate element}{66}{subsection.5.4.13}
\contentsline {subsubsection}{Operators and operator elements}{67}{subsubsection*.42}
\contentsline {subsubsection}{Algorithms}{69}{subsubsection*.47}
\contentsline {paragraph}{SI and SIC algorithms}{69}{paragraph*.48}
-\contentsline {paragraph}{Runge-Kutta algorithms}{70}{paragraph*.49}
+\contentsline {paragraph}{Runge-Kutta algorithms}{69}{paragraph*.49}
\contentsline {paragraph}{Adaptive Runge-Kutta algorithms}{70}{paragraph*.50}
-\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{71}{paragraph*.51}
+\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{70}{paragraph*.51}
\contentsline {subsubsection}{Filters element}{71}{subsubsection*.52}
-\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{72}{subsection.5.4.14}
+\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{71}{subsection.5.4.14}
\contentsline {subsection}{\numberline {5.4.15}Output element}{72}{subsection.5.4.15}
\contentsline {subsubsection}{Sampling Group Element}{72}{subsubsection*.53}
\contentsline {subsection}{\numberline {5.4.16}XMDS-specific C syntax}{73}{subsection.5.4.16}
-\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{74}{section.5.5}
+\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{73}{section.5.5}
\contentsline {section}{\numberline {5.6}Bulirsch-Stoer Algorithm}{74}{section.5.6}
-\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{76}{section.5.7}
+\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{75}{section.5.7}
\contentsline {chapter}{\numberline {6}Advanced Topics}{77}{chapter.6}
\contentsline {section}{\numberline {6.1}Importing data}{77}{section.6.1}
\contentsline {section}{\numberline {6.2}Convolutions and Fourier transforms}{79}{section.6.2}
@@ -107,7 +107,7 @@
\contentsline {subsection}{\numberline {9.3.2}Faster libraries}{89}{subsection.9.3.2}
\contentsline {subsection}{\numberline {9.3.3}Auto-vectorisation}{90}{subsection.9.3.3}
\contentsline {subsection}{\numberline {9.3.4}OpenMP}{90}{subsection.9.3.4}
-\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{91}{subsection.9.3.5}
+\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{90}{subsection.9.3.5}
\contentsline {section}{\numberline {9.4}Atom-optics-specific hints}{91}{section.9.4}
\contentsline {subsection}{\numberline {9.4.1}Separate out imaginary-time calculation code}{91}{subsection.9.4.1}
\contentsline {subsection}{\numberline {9.4.2}Use an energy or momentum offset}{91}{subsection.9.4.2}
diff --git a/documentation/licensing.html b/documentation/licensing.html
index 8855822..62b513c 100644
--- a/documentation/licensing.html
+++ b/documentation/licensing.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Licensing — XMDS2 2.2.1 documentation</title>
+ <title>Licensing — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="News" href="news.html" />
<link rel="prev" title="Developer Documentation" href="developer.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="developer.html" title="Developer Documentation"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -293,13 +291,13 @@ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.</div></b
<li class="right" >
<a href="developer.html" title="Developer Documentation"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/news.html b/documentation/news.html
index a151765..fd66073 100644
--- a/documentation/news.html
+++ b/documentation/news.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>News — XMDS2 2.2.1 documentation</title>
+ <title>News — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="prev" title="Licensing" href="licensing.html" />
</head>
<body>
@@ -40,7 +38,7 @@
<li class="right" >
<a href="licensing.html" title="Licensing"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -213,13 +211,13 @@
<li class="right" >
<a href="licensing.html" title="Licensing"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/news_content.html b/documentation/news_content.html
index 2b140e4..9492ee2 100644
--- a/documentation/news_content.html
+++ b/documentation/news_content.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>News — XMDS2 2.2.1 documentation</title>
+ <title>News — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
</head>
<body>
<div class="related">
@@ -36,7 +34,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -206,13 +204,13 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/objects.inv b/documentation/objects.inv
index cf97f78..730cb41 100644
Binary files a/documentation/objects.inv and b/documentation/objects.inv differ
diff --git a/documentation/optimisation_hints.html b/documentation/optimisation_hints.html
index 2ae4d07..653a94f 100644
--- a/documentation/optimisation_hints.html
+++ b/documentation/optimisation_hints.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Optimisation Hints — XMDS2 2.2.1 documentation</title>
+ <title>Optimisation Hints — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="xsil2graphics2" href="xsil2graphics2.html" />
<link rel="prev" title="Upgrading From XMDS 1.X" href="upgrade.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="upgrade.html" title="Upgrading From XMDS 1.X"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -189,7 +187,8 @@ ls libatlas*.deb
</pre></div>
</div>
<p>Then, for each of the .deb packages listed by the ls command, install via:</p>
-<div class="highlight-xpdeint"><pre>sudo dpkg -i <filename here>.deb</pre>
+<div class="highlight-xpdeint"><div class="highlight"><pre>sudo dpkg -i <filename here>.deb
+</pre></div>
</div>
<p>This procedure was tested on Ubuntu 12.04 LTS, but an identical or very similar procedure should work for other Ubuntu/Debian versions.</p>
<p>Finally, note that the “sudo fakeroot debian/rules custom” package creation step carries out an exhaustive series of tests to optimize for your architecture, SSE support, cache hierarchy and so on, and can take a long time. Be patient.</p>
@@ -316,13 +315,13 @@ ls libatlas*.deb
<li class="right" >
<a href="upgrade.html" title="Upgrading From XMDS 1.X"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/reference_elements.html b/documentation/reference_elements.html
index f61dae1..e21d913 100644
--- a/documentation/reference_elements.html
+++ b/documentation/reference_elements.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>XMDS2 script elements — XMDS2 2.2.1 documentation</title>
+ <title>XMDS2 script elements — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="up" title="Reference section" href="reference_index.html" />
<link rel="next" title="Modified Midpoint Method" href="bulirschStoer.html" />
<link rel="prev" title="XMDS2 XML Schema" href="reference_schema.html" />
@@ -45,7 +43,7 @@
<li class="right" >
<a href="reference_schema.html" title="XMDS2 XML Schema"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" accesskey="U">Reference section</a> »</li>
</ul>
</div>
@@ -1159,14 +1157,14 @@ is then executed in the order found in the <tt class="docutils literal"><span cl
<li class="right" >
<a href="reference_schema.html" title="XMDS2 XML Schema"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" >Reference section</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/reference_index.html b/documentation/reference_index.html
index 636fd9e..4e10113 100644
--- a/documentation/reference_index.html
+++ b/documentation/reference_index.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Reference section — XMDS2 2.2.1 documentation</title>
+ <title>Reference section — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Configuration, installation and runtime options" href="reference_installation_and_configuration.html" />
<link rel="prev" title="Worked Examples" href="worked_examples.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="worked_examples.html" title="Worked Examples"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -96,6 +94,32 @@
<p class="logo"><a href="index.html">
<img class="logo" src="_static/xmds_logo.png" alt="Logo"/>
</a></p>
+<h3><a href="index.html">Table Of Contents</a></h3>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Quickstart Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="worked_examples.html">Worked Examples</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="">Reference section</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="reference_installation_and_configuration.html">Configuration, installation and runtime options</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference_usefulXMLSyntax.html">Useful XML Syntax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference_schema.html">XMDS2 XML Schema</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference_elements.html">XMDS2 script elements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="bulirschStoer.html">Modified Midpoint Method</a></li>
+<li class="toctree-l2"><a class="reference internal" href="bulirschStoer.html#bulirsch-stoer-algorithm">Bulirsch-Stoer Algorithm</a></li>
+<li class="toctree-l2"><a class="reference internal" href="bulirschStoer.html#error-scaling-behaviour">Error Scaling Behaviour</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="advanced_topics.html">Advanced Topics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="upgrade.html">Upgrading From XMDS 1.X</a></li>
+<li class="toctree-l1"><a class="reference internal" href="optimisation_hints.html">Optimisation Hints</a></li>
+<li class="toctree-l1"><a class="reference internal" href="xsil2graphics2.html">xsil2graphics2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="developer.html">Developer Documentation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="licensing.html">Licensing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
+</ul>
+
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -125,13 +149,13 @@
<li class="right" >
<a href="worked_examples.html" title="Worked Examples"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/reference_installation_and_configuration.html b/documentation/reference_installation_and_configuration.html
index bc47d32..1156d22 100644
--- a/documentation/reference_installation_and_configuration.html
+++ b/documentation/reference_installation_and_configuration.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Configuration, installation and runtime options — XMDS2 2.2.1 documentation</title>
+ <title>Configuration, installation and runtime options — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="up" title="Reference section" href="reference_index.html" />
<link rel="next" title="Useful XML Syntax" href="reference_usefulXMLSyntax.html" />
<link rel="prev" title="Reference section" href="reference_index.html" />
@@ -45,7 +43,7 @@
<li class="right" >
<a href="reference_index.html" title="Reference section"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" accesskey="U">Reference section</a> »</li>
</ul>
</div>
@@ -125,14 +123,14 @@
<li class="right" >
<a href="reference_index.html" title="Reference section"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" >Reference section</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/reference_schema.html b/documentation/reference_schema.html
index 7bebdfb..463dda0 100644
--- a/documentation/reference_schema.html
+++ b/documentation/reference_schema.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>XMDS2 XML Schema — XMDS2 2.2.1 documentation</title>
+ <title>XMDS2 XML Schema — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="up" title="Reference section" href="reference_index.html" />
<link rel="next" title="XMDS2 script elements" href="reference_elements.html" />
<link rel="prev" title="Useful XML Syntax" href="reference_usefulXMLSyntax.html" />
@@ -45,7 +43,7 @@
<li class="right" >
<a href="reference_usefulXMLSyntax.html" title="Useful XML Syntax"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" accesskey="U">Reference section</a> »</li>
</ul>
</div>
@@ -243,14 +241,14 @@
<li class="right" >
<a href="reference_usefulXMLSyntax.html" title="Useful XML Syntax"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" >Reference section</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/reference_usefulXMLSyntax.html b/documentation/reference_usefulXMLSyntax.html
index 8fdb8bc..192ad89 100644
--- a/documentation/reference_usefulXMLSyntax.html
+++ b/documentation/reference_usefulXMLSyntax.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Useful XML Syntax — XMDS2 2.2.1 documentation</title>
+ <title>Useful XML Syntax — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="up" title="Reference section" href="reference_index.html" />
<link rel="next" title="XMDS2 XML Schema" href="reference_schema.html" />
<link rel="prev" title="Configuration, installation and runtime options" href="reference_installation_and_configuration.html" />
@@ -45,7 +43,7 @@
<li class="right" >
<a href="reference_installation_and_configuration.html" title="Configuration, installation and runtime options"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" accesskey="U">Reference section</a> »</li>
</ul>
</div>
@@ -115,14 +113,14 @@
<li class="right" >
<a href="reference_installation_and_configuration.html" title="Configuration, installation and runtime options"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
<li><a href="reference_index.html" >Reference section</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/search.html b/documentation/search.html
index 24adaca..0bd7957 100644
--- a/documentation/search.html
+++ b/documentation/search.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Search — XMDS2 2.2.1 documentation</title>
+ <title>Search — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -28,10 +26,12 @@
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); });
</script>
+
+ <script type="text/javascript" id="searchindexloader"></script>
</head>
@@ -42,7 +42,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -93,13 +93,13 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/searchindex.js b/documentation/searchindex.js
index 6c90e6e..53af04f 100644
--- a/documentation/searchindex.js
+++ b/documentation/searchindex.js
@@ -1 +1 @@
-Search.setIndex({objects:{},terms:{orthogon:3,ridden:19,interchang:13,four:[15,13],secondli:[8,9],prefix:[2,3],forget:4,xmds2:[0,1,2,3,6,5,15,9,8,10,7,13,14,16,17,18,19,11],xmds1:[6,7,2,17],accur:[8,19,3],"const":[15,3],wigner_arguments_mpi:15,openmpi:[4,2],matlab:[6,7,12,2,17],under:[5,15,13,3],slowest:3,worth:8,merchant:13,digit:3,everi:[4,13,16],risk:13,vastli:19,"void":13,vector:[0,4,15,8,10,7,6,9,14,16,17,18,19,3],terabyt:3,matric:14,readthedoc:16,initialis:[6,4,15,7,14,16,17,18,19, [...]
\ No newline at end of file
+Search.setIndex({envversion:42,terms:{orthogon:3,ridden:19,interchang:13,four:[15,13],secondli:[8,9],prefix:[2,3],forget:4,xmds2:[9,14],xmds1:[6,7,2,17],accur:[8,19,3],"const":[15,3],wigner_arguments_mpi:15,openmpi:[4,2],matlab:[6,7,12,2,17],under:[5,15,13,3],slowest:3,worth:8,merchant:13,digit:3,everi:[4,13,16],risk:13,vastli:19,"void":13,vector:[10,9,14,16],terabyt:3,matric:14,readthedoc:16,initialis:[6,4,15,7,14,16,17,18,19,3],number_7:3,direct:[6,17,7,3,4],sourceforg:[5,8,2,16],conse [...]
\ No newline at end of file
diff --git a/documentation/tutorial.html b/documentation/tutorial.html
index ce1264e..0fa60b0 100644
--- a/documentation/tutorial.html
+++ b/documentation/tutorial.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Quickstart Tutorial — XMDS2 2.2.1 documentation</title>
+ <title>Quickstart Tutorial — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Worked Examples" href="worked_examples.html" />
<link rel="prev" title="Installation" href="installation.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="installation.html" title="Installation"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -317,13 +315,13 @@ ListPointPlot3D[ll]
<li class="right" >
<a href="installation.html" title="Installation"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/upgrade.html b/documentation/upgrade.html
index c3fe95d..2961136 100644
--- a/documentation/upgrade.html
+++ b/documentation/upgrade.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Upgrading From XMDS 1.X — XMDS2 2.2.1 documentation</title>
+ <title>Upgrading From XMDS 1.X — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Optimisation Hints" href="optimisation_hints.html" />
<link rel="prev" title="Frequently Asked Questions" href="faq.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="faq.html" title="Frequently Asked Questions"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -98,13 +96,13 @@
<li class="right" >
<a href="faq.html" title="Frequently Asked Questions"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/worked_examples.html b/documentation/worked_examples.html
index 6f6b6e6..6d00ba4 100644
--- a/documentation/worked_examples.html
+++ b/documentation/worked_examples.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Worked Examples — XMDS2 2.2.1 documentation</title>
+ <title>Worked Examples — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Reference section" href="reference_index.html" />
<link rel="prev" title="Quickstart Tutorial" href="tutorial.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="tutorial.html" title="Quickstart Tutorial"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -1302,13 +1300,13 @@ Variables that can be specified on the command line:
<li class="right" >
<a href="tutorial.html" title="Quickstart Tutorial"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/documentation/xsil2graphics2.html b/documentation/xsil2graphics2.html
index 23e17f6..f60f9b8 100644
--- a/documentation/xsil2graphics2.html
+++ b/documentation/xsil2graphics2.html
@@ -1,5 +1,3 @@
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -8,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>xsil2graphics2 — XMDS2 2.2.1 documentation</title>
+ <title>xsil2graphics2 — XMDS2 2.2.2-rc1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '2.2.1',
+ URL_ROOT: './',
+ VERSION: '2.2.2-rc1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -27,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
<link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
- <link rel="top" title="XMDS2 2.2.1 documentation" href="index.html" />
+ <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
<link rel="next" title="Developer Documentation" href="developer.html" />
<link rel="prev" title="Optimisation Hints" href="optimisation_hints.html" />
</head>
@@ -44,7 +42,7 @@
<li class="right" >
<a href="optimisation_hints.html" title="Optimisation Hints"
accesskey="P">previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
@@ -97,13 +95,13 @@
<li class="right" >
<a href="optimisation_hints.html" title="Optimisation Hints"
>previous</a> |</li>
- <li><a href="index.html">XMDS2 2.2.1 documentation</a> »</li>
+ <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
- Last updated on Sep 30, 2014.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+ Last updated on Oct 11, 2014.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 2f62cb6..3062c1c 100755
--- a/setup.py
+++ b/setup.py
@@ -17,7 +17,7 @@ for root, dirs, files in os.walk('xpdeint'):
packages.append(root.replace(os.sep, '.'))
setup(name="xmds2",
- version="2.2.1",
+ version="2.2.2-rc1",
description="Stochastic ODE/PDE integrator",
url="http://xmds.sourceforge.net",
license="GPLv2",
diff --git a/xpdeint/Features/Arguments.py b/xpdeint/Features/Arguments.py
index 911b791..b703d98 100644
--- a/xpdeint/Features/Arguments.py
+++ b/xpdeint/Features/Arguments.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.394788
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Arguments.tmpl'
+__CHEETAH_genTime__ = 1412976193.483291
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Arguments.tmpl'
__CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/AsciiFormat.py b/xpdeint/Features/AsciiFormat.py
index 01d6bfb..4303356 100644
--- a/xpdeint/Features/AsciiFormat.py
+++ b/xpdeint/Features/AsciiFormat.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.509494
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/AsciiFormat.tmpl'
+__CHEETAH_genTime__ = 1412976193.429865
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/AsciiFormat.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/AutoVectorise.py b/xpdeint/Features/AutoVectorise.py
index 990b9b3..96de363 100644
--- a/xpdeint/Features/AutoVectorise.py
+++ b/xpdeint/Features/AutoVectorise.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.380339
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/AutoVectorise.tmpl'
+__CHEETAH_genTime__ = 1412976193.369084
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/AutoVectorise.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Benchmark.py b/xpdeint/Features/Benchmark.py
index 7a2e16c..db6599c 100644
--- a/xpdeint/Features/Benchmark.py
+++ b/xpdeint/Features/Benchmark.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.468417
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Benchmark.tmpl'
+__CHEETAH_genTime__ = 1412976193.356639
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Benchmark.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/BinaryFormat.py b/xpdeint/Features/BinaryFormat.py
index 2b8fb7f..bbebf4f 100644
--- a/xpdeint/Features/BinaryFormat.py
+++ b/xpdeint/Features/BinaryFormat.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.573264
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/BinaryFormat.tmpl'
+__CHEETAH_genTime__ = 1412976193.475145
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/BinaryFormat.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:18 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Bing.py b/xpdeint/Features/Bing.py
index 6ab042f..1aad3c8 100644
--- a/xpdeint/Features/Bing.py
+++ b/xpdeint/Features/Bing.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.434886
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Bing.tmpl'
+__CHEETAH_genTime__ = 1412976193.488458
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Bing.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/CFlags.py b/xpdeint/Features/CFlags.py
index 8964412..14028f5 100644
--- a/xpdeint/Features/CFlags.py
+++ b/xpdeint/Features/CFlags.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.455666
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/CFlags.tmpl'
+__CHEETAH_genTime__ = 1412976193.496115
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/CFlags.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/ChunkedOutput.py b/xpdeint/Features/ChunkedOutput.py
index 1795c47..43d82cf 100644
--- a/xpdeint/Features/ChunkedOutput.py
+++ b/xpdeint/Features/ChunkedOutput.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.404103
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/ChunkedOutput.tmpl'
+__CHEETAH_genTime__ = 1412976193.536547
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/ChunkedOutput.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 1 11:52:34 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Diagnostics.py b/xpdeint/Features/Diagnostics.py
index 3c7163d..4d88032 100644
--- a/xpdeint/Features/Diagnostics.py
+++ b/xpdeint/Features/Diagnostics.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.46357
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Diagnostics.tmpl'
+__CHEETAH_genTime__ = 1412976193.578851
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Diagnostics.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/ErrorCheck.py b/xpdeint/Features/ErrorCheck.py
index a8ce1f7..0c013f4 100644
--- a/xpdeint/Features/ErrorCheck.py
+++ b/xpdeint/Features/ErrorCheck.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.549703
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/ErrorCheck.tmpl'
+__CHEETAH_genTime__ = 1412976193.626122
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/ErrorCheck.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Globals.py b/xpdeint/Features/Globals.py
index aa47785..bb01c7e 100644
--- a/xpdeint/Features/Globals.py
+++ b/xpdeint/Features/Globals.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.51797
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Globals.tmpl'
+__CHEETAH_genTime__ = 1412976193.530912
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Globals.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Feb 22 16:33:31 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/HDF5Format.py b/xpdeint/Features/HDF5Format.py
index 1fcc8d4..ff13b40 100644
--- a/xpdeint/Features/HDF5Format.py
+++ b/xpdeint/Features/HDF5Format.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.62847
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/HDF5Format.tmpl'
+__CHEETAH_genTime__ = 1412976193.732184
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/HDF5Format.tmpl'
__CHEETAH_srcLastModified__ = 'Sun Nov 24 20:15:20 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/HaltNonFinite.py b/xpdeint/Features/HaltNonFinite.py
index b2485ad..1e16da7 100644
--- a/xpdeint/Features/HaltNonFinite.py
+++ b/xpdeint/Features/HaltNonFinite.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.634389
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/HaltNonFinite.tmpl'
+__CHEETAH_genTime__ = 1412976193.611012
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/HaltNonFinite.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/MaxIterations.py b/xpdeint/Features/MaxIterations.py
index a51cab5..296d90d 100644
--- a/xpdeint/Features/MaxIterations.py
+++ b/xpdeint/Features/MaxIterations.py
@@ -32,9 +32,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.671388
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/MaxIterations.tmpl'
+__CHEETAH_genTime__ = 1412976193.636436
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/MaxIterations.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/OpenMP.py b/xpdeint/Features/OpenMP.py
index 203ecf8..cdfc018 100644
--- a/xpdeint/Features/OpenMP.py
+++ b/xpdeint/Features/OpenMP.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.70686
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/OpenMP.tmpl'
+__CHEETAH_genTime__ = 1412976193.722999
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/OpenMP.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Oct 18 19:50:44 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Output.py b/xpdeint/Features/Output.py
index 0c05d7e..901f91a 100644
--- a/xpdeint/Features/Output.py
+++ b/xpdeint/Features/Output.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.666169
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Output.tmpl'
+__CHEETAH_genTime__ = 1412976193.817202
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Output.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Sep 3 14:15:51 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/OutputFormat.py b/xpdeint/Features/OutputFormat.py
index b855083..81b61e3 100644
--- a/xpdeint/Features/OutputFormat.py
+++ b/xpdeint/Features/OutputFormat.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.703541
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/OutputFormat.tmpl'
+__CHEETAH_genTime__ = 1412976193.797227
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/OutputFormat.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 29 13:43:25 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -230,7 +230,7 @@ void _close_xsil_file(FILE*& fp)
# Find the end tag in a case-insensitive way
indexForEndTag = VFN(VFN(VFFSL(SL,"expandedInputScript",True),"lower",False)(),"rfind",False)('</simulation>')
xsilOutputHeader = VFFSL(SL,"expandedInputScript",True)[0:VFFSL(SL,"indexForEndTag",True)]
- _orig_filter_79874812 = _filter
+ _orig_filter_75476375 = _filter
_filter = self._CHEETAH__currentFilter = VFFSL(SL,"PrintfSafeFilter",True)(self).filter
for line in VFN(VFFSL(SL,"xsilOutputHeader",True),"splitlines",False)(): # generated from line 92, col 5
write(u''' fprintf(fp, "''')
@@ -249,7 +249,7 @@ void _close_xsil_file(FILE*& fp)
write(u''')\\n");
fprintf(fp, "See http://www.xmds.org for more information.\\n");
''')
- _filter = self._CHEETAH__currentFilter = _orig_filter_79874812
+ _filter = self._CHEETAH__currentFilter = _orig_filter_75476375
#
featureOrderingXSILInfo = ['Arguments', 'Stochastic']
write(u''' ''')
diff --git a/xpdeint/Features/Stochastic.py b/xpdeint/Features/Stochastic.py
index 12cfe24..c4f5f5e 100644
--- a/xpdeint/Features/Stochastic.py
+++ b/xpdeint/Features/Stochastic.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.787969
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Stochastic.tmpl'
+__CHEETAH_genTime__ = 1412976193.902682
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Stochastic.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/Basis.py b/xpdeint/Features/Transforms/Basis.py
index 2bafff8..b6018c6 100644
--- a/xpdeint/Features/Transforms/Basis.py
+++ b/xpdeint/Features/Transforms/Basis.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.773202
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/Basis.tmpl'
+__CHEETAH_genTime__ = 1412976193.850165
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/Basis.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Jul 5 16:29:35 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/BesselBasis.py b/xpdeint/Features/Transforms/BesselBasis.py
index afaaf78..84ef7d2 100644
--- a/xpdeint/Features/Transforms/BesselBasis.py
+++ b/xpdeint/Features/Transforms/BesselBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.797038
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/BesselBasis.tmpl'
+__CHEETAH_genTime__ = 1412976193.908652
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselBasis.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/BesselNeumannTransform.py b/xpdeint/Features/Transforms/BesselNeumannTransform.py
index c5b4427..1055720 100644
--- a/xpdeint/Features/Transforms/BesselNeumannTransform.py
+++ b/xpdeint/Features/Transforms/BesselNeumannTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.784493
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/BesselNeumannTransform.tmpl'
+__CHEETAH_genTime__ = 1412976193.982363
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselNeumannTransform.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 28 08:44:05 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/BesselTransform.py b/xpdeint/Features/Transforms/BesselTransform.py
index 3c34257..44c3141 100644
--- a/xpdeint/Features/Transforms/BesselTransform.py
+++ b/xpdeint/Features/Transforms/BesselTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.779386
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/BesselTransform.tmpl'
+__CHEETAH_genTime__ = 1412976193.91983
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselTransform.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/EPBasis.py b/xpdeint/Features/Transforms/EPBasis.py
index 752b54e..ebead04 100644
--- a/xpdeint/Features/Transforms/EPBasis.py
+++ b/xpdeint/Features/Transforms/EPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.967481
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/EPBasis.tmpl'
+__CHEETAH_genTime__ = 1412976194.05434
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/EPBasis.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3.py b/xpdeint/Features/Transforms/FourierTransformFFTW3.py
index 89749b1..96ac028 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.893226
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/FourierTransformFFTW3.tmpl'
+__CHEETAH_genTime__ = 1412976194.06482
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Jul 5 16:29:35 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py b/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
index 72c06c6..7f0ae7f 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
@@ -37,9 +37,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.044773
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.tmpl'
+__CHEETAH_genTime__ = 1412976194.185448
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.tmpl'
__CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py b/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
index f5f6e02..c038757 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.914166
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.tmpl'
+__CHEETAH_genTime__ = 1412976194.110563
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/HermiteGaussEPBasis.py b/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
index 4a20834..fcc1323 100644
--- a/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.991
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/HermiteGaussEPBasis.tmpl'
+__CHEETAH_genTime__ = 1412976194.144935
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussEPBasis.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py b/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
index e468a34..44beed0 100644
--- a/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.963521
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.tmpl'
+__CHEETAH_genTime__ = 1412976194.131205
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Jul 3 14:24:15 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/HermiteGaussTransform.py b/xpdeint/Features/Transforms/HermiteGaussTransform.py
index 9b3ce5b..0c56c77 100644
--- a/xpdeint/Features/Transforms/HermiteGaussTransform.py
+++ b/xpdeint/Features/Transforms/HermiteGaussTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053665.972972
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:45 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/HermiteGaussTransform.tmpl'
+__CHEETAH_genTime__ = 1412976194.157034
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussTransform.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:49:57 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py b/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
index 68434d2..97a99ba 100644
--- a/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.068473
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.tmpl'
+__CHEETAH_genTime__ = 1412976194.224606
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Jul 5 16:29:35 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/MMT.py b/xpdeint/Features/Transforms/MMT.py
index bb75229..5a67d4c 100644
--- a/xpdeint/Features/Transforms/MMT.py
+++ b/xpdeint/Features/Transforms/MMT.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.079428
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/MMT.tmpl'
+__CHEETAH_genTime__ = 1412976194.223754
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/MMT.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:49:57 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/NoTransformMPI.py b/xpdeint/Features/Transforms/NoTransformMPI.py
index 77f6dbc..8f9198c 100644
--- a/xpdeint/Features/Transforms/NoTransformMPI.py
+++ b/xpdeint/Features/Transforms/NoTransformMPI.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.047729
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/NoTransformMPI.tmpl'
+__CHEETAH_genTime__ = 1412976194.261832
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/NoTransformMPI.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Feb 23 00:45:53 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Transforms/TransformMultiplexer.py b/xpdeint/Features/Transforms/TransformMultiplexer.py
index 3ad7339..4c94efd 100644
--- a/xpdeint/Features/Transforms/TransformMultiplexer.py
+++ b/xpdeint/Features/Transforms/TransformMultiplexer.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.167891
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Transforms/TransformMultiplexer.tmpl'
+__CHEETAH_genTime__ = 1412976194.353143
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/TransformMultiplexer.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Features/Validation.py b/xpdeint/Features/Validation.py
index a9b96ab..9ba5a9a 100644
--- a/xpdeint/Features/Validation.py
+++ b/xpdeint/Features/Validation.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.068705
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Features/Validation.tmpl'
+__CHEETAH_genTime__ = 1412976194.246009
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Validation.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Aug 22 16:32:53 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/BesselDimensionRepresentation.py b/xpdeint/Geometry/BesselDimensionRepresentation.py
index 73fca12..1143c6c 100644
--- a/xpdeint/Geometry/BesselDimensionRepresentation.py
+++ b/xpdeint/Geometry/BesselDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.117023
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/BesselDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.344105
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/BesselDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py b/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
index 55db042..b35f7c2 100644
--- a/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
+++ b/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.141026
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/BesselNeumannDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.357078
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/BesselNeumannDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 28 08:44:05 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/DimensionRepresentation.py b/xpdeint/Geometry/DimensionRepresentation.py
index 691616c..c584f4d 100644
--- a/xpdeint/Geometry/DimensionRepresentation.py
+++ b/xpdeint/Geometry/DimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.156895
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/DimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.337163
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/DimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/FieldElement.py b/xpdeint/Geometry/FieldElement.py
index c2a39e1..be58fa6 100644
--- a/xpdeint/Geometry/FieldElement.py
+++ b/xpdeint/Geometry/FieldElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.154769
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/FieldElement.tmpl'
+__CHEETAH_genTime__ = 1412976194.405263
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/FieldElement.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/GeometryElement.py b/xpdeint/Geometry/GeometryElement.py
index 7880444..a06b2cb 100644
--- a/xpdeint/Geometry/GeometryElement.py
+++ b/xpdeint/Geometry/GeometryElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.174072
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/GeometryElement.tmpl'
+__CHEETAH_genTime__ = 1412976194.371049
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/GeometryElement.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py b/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
index 7b9ea43..2275216 100644
--- a/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
+++ b/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.21711
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/HermiteGaussDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.457569
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/HermiteGaussDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Jul 11 19:41:11 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/NonUniformDimensionRepresentation.py b/xpdeint/Geometry/NonUniformDimensionRepresentation.py
index 4c52ed8..261eb66 100644
--- a/xpdeint/Geometry/NonUniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/NonUniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.19814
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/NonUniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.408038
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/NonUniformDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py b/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
index 8e63081..2e1fe59 100644
--- a/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
+++ b/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.207926
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/SphericalBesselDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.423052
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/SphericalBesselDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/SplitUniformDimensionRepresentation.py b/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
index 3b0abfd..c8b0540 100644
--- a/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.241604
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/SplitUniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.461216
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/SplitUniformDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Jul 13 16:21:46 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Geometry/UniformDimensionRepresentation.py b/xpdeint/Geometry/UniformDimensionRepresentation.py
index 5f654ba..3034347 100644
--- a/xpdeint/Geometry/UniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/UniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.278035
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Geometry/UniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1412976194.571115
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/UniformDimensionRepresentation.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Jul 13 16:21:46 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/HDF5.py b/xpdeint/HDF5.py
index 4c3ebb6..65de36b 100644
--- a/xpdeint/HDF5.py
+++ b/xpdeint/HDF5.py
@@ -36,9 +36,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.319803
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/HDF5.tmpl'
+__CHEETAH_genTime__ = 1412976194.5861
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/HDF5.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Apr 23 13:26:13 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -308,12 +308,12 @@ mem_stride[''')
write(u''';
''')
- ## START CAPTURE REGION: _56396276 writeLoopContents at line 122, col 5 in the source.
- _orig_trans_56396276 = trans
- _wasBuffering_56396276 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _39866444 writeLoopContents at line 122, col 5 in the source.
+ _orig_trans_39866444 = trans
+ _wasBuffering_39866444 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_56396276 = DummyTransaction()
- write = _captureCollector_56396276.response().write
+ trans = _captureCollector_39866444 = DummyTransaction()
+ write = _captureCollector_39866444.response().write
for offset, componentName in components: # generated from line 123, col 7
write(u'''mem_start[''')
_v = VFFSL(SL,"dimensionCount",True) # u'${dimensionCount}' on line 124, col 11
@@ -350,13 +350,13 @@ if (dataset_''')
if _v is not None: write(_filter(_v, rawExpr=u'${variable.arrayName}')) # from line 138, col 106.
write(u''');
''')
- trans = _orig_trans_56396276
+ trans = _orig_trans_39866444
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_56396276
- writeLoopContents = _captureCollector_56396276.response().getvalue()
- del _orig_trans_56396276
- del _captureCollector_56396276
- del _wasBuffering_56396276
+ self._CHEETAH__isBuffering = _wasBuffering_39866444
+ writeLoopContents = _captureCollector_39866444.response().getvalue()
+ del _orig_trans_39866444
+ del _captureCollector_39866444
+ del _wasBuffering_39866444
#
# Permit the driver to modify the writeLoopContents
featureOrdering = ['Driver']
diff --git a/xpdeint/MomentGroupElement.py b/xpdeint/MomentGroupElement.py
index ab51b60..83e8d3e 100644
--- a/xpdeint/MomentGroupElement.py
+++ b/xpdeint/MomentGroupElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.376112
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/MomentGroupElement.tmpl'
+__CHEETAH_genTime__ = 1412976194.588387
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/MomentGroupElement.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 13:11:27 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/ConstantEXOperator.py b/xpdeint/Operators/ConstantEXOperator.py
index 280b405..41eb733 100644
--- a/xpdeint/Operators/ConstantEXOperator.py
+++ b/xpdeint/Operators/ConstantEXOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.369167
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/ConstantEXOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.604213
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/ConstantEXOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:43:31 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/ConstantIPOperator.py b/xpdeint/Operators/ConstantIPOperator.py
index a4e3aa3..4f81f2e 100644
--- a/xpdeint/Operators/ConstantIPOperator.py
+++ b/xpdeint/Operators/ConstantIPOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.358225
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/ConstantIPOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.660228
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/ConstantIPOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:15 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/CrossPropagationOperator.py b/xpdeint/Operators/CrossPropagationOperator.py
index e6f3e79..f40fbd4 100644
--- a/xpdeint/Operators/CrossPropagationOperator.py
+++ b/xpdeint/Operators/CrossPropagationOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.37421
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/CrossPropagationOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.648795
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/CrossPropagationOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/DeltaAOperator.py b/xpdeint/Operators/DeltaAOperator.py
index 155960c..13f97cd 100644
--- a/xpdeint/Operators/DeltaAOperator.py
+++ b/xpdeint/Operators/DeltaAOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.400097
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/DeltaAOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.660769
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/DeltaAOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/FilterOperator.py b/xpdeint/Operators/FilterOperator.py
index 3a90d11..0b991d1 100644
--- a/xpdeint/Operators/FilterOperator.py
+++ b/xpdeint/Operators/FilterOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.387163
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/FilterOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.633472
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/FilterOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/FunctionsOperator.py b/xpdeint/Operators/FunctionsOperator.py
index 1c767c6..8554953 100644
--- a/xpdeint/Operators/FunctionsOperator.py
+++ b/xpdeint/Operators/FunctionsOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.406654
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/FunctionsOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.68385
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/FunctionsOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/NonConstantEXOperator.py b/xpdeint/Operators/NonConstantEXOperator.py
index cb4f95d..ceef51c 100644
--- a/xpdeint/Operators/NonConstantEXOperator.py
+++ b/xpdeint/Operators/NonConstantEXOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.420949
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/NonConstantEXOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.719326
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/NonConstantEXOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:43:31 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/NonConstantIPOperator.py b/xpdeint/Operators/NonConstantIPOperator.py
index 1bc1d77..8eec3da 100644
--- a/xpdeint/Operators/NonConstantIPOperator.py
+++ b/xpdeint/Operators/NonConstantIPOperator.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.439601
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/NonConstantIPOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.708437
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/NonConstantIPOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/Operator.py b/xpdeint/Operators/Operator.py
index 50a98a3..5094716 100644
--- a/xpdeint/Operators/Operator.py
+++ b/xpdeint/Operators/Operator.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.572786
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/Operator.tmpl'
+__CHEETAH_genTime__ = 1412976194.748851
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/Operator.tmpl'
__CHEETAH_srcLastModified__ = 'Tue Nov 20 11:51:47 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Operators/OperatorContainer.py b/xpdeint/Operators/OperatorContainer.py
index fe4d762..ad5b554 100644
--- a/xpdeint/Operators/OperatorContainer.py
+++ b/xpdeint/Operators/OperatorContainer.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.493272
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/OperatorContainer.tmpl'
+__CHEETAH_genTime__ = 1412976194.894627
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/OperatorContainer.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Oct 3 21:15:17 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -226,12 +226,12 @@ class OperatorContainer(_OperatorContainer):
for operatorComponentNumber, (operatorComponentName, operatorComponentVectors) in enumerate(VFN(VFFSL(SL,"ipOperator.operatorComponents",True),"iteritems",False)()): # generated from line 83, col 5
for targetVectorComponents in operatorComponentVectors.itervalues(): # generated from line 84, col 7
for targetVectorComponent in targetVectorComponents: # generated from line 85, col 9
- ## START CAPTURE REGION: _98330222 operation at line 86, col 11 in the source.
- _orig_trans_98330222 = trans
- _wasBuffering_98330222 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _71821117 operation at line 86, col 11 in the source.
+ _orig_trans_71821117 = trans
+ _wasBuffering_71821117 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_98330222 = DummyTransaction()
- write = _captureCollector_98330222.response().write
+ trans = _captureCollector_71821117 = DummyTransaction()
+ write = _captureCollector_71821117.response().write
write(u'''/* ''')
_v = VFFSL(SL,"operatorComponentName",True) # u'${operatorComponentName}' on line 87, col 4
if _v is not None: write(_filter(_v, rawExpr=u'${operatorComponentName}')) # from line 87, col 4.
@@ -253,13 +253,13 @@ class OperatorContainer(_OperatorContainer):
if _v is not None: write(_filter(_v, rawExpr=u'${ipOperator.id}')) # from line 89, col 5.
write(u'''_exponentIndex''')
write(u''']''')
- trans = _orig_trans_98330222
+ trans = _orig_trans_71821117
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_98330222
- operation = _captureCollector_98330222.response().getvalue()
- del _orig_trans_98330222
- del _captureCollector_98330222
- del _wasBuffering_98330222
+ self._CHEETAH__isBuffering = _wasBuffering_71821117
+ operation = _captureCollector_71821117.response().getvalue()
+ del _orig_trans_71821117
+ del _captureCollector_71821117
+ del _wasBuffering_71821117
#
operationsDict.setdefault(targetVectorComponent, [])
operationsDict[targetVectorComponent].append(operation)
diff --git a/xpdeint/Operators/SICDeltaAOperator.py b/xpdeint/Operators/SICDeltaAOperator.py
index 5371f32..55d0e34 100644
--- a/xpdeint/Operators/SICDeltaAOperator.py
+++ b/xpdeint/Operators/SICDeltaAOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.516034
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Operators/SICDeltaAOperator.tmpl'
+__CHEETAH_genTime__ = 1412976194.830724
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/SICDeltaAOperator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Preferences.py b/xpdeint/Preferences.py
index a4a5d4b..a59f8c2 100755
--- a/xpdeint/Preferences.py
+++ b/xpdeint/Preferences.py
@@ -2,7 +2,7 @@
# encoding: utf-8
import os
-versionString = '2.2.1 "XMDS2 is a game of two halves"'
+versionString = '2.2.2-rc1 "XMDS2 is a game of two halves"'
if 'XMDS_USER_DATA' in os.environ:
xpdeintUserDataPath = os.environ['XMDS_USER_DATA']
diff --git a/xpdeint/ScriptElement.py b/xpdeint/ScriptElement.py
index aa7430b..708dfe3 100644
--- a/xpdeint/ScriptElement.py
+++ b/xpdeint/ScriptElement.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.368723
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/ScriptElement.tmpl'
+__CHEETAH_genTime__ = 1412976195.257587
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/ScriptElement.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -209,12 +209,12 @@ class ScriptElement(_ScriptElement):
VFFSL(SL,"templateVariables",True)['vector'] = VFFSL(SL,"vector",True)
_v = VFFSL(SL,"insertCodeForFeatures",False)('loopOverVectorsWithInnerContentTemplateBegin', VFFSL(SL,"loopFeatureOrdering",True), VFFSL(SL,"dict",True)) # u"${insertCodeForFeatures('loopOverVectorsWithInnerContentTemplateBegin', $loopFeatureOrdering, $dict)}" on line 155, col 1
if _v is not None: write(_filter(_v, rawExpr=u"${insertCodeForFeatures('loopOverVectorsWithInnerContentTemplateBegin', $loopFeatureOrdering, $dict)}")) # from line 155, col 1.
- ## START CAPTURE REGION: _87910873 loopString at line 156, col 5 in the source.
- _orig_trans_87910873 = trans
- _wasBuffering_87910873 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _86288413 loopString at line 156, col 5 in the source.
+ _orig_trans_86288413 = trans
+ _wasBuffering_86288413 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_87910873 = DummyTransaction()
- write = _captureCollector_87910873.response().write
+ trans = _captureCollector_86288413 = DummyTransaction()
+ write = _captureCollector_86288413.response().write
if basis is None: # generated from line 157, col 7
vectorSize = vector.allocSize
else: # generated from line 159, col 7
@@ -230,13 +230,13 @@ class ScriptElement(_ScriptElement):
if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${innerLoopTemplate, autoIndent=True}')) # from line 163, col 3.
write(u'''}
''')
- trans = _orig_trans_87910873
+ trans = _orig_trans_86288413
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_87910873
- loopString = _captureCollector_87910873.response().getvalue()
- del _orig_trans_87910873
- del _captureCollector_87910873
- del _wasBuffering_87910873
+ self._CHEETAH__isBuffering = _wasBuffering_86288413
+ loopString = _captureCollector_86288413.response().getvalue()
+ del _orig_trans_86288413
+ del _captureCollector_86288413
+ del _wasBuffering_86288413
_v = VFFSL(SL,"loopString",True) # u"${loopString, extraIndent=dict['extraIndent']}" on line 166, col 1
if _v is not None: write(_filter(_v, extraIndent=dict['extraIndent'], rawExpr=u"${loopString, extraIndent=dict['extraIndent']}")) # from line 166, col 1.
write(u'''
diff --git a/xpdeint/Segments/BreakpointSegment.py b/xpdeint/Segments/BreakpointSegment.py
index 826d527..6724789 100644
--- a/xpdeint/Segments/BreakpointSegment.py
+++ b/xpdeint/Segments/BreakpointSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.558031
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/BreakpointSegment.tmpl'
+__CHEETAH_genTime__ = 1412976194.907552
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/BreakpointSegment.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 1 11:52:34 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/FilterSegment.py b/xpdeint/Segments/FilterSegment.py
index 8f8c090..8ab0055 100644
--- a/xpdeint/Segments/FilterSegment.py
+++ b/xpdeint/Segments/FilterSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.586145
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/FilterSegment.tmpl'
+__CHEETAH_genTime__ = 1412976194.955517
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/FilterSegment.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/AdaptiveStep.py b/xpdeint/Segments/Integrators/AdaptiveStep.py
index 8320f7c..a45828d 100644
--- a/xpdeint/Segments/Integrators/AdaptiveStep.py
+++ b/xpdeint/Segments/Integrators/AdaptiveStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.366693
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/AdaptiveStep.tmpl'
+__CHEETAH_genTime__ = 1412976195.286246
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/AdaptiveStep.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:08 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/FixedStep.py b/xpdeint/Segments/Integrators/FixedStep.py
index 8bfeb17..e51d234 100644
--- a/xpdeint/Segments/Integrators/FixedStep.py
+++ b/xpdeint/Segments/Integrators/FixedStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.707166
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/FixedStep.tmpl'
+__CHEETAH_genTime__ = 1412976195.034527
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/FixedStep.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -409,12 +409,12 @@ for (long _istep = 0; _istep < ''')
#
innerLoopTemplate = VFFSL(SL,"templateObjectFromStringWithTemplateVariables",False)(VFFSL(SL,"templateString",True), {'componentIndex': '_icomp'})
#
- ## START CAPTURE REGION: _49998742 loopContents at line 157, col 3 in the source.
- _orig_trans_49998742 = trans
- _wasBuffering_49998742 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _12677668 loopContents at line 157, col 3 in the source.
+ _orig_trans_12677668 = trans
+ _wasBuffering_12677668 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_49998742 = DummyTransaction()
- write = _captureCollector_49998742.response().write
+ trans = _captureCollector_12677668 = DummyTransaction()
+ write = _captureCollector_12677668.response().write
for reducedVector, vector in VFN(VFFSL(SL,"vectorMap",True),"iteritems",False)(): # generated from line 158, col 5
if vector.field.hasDimensionName(VFFSL(SL,"propagationDimension",True)): # generated from line 159, col 7
propagationDimensionObject = vector.field.dimensionWithName(VFFSL(SL,"propagationDimension",True))
@@ -431,13 +431,13 @@ for (long _istep = 0; _istep < ''')
write(u'''}
''')
del innerLoopTemplate.skipSize
- trans = _orig_trans_49998742
+ trans = _orig_trans_12677668
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_49998742
- loopContents = _captureCollector_49998742.response().getvalue()
- del _orig_trans_49998742
- del _captureCollector_49998742
- del _wasBuffering_49998742
+ self._CHEETAH__isBuffering = _wasBuffering_12677668
+ loopContents = _captureCollector_12677668.response().getvalue()
+ del _orig_trans_12677668
+ del _captureCollector_12677668
+ del _wasBuffering_12677668
#
_v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(VFFSL(SL,"parent.reducedField",True), VFFSL(SL,"homeBasis",True), VFFSL(SL,"setOfVectorsToLoopOver",True),
VFFSL(SL,"loopContents",True), indexOverrides = VFFSL(SL,"indexOverrides",True),
diff --git a/xpdeint/Segments/Integrators/FixedStepWithCross.py b/xpdeint/Segments/Integrators/FixedStepWithCross.py
index 18156f7..4d23445 100644
--- a/xpdeint/Segments/Integrators/FixedStepWithCross.py
+++ b/xpdeint/Segments/Integrators/FixedStepWithCross.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.66303
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/FixedStepWithCross.tmpl'
+__CHEETAH_genTime__ = 1412976195.123739
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/FixedStepWithCross.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/Integrator.py b/xpdeint/Segments/Integrators/Integrator.py
index c3f4ce0..7f7b355 100644
--- a/xpdeint/Segments/Integrators/Integrator.py
+++ b/xpdeint/Segments/Integrators/Integrator.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.787339
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/Integrator.tmpl'
+__CHEETAH_genTime__ = 1412976195.272194
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/Integrator.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/MMStepper.py b/xpdeint/Segments/Integrators/MMStepper.py
index e5c01ff..9b24869 100644
--- a/xpdeint/Segments/Integrators/MMStepper.py
+++ b/xpdeint/Segments/Integrators/MMStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.696011
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/MMStepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.402979
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/MMStepper.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/RK45Stepper.py b/xpdeint/Segments/Integrators/RK45Stepper.py
index f9d1eeb..67a862d 100644
--- a/xpdeint/Segments/Integrators/RK45Stepper.py
+++ b/xpdeint/Segments/Integrators/RK45Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.99226
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/RK45Stepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.469064
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK45Stepper.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Oct 21 12:39:43 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/RK4Stepper.py b/xpdeint/Segments/Integrators/RK4Stepper.py
index 855fbac..12cc20d 100644
--- a/xpdeint/Segments/Integrators/RK4Stepper.py
+++ b/xpdeint/Segments/Integrators/RK4Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053666.743802
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:46 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/RK4Stepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.346249
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK4Stepper.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/RK89Stepper.py b/xpdeint/Segments/Integrators/RK89Stepper.py
index 3f42d03..233d5e9 100644
--- a/xpdeint/Segments/Integrators/RK89Stepper.py
+++ b/xpdeint/Segments/Integrators/RK89Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.512826
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/RK89Stepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.684132
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK89Stepper.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/RK9Stepper.py b/xpdeint/Segments/Integrators/RK9Stepper.py
index 24da2d4..8cdeced 100644
--- a/xpdeint/Segments/Integrators/RK9Stepper.py
+++ b/xpdeint/Segments/Integrators/RK9Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.192062
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/RK9Stepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.680453
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK9Stepper.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/RichardsonFixedStep.py b/xpdeint/Segments/Integrators/RichardsonFixedStep.py
index 2383300..43d1cfa 100644
--- a/xpdeint/Segments/Integrators/RichardsonFixedStep.py
+++ b/xpdeint/Segments/Integrators/RichardsonFixedStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.054259
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/RichardsonFixedStep.tmpl'
+__CHEETAH_genTime__ = 1412976195.599271
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RichardsonFixedStep.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/SICStepper.py b/xpdeint/Segments/Integrators/SICStepper.py
index 21c1a2b..7c96f41 100644
--- a/xpdeint/Segments/Integrators/SICStepper.py
+++ b/xpdeint/Segments/Integrators/SICStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.047574
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/SICStepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.602169
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/SICStepper.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/Integrators/SIStepper.py b/xpdeint/Segments/Integrators/SIStepper.py
index bf1f2a1..82b18b8 100644
--- a/xpdeint/Segments/Integrators/SIStepper.py
+++ b/xpdeint/Segments/Integrators/SIStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.003581
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/Integrators/SIStepper.tmpl'
+__CHEETAH_genTime__ = 1412976195.703626
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/SIStepper.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/SequenceSegment.py b/xpdeint/Segments/SequenceSegment.py
index 8c46fff..1969b45 100644
--- a/xpdeint/Segments/SequenceSegment.py
+++ b/xpdeint/Segments/SequenceSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.214535
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/SequenceSegment.tmpl'
+__CHEETAH_genTime__ = 1412976195.808949
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/SequenceSegment.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Segments/TopLevelSequenceElement.py b/xpdeint/Segments/TopLevelSequenceElement.py
index b23a57b..71a2dcf 100644
--- a/xpdeint/Segments/TopLevelSequenceElement.py
+++ b/xpdeint/Segments/TopLevelSequenceElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.284923
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Segments/TopLevelSequenceElement.tmpl'
+__CHEETAH_genTime__ = 1412976195.732028
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/TopLevelSequenceElement.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Simulation.py b/xpdeint/Simulation.py
index d348ba3..62329ab 100644
--- a/xpdeint/Simulation.py
+++ b/xpdeint/Simulation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.229763
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Simulation.tmpl'
+__CHEETAH_genTime__ = 1412976195.784531
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Simulation.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:18 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py b/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
index 0978454..8a40d5d 100644
--- a/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.533185
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1412976195.888789
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Nov 18 20:57:44 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/SimulationDrivers/DistributedMPIDriver.py b/xpdeint/SimulationDrivers/DistributedMPIDriver.py
index 1a6e93b..a6e8461 100644
--- a/xpdeint/SimulationDrivers/DistributedMPIDriver.py
+++ b/xpdeint/SimulationDrivers/DistributedMPIDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.519404
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/DistributedMPIDriver.tmpl'
+__CHEETAH_genTime__ = 1412976196.091695
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/DistributedMPIDriver.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:09 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -630,12 +630,12 @@ for (long _dataForRank = 0; _dataForRank < _size; _dataForRank++) {
return
#
writeLoopContents = dict['writeLoopContents']
- ## START CAPTURE REGION: _28871193 newWriteLoopContents at line 242, col 3 in the source.
- _orig_trans_28871193 = trans
- _wasBuffering_28871193 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _88725863 newWriteLoopContents at line 242, col 3 in the source.
+ _orig_trans_88725863 = trans
+ _wasBuffering_88725863 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_28871193 = DummyTransaction()
- write = _captureCollector_28871193.response().write
+ trans = _captureCollector_88725863 = DummyTransaction()
+ write = _captureCollector_88725863.response().write
for fileDimIndex, memDimIndex, dimRep in dimRepOrdering: # generated from line 243, col 5
write(u'''hsize_t file_start_''')
_v = VFFSL(SL,"dimRep.name",True) # u'${dimRep.name}' on line 244, col 20
@@ -691,13 +691,13 @@ mem_count[''')
if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.name}')) # from line 256, col 33.
write(u''';
''')
- trans = _orig_trans_28871193
+ trans = _orig_trans_88725863
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_28871193
- newWriteLoopContents = _captureCollector_28871193.response().getvalue()
- del _orig_trans_28871193
- del _captureCollector_28871193
- del _wasBuffering_28871193
+ self._CHEETAH__isBuffering = _wasBuffering_88725863
+ newWriteLoopContents = _captureCollector_88725863.response().getvalue()
+ del _orig_trans_88725863
+ del _captureCollector_88725863
+ del _wasBuffering_88725863
#
dict['writeLoopContents'] = newWriteLoopContents
#
diff --git a/xpdeint/SimulationDrivers/MPI.py b/xpdeint/SimulationDrivers/MPI.py
index 5933737..8e2802a 100644
--- a/xpdeint/SimulationDrivers/MPI.py
+++ b/xpdeint/SimulationDrivers/MPI.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.481472
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/MPI.tmpl'
+__CHEETAH_genTime__ = 1412976195.882778
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MPI.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Mar 29 16:44:30 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/SimulationDrivers/MPIMultiPathDriver.py b/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
index 4f64606..8de386f 100644
--- a/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.38866
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/MPIMultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1412976195.928262
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MPIMultiPathDriver.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/SimulationDrivers/MultiPathDriver.py b/xpdeint/SimulationDrivers/MultiPathDriver.py
index cd0d049..d77f476 100644
--- a/xpdeint/SimulationDrivers/MultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/MultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.473623
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/MultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1412976196.056959
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MultiPathDriver.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -256,12 +256,12 @@ class MultiPathDriver(_MultiPathDriver):
# to make sure they don't get finalised early. As that could lead to
# NULL pointer dereferences, and that is bad.
#
- ## START CAPTURE REGION: _26623289 finalisationCode at line 82, col 3 in the source.
- _orig_trans_26623289 = trans
- _wasBuffering_26623289 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _31036050 finalisationCode at line 82, col 3 in the source.
+ _orig_trans_31036050 = trans
+ _wasBuffering_31036050 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_26623289 = DummyTransaction()
- write = _captureCollector_26623289.response().write
+ trans = _captureCollector_31036050 = DummyTransaction()
+ write = _captureCollector_31036050.response().write
for o in VFFSL(SL,"objectsNeedingInitialisation",True): # generated from line 83, col 5
_v = VFFSL(SL,"o.finalise",True) # u'${o.finalise}' on line 84, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${o.finalise}')) # from line 84, col 1.
@@ -269,13 +269,13 @@ class MultiPathDriver(_MultiPathDriver):
''')
_v = VFFSL(SL,"topLevelSequence.free",True) # u'${topLevelSequence.free}' on line 87, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${topLevelSequence.free}')) # from line 87, col 1.
- trans = _orig_trans_26623289
+ trans = _orig_trans_31036050
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_26623289
- finalisationCode = _captureCollector_26623289.response().getvalue()
- del _orig_trans_26623289
- del _captureCollector_26623289
- del _wasBuffering_26623289
+ self._CHEETAH__isBuffering = _wasBuffering_31036050
+ finalisationCode = _captureCollector_31036050.response().getvalue()
+ del _orig_trans_31036050
+ del _captureCollector_31036050
+ del _wasBuffering_31036050
write(u'''
''')
_v = VFFSL(SL,"segment0_loop",True) # u'${segment0_loop}' on line 90, col 1
diff --git a/xpdeint/SimulationDrivers/SimulationDriver.py b/xpdeint/SimulationDrivers/SimulationDriver.py
index d9a134a..8f58b1d 100644
--- a/xpdeint/SimulationDrivers/SimulationDriver.py
+++ b/xpdeint/SimulationDrivers/SimulationDriver.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.551773
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationDrivers/SimulationDriver.tmpl'
+__CHEETAH_genTime__ = 1412976196.052366
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/SimulationDriver.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/SimulationElement.py b/xpdeint/SimulationElement.py
index 11ad049..38319dd 100644
--- a/xpdeint/SimulationElement.py
+++ b/xpdeint/SimulationElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.59242
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/SimulationElement.tmpl'
+__CHEETAH_genTime__ = 1412976195.994749
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationElement.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Feb 24 16:41:39 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/Generators/DSFMTGenerator.py b/xpdeint/Stochastic/Generators/DSFMTGenerator.py
index 6d353fd..629f9d3 100644
--- a/xpdeint/Stochastic/Generators/DSFMTGenerator.py
+++ b/xpdeint/Stochastic/Generators/DSFMTGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.652885
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/Generators/DSFMTGenerator.tmpl'
+__CHEETAH_genTime__ = 1412976196.161396
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/DSFMTGenerator.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/Generators/Generator.py b/xpdeint/Stochastic/Generators/Generator.py
index 80c84ef..396c4a6 100644
--- a/xpdeint/Stochastic/Generators/Generator.py
+++ b/xpdeint/Stochastic/Generators/Generator.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.66503
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/Generators/Generator.tmpl'
+__CHEETAH_genTime__ = 1412976196.146546
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/Generator.tmpl'
__CHEETAH_srcLastModified__ = 'Mon Oct 14 10:16:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/Generators/MKLGenerator.py b/xpdeint/Stochastic/Generators/MKLGenerator.py
index 2adb52f..2ea3760 100644
--- a/xpdeint/Stochastic/Generators/MKLGenerator.py
+++ b/xpdeint/Stochastic/Generators/MKLGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.623202
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/Generators/MKLGenerator.tmpl'
+__CHEETAH_genTime__ = 1412976196.165126
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/MKLGenerator.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/Generators/POSIXGenerator.py b/xpdeint/Stochastic/Generators/POSIXGenerator.py
index 0c71bfd..813335a 100644
--- a/xpdeint/Stochastic/Generators/POSIXGenerator.py
+++ b/xpdeint/Stochastic/Generators/POSIXGenerator.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.639514
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/Generators/POSIXGenerator.tmpl'
+__CHEETAH_genTime__ = 1412976196.167355
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/POSIXGenerator.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Aug 29 13:13:17 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/Generators/SolirteGenerator.py b/xpdeint/Stochastic/Generators/SolirteGenerator.py
index 0806c11..91c7251 100644
--- a/xpdeint/Stochastic/Generators/SolirteGenerator.py
+++ b/xpdeint/Stochastic/Generators/SolirteGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.622068
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/Generators/SolirteGenerator.tmpl'
+__CHEETAH_genTime__ = 1412976196.183227
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/SolirteGenerator.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
index ae14ae8..def729d 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.649966
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.217685
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
index 727dd2e..0132d00 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.628583
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.214401
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
index bb36560..f51777a 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.667655
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.25508
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -162,12 +162,12 @@ class GaussianRandomVariable(ScriptElement):
#
nonUniformDimReps = noiseVector.nonUniformDimReps
if nonUniformDimReps: # generated from line 67, col 3
- ## START CAPTURE REGION: _76581432 loopString at line 68, col 5 in the source.
- _orig_trans_76581432 = trans
- _wasBuffering_76581432 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _93762335 loopString at line 68, col 5 in the source.
+ _orig_trans_93762335 = trans
+ _wasBuffering_93762335 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_76581432 = DummyTransaction()
- write = _captureCollector_76581432.response().write
+ trans = _captureCollector_93762335 = DummyTransaction()
+ write = _captureCollector_93762335.response().write
fixupString = ' * '.join(''.join([str(VFFSL(SL,"dimRep.stepSizeArrayName",True)),u'_invsqrt[',str(VFFSL(SL,"dimRep.index",True)),u' + ',str(VFFSL(SL,"dimRep.localOffset",True)),u']']) for dimRep in nonUniformDimReps)
for component in noiseVector.components: # generated from line 70, col 7
_v = VFFSL(SL,"component",True) # u'${component}' on line 71, col 1
@@ -177,13 +177,13 @@ class GaussianRandomVariable(ScriptElement):
if _v is not None: write(_filter(_v, rawExpr=u'${fixupString}')) # from line 71, col 17.
write(u''';
''')
- trans = _orig_trans_76581432
+ trans = _orig_trans_93762335
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_76581432
- loopString = _captureCollector_76581432.response().getvalue()
- del _orig_trans_76581432
- del _captureCollector_76581432
- del _wasBuffering_76581432
+ self._CHEETAH__isBuffering = _wasBuffering_93762335
+ loopString = _captureCollector_93762335.response().getvalue()
+ del _orig_trans_93762335
+ del _captureCollector_93762335
+ del _wasBuffering_93762335
_v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 74, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 74, col 1.
#
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
index 2c5cf5a..cd88047 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.674705
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.224607
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py b/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
index 4576ddd..5c5991c 100644
--- a/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
@@ -34,9 +34,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.716011
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.353014
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sun Feb 12 20:15:16 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -104,12 +104,12 @@ const real _old_volume = (''')
write(u''' * _old_step);
''')
- ## START CAPTURE REGION: _61651395 loopString at line 39, col 3 in the source.
- _orig_trans_61651395 = trans
- _wasBuffering_61651395 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _70323152 loopString at line 39, col 3 in the source.
+ _orig_trans_70323152 = trans
+ _wasBuffering_70323152 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_61651395 = DummyTransaction()
- write = _captureCollector_61651395.response().write
+ trans = _captureCollector_70323152 = DummyTransaction()
+ write = _captureCollector_70323152.response().write
nonUniformDimReps = noiseVector.nonUniformDimReps
if nonUniformDimReps: # generated from line 41, col 5
volumeFixup = ' * '.join('%s * (%s)' % (dimRep.stepSize, dimRep.volumePrefactor) for dimRep in nonUniformDimReps)
@@ -138,13 +138,13 @@ const real _old_volume = (''')
if _v is not None: write(_filter(_v, rawExpr=u'${volumeFixup}')) # from line 50, col 172.
write(u'''));
''')
- trans = _orig_trans_61651395
+ trans = _orig_trans_70323152
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_61651395
- loopString = _captureCollector_61651395.response().getvalue()
- del _orig_trans_61651395
- del _captureCollector_61651395
- del _wasBuffering_61651395
+ self._CHEETAH__isBuffering = _wasBuffering_70323152
+ loopString = _captureCollector_70323152.response().getvalue()
+ del _orig_trans_70323152
+ del _captureCollector_70323152
+ del _wasBuffering_70323152
_v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 53, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 53, col 1.
write(u'''
@@ -193,12 +193,12 @@ const real _old_volume = (''')
write(u''';
const real _var = 1.0 / _dVdt;
''')
- ## START CAPTURE REGION: _94572973 loopString at line 74, col 3 in the source.
- _orig_trans_94572973 = trans
- _wasBuffering_94572973 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _91311549 loopString at line 74, col 3 in the source.
+ _orig_trans_91311549 = trans
+ _wasBuffering_91311549 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_94572973 = DummyTransaction()
- write = _captureCollector_94572973.response().write
+ trans = _captureCollector_91311549 = DummyTransaction()
+ write = _captureCollector_91311549.response().write
nonUniformDimReps = noiseVector.nonUniformDimReps
if nonUniformDimReps: # generated from line 76, col 5
volumeFixup = ' * '.join('%s * (%s)' % (dimRep.stepSize, dimRep.volumePrefactor) for dimRep in nonUniformDimReps)
@@ -224,13 +224,13 @@ const real _var = 1.0 / _dVdt;
if _v is not None: write(_filter(_v, rawExpr=u'${volumeFixup}')) # from line 85, col 84.
write(u''');
''')
- trans = _orig_trans_94572973
+ trans = _orig_trans_91311549
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_94572973
- loopString = _captureCollector_94572973.response().getvalue()
- del _orig_trans_94572973
- del _captureCollector_94572973
- del _wasBuffering_94572973
+ self._CHEETAH__isBuffering = _wasBuffering_91311549
+ loopString = _captureCollector_91311549.response().getvalue()
+ del _orig_trans_91311549
+ del _captureCollector_91311549
+ del _wasBuffering_91311549
_v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 88, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 88, col 1.
#
diff --git a/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py b/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
index f3ca08a..b927de3 100644
--- a/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.680749
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1412976196.24159
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/ComputedVector.py b/xpdeint/Vectors/ComputedVector.py
index 496f309..03741f1 100644
--- a/xpdeint/Vectors/ComputedVector.py
+++ b/xpdeint/Vectors/ComputedVector.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.738457
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/ComputedVector.tmpl'
+__CHEETAH_genTime__ = 1412976196.310637
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/ComputedVector.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/NoiseVector.py b/xpdeint/Vectors/NoiseVector.py
index d390312..7b99567 100644
--- a/xpdeint/Vectors/NoiseVector.py
+++ b/xpdeint/Vectors/NoiseVector.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.752721
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/NoiseVector.tmpl'
+__CHEETAH_genTime__ = 1412976196.334202
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/NoiseVector.tmpl'
__CHEETAH_srcLastModified__ = 'Sat Feb 4 18:39:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/VectorElement.py b/xpdeint/Vectors/VectorElement.py
index eacee52..af3b679 100644
--- a/xpdeint/Vectors/VectorElement.py
+++ b/xpdeint/Vectors/VectorElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.772626
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/VectorElement.tmpl'
+__CHEETAH_genTime__ = 1412976196.376043
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorElement.tmpl'
__CHEETAH_srcLastModified__ = 'Fri May 25 16:30:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
@@ -495,12 +495,12 @@ _active_''')
modFunction = 'abs'
else: # generated from line 134, col 3
modFunction = 'mod2'
- ## START CAPTURE REGION: _63484580 loopContents at line 137, col 3 in the source.
- _orig_trans_63484580 = trans
- _wasBuffering_63484580 = self._CHEETAH__isBuffering
+ ## START CAPTURE REGION: _36346984 loopContents at line 137, col 3 in the source.
+ _orig_trans_36346984 = trans
+ _wasBuffering_36346984 = self._CHEETAH__isBuffering
self._CHEETAH__isBuffering = True
- trans = _captureCollector_63484580 = DummyTransaction()
- write = _captureCollector_63484580.response().write
+ trans = _captureCollector_36346984 = DummyTransaction()
+ write = _captureCollector_36346984.response().write
write(u'''real _current_size = ''')
_v = VFFSL(SL,"modFunction",True) # u'${modFunction}' on line 138, col 22
if _v is not None: write(_filter(_v, rawExpr=u'${modFunction}')) # from line 138, col 22.
@@ -514,13 +514,13 @@ if (_current_size > ''')
if _v is not None: write(_filter(_v, rawExpr=u'${variableName}')) # from line 140, col 3.
write(u''' = _current_size;
''')
- trans = _orig_trans_63484580
+ trans = _orig_trans_36346984
write = trans.response().write
- self._CHEETAH__isBuffering = _wasBuffering_63484580
- loopContents = _captureCollector_63484580.response().getvalue()
- del _orig_trans_63484580
- del _captureCollector_63484580
- del _wasBuffering_63484580
+ self._CHEETAH__isBuffering = _wasBuffering_36346984
+ loopContents = _captureCollector_36346984.response().getvalue()
+ del _orig_trans_36346984
+ del _captureCollector_36346984
+ del _wasBuffering_36346984
_v = VFFSL(SL,"loopOverVectorsWithInnerContentTemplate",False)([self], loopContents, basis = basis) # u'${loopOverVectorsWithInnerContentTemplate([self], loopContents, basis = basis)}' on line 142, col 1
if _v is not None: write(_filter(_v, rawExpr=u'${loopOverVectorsWithInnerContentTemplate([self], loopContents, basis = basis)}')) # from line 142, col 1.
if VFFSL(SL,"type",True) == 'complex': # generated from line 143, col 3
diff --git a/xpdeint/Vectors/VectorInitialisation.py b/xpdeint/Vectors/VectorInitialisation.py
index 71352b2..90215d6 100644
--- a/xpdeint/Vectors/VectorInitialisation.py
+++ b/xpdeint/Vectors/VectorInitialisation.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.793108
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/VectorInitialisation.tmpl'
+__CHEETAH_genTime__ = 1412976196.35927
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisation.tmpl'
__CHEETAH_srcLastModified__ = 'Fri May 25 16:30:07 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/VectorInitialisationFromCDATA.py b/xpdeint/Vectors/VectorInitialisationFromCDATA.py
index 23472b3..3862ec9 100644
--- a/xpdeint/Vectors/VectorInitialisationFromCDATA.py
+++ b/xpdeint/Vectors/VectorInitialisationFromCDATA.py
@@ -33,9 +33,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.782253
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/VectorInitialisationFromCDATA.tmpl'
+__CHEETAH_genTime__ = 1412976196.404291
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromCDATA.tmpl'
__CHEETAH_srcLastModified__ = 'Fri May 25 16:17:13 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/VectorInitialisationFromHDF5.py b/xpdeint/Vectors/VectorInitialisationFromHDF5.py
index 4ac0f3a..1b5be97 100644
--- a/xpdeint/Vectors/VectorInitialisationFromHDF5.py
+++ b/xpdeint/Vectors/VectorInitialisationFromHDF5.py
@@ -35,9 +35,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.893348
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/Vectors/VectorInitialisationFromHDF5.tmpl'
+__CHEETAH_genTime__ = 1412976196.557409
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromHDF5.tmpl'
__CHEETAH_srcLastModified__ = 'Fri May 25 16:17:13 2012'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/Vectors/VectorInitialisationFromXSIL.py b/xpdeint/Vectors/VectorInitialisationFromXSIL.py
new file mode 100644
index 0000000..7f988f3
--- /dev/null
+++ b/xpdeint/Vectors/VectorInitialisationFromXSIL.py
@@ -0,0 +1,1024 @@
+#!/usr/bin/env python
+
+
+
+
+##################################################
+## DEPENDENCIES
+import sys
+import os
+import os.path
+try:
+ import builtins as builtin
+except ImportError:
+ import __builtin__ as builtin
+from os.path import getmtime, exists
+import time
+import types
+from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
+from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
+from Cheetah.Template import Template
+from Cheetah.DummyTransaction import *
+from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
+from Cheetah.CacheRegion import CacheRegion
+import Cheetah.Filters as Filters
+import Cheetah.ErrorCatchers as ErrorCatchers
+from xpdeint.Vectors.VectorInitialisation import VectorInitialisation
+from xpdeint.CallOnceGuards import callOnceGuard
+from xpdeint.Geometry.UniformDimensionRepresentation import UniformDimensionRepresentation
+from xpdeint.Geometry.SplitUniformDimensionRepresentation import SplitUniformDimensionRepresentation
+
+##################################################
+## MODULE CONSTANTS
+VFFSL=valueFromFrameOrSearchList
+VFSL=valueFromSearchList
+VFN=valueForName
+currentTime=time.time
+__CHEETAH_version__ = '2.4.4'
+__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
+__CHEETAH_genTime__ = 1412976196.588244
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromXSIL.tmpl'
+__CHEETAH_srcLastModified__ = 'Tue Sep 30 14:42:51 2014'
+__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
+
+if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
+ raise AssertionError(
+ 'This template was compiled with Cheetah version'
+ ' %s. Templates compiled before version %s must be recompiled.'%(
+ __CHEETAH_version__, RequiredCheetahVersion))
+
+##################################################
+## CLASSES
+
+class VectorInitialisationFromXSIL(VectorInitialisation):
+
+ ##################################################
+ ## CHEETAH GENERATED METHODS
+
+
+ def __init__(self, *args, **KWs):
+
+ super(VectorInitialisationFromXSIL, self).__init__(*args, **KWs)
+ if not self._CHEETAH__instanceInitialized:
+ cheetahKWArgs = {}
+ allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
+ for k,v in KWs.items():
+ if k in allowedKWs: cheetahKWArgs[k] = v
+ self._initCheetahInstance(**cheetahKWArgs)
+
+
+ def description(self, **KWS):
+
+
+
+ ## Generated from @def description: Vector initialisation from an XSIL file at line 30, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ write(u'''Vector initialisation from an XSIL file''')
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ @callOnceGuard
+ def static_functionPrototypes(self, **KWS):
+
+
+
+ ## CHEETAH: generated from @def static_functionPrototypes at line 33, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ _v = super(VectorInitialisationFromXSIL, self).static_functionPrototypes()
+ if _v is not None: write(_filter(_v))
+ #
+ write(u'''static inline uint32_t XMDSSwapInt32(uint32_t __arg);
+static inline uint64_t XMDSSwapInt64(uint64_t __arg);
+static inline float XMDSSwapFloat(float __in);
+static inline double XMDSSwapDouble(double __in);
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ @callOnceGuard
+ def globals(self, **KWS):
+
+
+
+ ## CHEETAH: generated from @def globals at line 45, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ _v = super(VectorInitialisationFromXSIL, self).globals()
+ if _v is not None: write(_filter(_v))
+ #
+ write(u'''// This stuff is here because libxmds requires it.
+// That is because we need the XML parser in order to be able
+// to load XSIL files to initialise fields
+bool debugFlag = false;
+bool xmlDebugFlag = false;
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ @callOnceGuard
+ def static_functionImplementations(self, **KWS):
+
+
+
+ ## CHEETAH: generated from @def static_functionImplementations at line 57, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ _v = super(VectorInitialisationFromXSIL, self).static_functionImplementations()
+ if _v is not None: write(_filter(_v))
+ #
+ write(u'''
+static inline uint32_t XMDSSwapInt32(uint32_t __arg)
+{
+ union {
+ uint8_t ui8[4];
+ uint32_t ui32;
+ } a, b;
+ a.ui32 = __arg;
+ b.ui8[0] = a.ui8[3];
+ b.ui8[1] = a.ui8[2];
+ b.ui8[2] = a.ui8[1];
+ b.ui8[3] = a.ui8[0];
+ return b.ui32;
+}
+
+static inline uint64_t XMDSSwapInt64(uint64_t __arg)
+{
+ union {
+ uint32_t ui32[2];
+ uint64_t ui64;
+ } a, b;
+ a.ui64 = __arg;
+ b.ui32[0] = XMDSSwapInt32(a.ui32[1]);
+ b.ui32[1] = XMDSSwapInt32(a.ui32[0]);
+ return b.ui64;
+}
+
+static inline float XMDSSwapFloat(float __arg)
+{
+ union {
+ uint32_t ui32;
+ float f;
+ } a;
+ a.f = __arg;
+ a.ui32 = XMDSSwapInt32(a.ui32);
+ return a.f;
+}
+
+static inline double XMDSSwapDouble(double __arg)
+{
+ union {
+ uint64_t ui64;
+ double d;
+ } a;
+ a.d = __arg;
+ a.ui64 = XMDSSwapInt64(a.ui64);
+ return a.d;
+}
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ def initialiseVector(self, **KWS):
+
+
+
+ ## CHEETAH: generated from @def initialiseVector at line 116, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ initialisationCodeBlock = VFFSL(SL,"codeBlocks",True)['initialisation']
+ write(u'''// XSIL initialisation has three stages.
+// 1. Initialise the vector to zero.
+// 2. Execute any CDATA code if there is any.
+// 3. Read data from the XSIL file.
+
+{
+ // Stage 1 of initialisation
+ bzero(_active_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 126, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 126, col 17.
+ write(u''', sizeof(''')
+ _v = VFFSL(SL,"vector.type",True) # u'${vector.type}' on line 126, col 38
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.type}')) # from line 126, col 38.
+ write(u''') * ''')
+ _v = VFFSL(SL,"vector.allocSize",True) # u'${vector.allocSize}' on line 126, col 56
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.allocSize}')) # from line 126, col 56.
+ write(u''');
+''')
+ if VFN(VFFSL(SL,"initialisationCodeBlock.codeString",True),"isspace",False)(): # generated from line 127, col 3
+ write(u''' // There is no stage 2
+''')
+ else: # generated from line 129, col 3
+ vectorOverrides = []
+ if VFFSL(SL,"vector.integratingComponents",True): # generated from line 131, col 5
+ vectorOverrides.append(VFFSL(SL,"vector",True))
+ write(u''' // Stage 2 of initialisation
+ ''')
+ _v = VFN(VFFSL(SL,"initialisationCodeBlock",True),"loop",False)(self.insideInitialisationLoops, vectorOverrides=vectorOverrides) # u'${initialisationCodeBlock.loop(self.insideInitialisationLoops, vectorOverrides=vectorOverrides), autoIndent=True}' on line 135, col 3
+ if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${initialisationCodeBlock.loop(self.insideInitialisationLoops, vectorOverrides=vectorOverrides), autoIndent=True}')) # from line 135, col 3.
+ write(u'''}
+
+char **_dimNames = new char* [_''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 139, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 139, col 33.
+ write(u'''_ndims];
+double *_dimDelta = new double[_''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 140, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 140, col 33.
+ write(u'''_ndims];
+double *_dimMin = new double[_''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 141, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 141, col 33.
+ write(u'''_ndims];
+unsigned long *_dimLattice = new unsigned long[_''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 142, col 49
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 142, col 49.
+ write(u'''_ndims];
+
+''')
+ for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 144, col 3
+ dimRep = dimension.inBasis(VFFSL(SL,"vector.initialBasis",True))
+ write(u'''_dimNames[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 146, col 11
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 146, col 11.
+ write(u'''] = "''')
+ _v = VFFSL(SL,"dimRep.name",True) # u'${dimRep.name}' on line 146, col 34
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.name}')) # from line 146, col 34.
+ write(u'''";
+_dimDelta[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 147, col 11
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 147, col 11.
+ write(u'''] = ''')
+ _v = VFFSL(SL,"dimRep.stepSize",True) # u'${dimRep.stepSize}' on line 147, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.stepSize}')) # from line 147, col 33.
+ write(u''';
+_dimMin[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 148, col 9
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 148, col 9.
+ write(u'''] = ''')
+ _v = VFFSL(SL,"dimRep.minimum",True) # u'${dimRep.minimum}' on line 148, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.minimum}')) # from line 148, col 33.
+ write(u''';
+_dimLattice[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 149, col 13
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 149, col 13.
+ write(u'''] = ''')
+ _v = VFFSL(SL,"dimRep.globalLattice",True) # u'${dimRep.globalLattice}' on line 149, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.globalLattice}')) # from line 149, col 33.
+ write(u''';
+
+''')
+ #
+ componentNameSizePrefix = ''
+ if VFFSL(SL,"vector.type",True) == 'complex': # generated from line 154, col 3
+ componentNameSizePrefix = '2 * '
+ write(u'''char **_componentNames = new char*[''')
+ _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 157, col 36
+ if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 157, col 36.
+ write(u'''_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 157, col 63
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 157, col 63.
+ write(u'''_ncomponents + 1];
+int *_componentFieldIndices = new int[''')
+ _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 158, col 39
+ if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 158, col 39.
+ write(u'''_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 158, col 66
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 158, col 66.
+ write(u'''_ncomponents];
+
+''')
+ componentNameIndex = 0
+ for component in VFFSL(SL,"vector.components",True): # generated from line 161, col 3
+ write(u'''_componentNames[''')
+ _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 162, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 162, col 17.
+ write(u'''] = "''')
+ _v = VFFSL(SL,"component",True) # u'${component}' on line 162, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${component}')) # from line 162, col 41.
+ write(u'''R";
+''')
+ componentNameIndex += 1
+ #
+ if VFFSL(SL,"vector.type",True) == 'complex': # generated from line 165, col 5
+ write(u'''_componentNames[''')
+ _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 166, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 166, col 17.
+ write(u'''] = "''')
+ _v = VFFSL(SL,"component",True) # u'${component}' on line 166, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${component}')) # from line 166, col 41.
+ write(u'''I";
+''')
+ componentNameIndex += 1
+ write(u'''
+''')
+ write(u'''_componentNames[''')
+ _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 171, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 171, col 17.
+ write(u'''] = NULL;
+
+char *_binaryDataFilename;
+int _unsignedLongSize;
+bool _dataEncodingIsNative;
+bool _isPrecisionDouble;
+unsigned long _nDataComponents;
+unsigned long *_inputLattice;
+int *_componentInputIndices;
+
+if (!initialiseFieldFromXSILFile("''')
+ _v = VFFSL(SL,"filename",True) # u'${filename}' on line 181, col 35
+ if _v is not None: write(_filter(_v, rawExpr=u'${filename}')) # from line 181, col 35.
+ write(u'''", "''')
+ _v = VFFSL(SL,"momentGroupName",True) # u'${momentGroupName}' on line 181, col 50
+ if _v is not None: write(_filter(_v, rawExpr=u'${momentGroupName}')) # from line 181, col 50.
+ write(u'''", _''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 181, col 72
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 181, col 72.
+ write(u'''_ndims, _dimNames, _componentNames,
+ // output variables
+ &_binaryDataFilename, &_unsignedLongSize, &_dataEncodingIsNative, &_isPrecisionDouble,
+ &_nDataComponents, &_inputLattice, &_componentInputIndices))
+ _LOG(_ERROR_LOG_LEVEL, "Unable to load data from ''')
+ _v = VFFSL(SL,"filename",True) # u'${filename}' on line 185, col 52
+ if _v is not None: write(_filter(_v, rawExpr=u'${filename}')) # from line 185, col 52.
+ write(u'''\\nExiting.\\n");
+
+FILE *_inputFile = fopen(_binaryDataFilename, "rb");
+if (_inputFile == NULL)
+ _LOG(_ERROR_LOG_LEVEL, "Unable to open binary input file %s\\n", _binaryDataFilename);
+
+typedef union {
+ float *_floatPtr;
+ double *_doublePtr;
+} _GenericRealNumberPtr;
+
+typedef union {
+ unsigned long _ulong;
+ uint32_t _uint32;
+ uint64_t _uint64;
+} _GenericUnsignedLong;
+
+_GenericUnsignedLong _size;
+_GenericRealNumberPtr *_inputData = new _GenericRealNumberPtr[_''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 203, col 64
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 203, col 64.
+ write(u'''_ndims];
+
+// loop over the dimensions in the binary file
+for (int __i = 0; __i < _''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 206, col 26
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 206, col 26.
+ write(u'''_ndims; __i++) {
+ uint64_t _sizeValue;
+ switch(_unsignedLongSize) {
+''')
+ for unsignedLongSize, unionElement, typeName, swapFunctionName in [('0', '_ulong', 'unsigned long', 'XMDSSwapInt32'), ('4', '_uint32', 'uint32_t', 'XMDSSwapInt32'), ('8', '_uint64', 'uint64_t', 'XMDSSwapInt64')]: # generated from line 209, col 3
+ write(u''' case ''')
+ _v = VFFSL(SL,"unsignedLongSize",True) # u'${unsignedLongSize}' on line 212, col 10
+ if _v is not None: write(_filter(_v, rawExpr=u'${unsignedLongSize}')) # from line 212, col 10.
+ write(u''':
+ fread(&_size.''')
+ _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 213, col 20
+ if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 213, col 20.
+ write(u''', sizeof(''')
+ _v = VFFSL(SL,"typeName",True) # u'${typeName}' on line 213, col 44
+ if _v is not None: write(_filter(_v, rawExpr=u'${typeName}')) # from line 213, col 44.
+ write(u'''), 1, _inputFile);
+ if (_dataEncodingIsNative)
+ _sizeValue = _size.''')
+ _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 215, col 28
+ if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 215, col 28.
+ write(u''';
+ else
+ _sizeValue = ''')
+ _v = VFFSL(SL,"swapFunctionName",True) # u'${swapFunctionName}' on line 217, col 22
+ if _v is not None: write(_filter(_v, rawExpr=u'${swapFunctionName}')) # from line 217, col 22.
+ write(u'''(_size.''')
+ _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 217, col 48
+ if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 217, col 48.
+ write(u''');
+ _unsignedLongSize = sizeof(''')
+ _v = VFFSL(SL,"typeName",True) # u'${typeName}' on line 218, col 34
+ if _v is not None: write(_filter(_v, rawExpr=u'${typeName}')) # from line 218, col 34.
+ write(u''');
+ break;
+
+''')
+ write(u''' default:
+ _LOG(_ERROR_LOG_LEVEL, "Unexpected unsigned long size in input XSIL file. Was expecting \'4\' or \'8\', instead got \'%i\'\\n", _unsignedLongSize);
+ }
+
+ // Read in the data (in either single or double precision)
+ if (_isPrecisionDouble) {
+ _inputData[__i]._doublePtr = new double[_sizeValue];
+ fread(_inputData[__i]._doublePtr, sizeof(double), _sizeValue, _inputFile);
+ if (!_dataEncodingIsNative) {
+ for (unsigned int __j = 0; __j < _sizeValue; __j++)
+ _inputData[__i]._doublePtr[__j] = XMDSSwapDouble(_inputData[__i]._doublePtr[__j]);
+ }
+ } else {
+ _inputData[__i]._floatPtr = new float[_sizeValue];
+ fread(_inputData[__i]._floatPtr, sizeof(float), _sizeValue, _inputFile);
+ if (!_dataEncodingIsNative) {
+ for (unsigned int __j = 0; __j < _sizeValue; __j++)
+ _inputData[__i]._floatPtr[__j] = XMDSSwapFloat(_inputData[__i]._floatPtr[__j]);
+ }
+ }
+
+ double _difference;
+ if (_isPrecisionDouble)
+ _difference = _inputData[__i]._doublePtr[1] - _inputData[__i]._doublePtr[0];
+ else
+ _difference = _inputData[__i]._floatPtr[1] - _inputData[__i]._floatPtr[0];
+
+ // Assert that the deltas are the same to within 1%
+ if (abs(_dimDelta[__i] - _difference) > 0.01 * _dimDelta[__i])
+ // _LOG will cause the simulation to exit
+ _LOG(_ERROR_LOG_LEVEL, "The step size in the \'%s\' dimension of the input data and the simulation grid do not match.\\n"
+ "The step size in the \'%s\' dimension was %e, while the input data had a step size of %e.\\n",
+ _dimNames[__i], _dimNames[__i], _dimDelta[__i], _difference);
+''')
+ #
+ if VFFSL(SL,"geometryMatchingMode",True) == 'strict': # generated from line 256, col 3
+ write(u'''
+ // STRICT MODE: assert that the start point is the same to within 10% of one delta,
+ // and that the number of lattice points is the same.
+ double _start;
+ if (_isPrecisionDouble)
+ _start = _inputData[__i]._doublePtr[0];
+ else
+ _start = _inputData[__i]._floatPtr[0];
+
+ if (abs(_dimMin[__i] - _start) > 0.1*_dimDelta[__i])
+ // _LOG will cause the simulation to exit
+ _LOG(_ERROR_LOG_LEVEL, "Geometry matching mode is strict, so the starting coordinate of each dimension in the field\\n"
+ "must be the same as in the input grid.\\n"
+ "The problem is with dimension \'%s\'.\\n", _dimNames[__i]);
+
+ if (_dimLattice[__i] != _inputLattice[__i])
+ // _LOG will cause the simulation to exit
+ _LOG(_ERROR_LOG_LEVEL, "Geometry matching mode is strict, so the number of lattice points in each dimension of the field\\n"
+ "must be the same as in the input grid.\\n"
+ "The problem is with dimension \'%s\'.\\n", _dimNames[__i]);
+''')
+ write(u'''}
+
+long _binaryFileBaseOffset = ftell(_inputFile);
+long _realNumberSize = _isPrecisionDouble ? sizeof(double) : sizeof(float);
+off_t _vectorFieldSize = _unsignedLongSize + _realNumberSize''')
+ _v = ''.join([''.join([u' * _inputLattice[',str(VFFSL(SL,"i",True)),u']']) for i in range(len(VFFSL(SL,"vector.field.dimensions",True)))]) # u"${''.join([c' * _inputLattice[$i]' for i in range(len($vector.field.dimensions))])}" on line 282, col 61
+ if _v is not None: write(_filter(_v, rawExpr=u"${''.join([c' * _inputLattice[$i]' for i in range(len($vector.field.dimensions))])}")) # from line 282, col 61.
+ write(u''';
+
+// Create minimum value variables for dimensions not in fourier space
+''')
+ for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 285, col 3
+ write(u'''double _inputfield_min_''')
+ _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 286, col 24
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 286, col 24.
+ write(u''';
+if (_isPrecisionDouble)
+ _inputfield_min_''')
+ _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 288, col 19
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 288, col 19.
+ write(u''' = _inputData[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 288, col 50
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 288, col 50.
+ write(u''']._doublePtr[0];
+else
+ _inputfield_min_''')
+ _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 290, col 19
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 290, col 19.
+ write(u''' = _inputData[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 290, col 50
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 290, col 50.
+ write(u''']._floatPtr[0];
+''')
+ write(u'''
+''')
+ if len(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 293, col 3
+ write(u'''// Create inputfield index variables
+long ''')
+ _v = ', '.join([''.join([u'_inputfield',str(VFN(VFN(VFFSL(SL,"dim",True),"inBasis",False)(VFFSL(SL,"vector.initialBasis",True)),"loopIndex",True))]) for dim in VFFSL(SL,"vector.field.dimensions",True)]) # u"${', '.join([c'_inputfield${dim.inBasis($vector.initialBasis).loopIndex}' for dim in $vector.field.dimensions])}" on line 295, col 6
+ if _v is not None: write(_filter(_v, rawExpr=u"${', '.join([c'_inputfield${dim.inBasis($vector.initialBasis).loopIndex}' for dim in $vector.field.dimensions])}")) # from line 295, col 6.
+ write(u''';
+''')
+ write(u'''
+// Index pointer into the input array (new and old)
+off_t _inputfield_index_pointer, _inputfield_old_index_pointer;
+for (unsigned int _component = 0; _component < ''')
+ _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 300, col 48
+ if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 300, col 48.
+ write(u'''_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 300, col 75
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 300, col 75.
+ write(u"""_ncomponents; _component++) {
+ if (_componentInputIndices[_component] == -1)
+ // This just means that this component doesn't exist in the XSIL file
+ continue;
+ _inputfield_index_pointer = -42; // Just so that we always seek the first time
+
+""")
+ loopingVectors = VFN(VFFSL(SL,"initialisationCodeBlock.dependencies",True),"copy",False)()
+ loopingVectors.add(VFFSL(SL,"vector",True))
+ write(u'''
+ ''')
+ _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(VFFSL(SL,"initialisationCodeBlock.field",True),
+ VFFSL(SL,"initialisationCodeBlock.basis",True),
+ VFFSL(SL,"loopingVectors",True),
+ VFFSL(SL,"insideDataLoops",True))
+ if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent($initialisationCodeBlock.field,\n $initialisationCodeBlock.basis,\n $loopingVectors,\n $insideDataLoops), autoIndent=True}')) # from line 309, col 3.
+ write(u'''
+} // end the loop over components
+
+fclose(_inputFile);
+delete [] _dimNames;
+delete [] _componentNames;
+free(_binaryDataFilename);
+delete [] _inputLattice;
+delete [] _componentInputIndices;
+for (int __i = 0; __i < _''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 322, col 26
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 322, col 26.
+ write(u'''_ndims; __i++) {
+ if (_isPrecisionDouble)
+ delete [] _inputData[__i]._doublePtr;
+ else
+ delete [] _inputData[__i]._floatPtr;
+}
+delete [] _inputData;
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ def insideInitialisationLoops(self, codeString, **KWS):
+
+
+
+ ## CHEETAH: generated from @def insideInitialisationLoops($codeString) at line 332, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ write(u"""// Stage 2 of initialisation
+
+// The purpose of the following define is to give a (somewhat helpful) compile-time error
+// if the user has attempted to use the propagation dimension variable in the initialisation
+// block of a <vector> element. If they're trying to do this, what they really want is a
+// <computed_vector> instead.
+#define """)
+ _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 340, col 9
+ if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 340, col 9.
+ write(u''' Dont_use_propagation_dimension_''')
+ _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 340, col 64
+ if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 340, col 64.
+ write(u'''_in_vector_element_CDATA_block___Use_a_computed_vector_instead
+
+// ********** Initialisation code ***************
+''')
+ _v = VFFSL(SL,"codeString",True) # u'${codeString}' on line 343, col 1
+ if _v is not None: write(_filter(_v, rawExpr=u'${codeString}')) # from line 343, col 1.
+ write(u'''// **********************************************
+#undef ''')
+ _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 345, col 8
+ if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 345, col 8.
+ write(u'''
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ def insideDataLoops(self, **KWS):
+
+
+
+ ## CHEETAH: generated from @def insideDataLoops at line 349, col 1.
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ basis = VFFSL(SL,"vector.initialBasis",True)
+ write(u'''// Save the old initialisation pointer, and clear the new one
+_inputfield_old_index_pointer = _inputfield_index_pointer;
+_inputfield_index_pointer = 0;
+
+''')
+ for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 356, col 3
+ dimRep = dimension.inBasis(basis)
+ dimName = dimRep.name
+ write(u'''_inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 359, col 12
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 359, col 12.
+ write(u''' = ''')
+ # FIXME: Consider moving this to the dimension representations
+ if isinstance(dimRep, UniformDimensionRepresentation): # generated from line 361, col 5
+ write(u'''lround((''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 362, col 9
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 362, col 9.
+ write(u''' - _inputfield_min_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 362, col 38
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 362, col 38.
+ write(u''')/_dimDelta[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 362, col 60
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 362, col 60.
+ write(u''']);
+''')
+ elif isinstance(dimRep, SplitUniformDimensionRepresentation): # generated from line 363, col 5
+ write(u'''lround(''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 364, col 8
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 364, col 8.
+ write(u'''/_dimDelta[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 364, col 29
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 364, col 29.
+ write(u''']) + (_inputLattice[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 364, col 67
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 364, col 67.
+ write(u''']/2);
+''')
+ else: # generated from line 365, col 5
+ assert False, "XSIL Loading does not support loading data for dimensions that aren't uniformly spaced. The problem is with %s" % dimName
+ write(u'''
+// Check if the input grid has this coordinate value
+if (_inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 370, col 16
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 370, col 16.
+ write(u''' < 0 || _inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 370, col 54
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 370, col 54.
+ write(u''' >= _inputLattice[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 370, col 91
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 370, col 91.
+ write(u"""])
+ // The input grid doesn't cover this point.
+ goto _ENDLOOP;
+
+// check that the input coordinate matches up with a field coordinate
+{
+ double _inputfield_""")
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 376, col 22
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 376, col 22.
+ write(u''';
+ if (_isPrecisionDouble)
+ _inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 378, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 378, col 17.
+ write(u''' = _inputData[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 378, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 378, col 41.
+ write(u''']._doublePtr[_inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 378, col 83
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 378, col 83.
+ write(u'''];
+ else
+ _inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 380, col 17
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 380, col 17.
+ write(u''' = _inputData[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 380, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 380, col 41.
+ write(u''']._floatPtr[_inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 380, col 82
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 380, col 82.
+ write(u'''];
+
+ if (abs(_inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 382, col 23
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 382, col 23.
+ write(u''' - ''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 382, col 36
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 382, col 36.
+ write(u''') > 0.1*_dimDelta[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 382, col 64
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 382, col 64.
+ write(u'''])
+ // This only happens if your input field grid does not exactly match up with the simulation grid.
+ // _LOG will cause the simulation to exit
+''')
+ dimRepTypeFormat = {'real': 'e', 'long': 'li'}[dimRep.type]
+ write(u''' _LOG(_ERROR_LOG_LEVEL, "The input field coordinate in the \'''')
+ _v = VFFSL(SL,"dimName",True) # u'$dimName' on line 386, col 64
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimName')) # from line 386, col 64.
+ write(u'''\' dimension does not match up with the field coordinate.\\n"
+ "''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 387, col 29
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 387, col 29.
+ write(u''': %li, ''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 387, col 55
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 387, col 55.
+ write(u''': %''')
+ _v = VFFSL(SL,"dimRepTypeFormat",True) # u'${dimRepTypeFormat}' on line 387, col 68
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRepTypeFormat}')) # from line 387, col 68.
+ write(u''', _inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 387, col 100
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 387, col 100.
+ write(u''': %li, "
+ "_inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 388, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 388, col 41.
+ write(u''': %e, d''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 388, col 58
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 388, col 58.
+ write(u''': %e, diff/Delta: %e\\n",
+ ''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 389, col 28
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 389, col 28.
+ write(u''', ''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 389, col 49
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 389, col 49.
+ write(u''', _inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 389, col 72
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 389, col 72.
+ write(u''',
+ _inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 40
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 40.
+ write(u''', (real)d''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 59
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 59.
+ write(u''', abs(_inputfield_''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 87
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 87.
+ write(u''' - ''')
+ _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 100
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 100.
+ write(u''')/_dimDelta[''')
+ _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 390, col 122
+ if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 390, col 122.
+ write(u''']);
+}
+
+_inputfield_index_pointer += _inputfield''')
+ _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 393, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 393, col 41.
+ _v = ''.join([''.join([u' * _inputLattice[',str(VFFSL(SL,"i",True)),u']']) for i in range(dimensionNumber + 1, len(VFFSL(SL,"vector.field.dimensions",True)))]) # u"${''.join([c' * _inputLattice[$i]' for i in range(dimensionNumber + 1, len($vector.field.dimensions))])}" on line 393, col 60
+ if _v is not None: write(_filter(_v, rawExpr=u"${''.join([c' * _inputLattice[$i]' for i in range(dimensionNumber + 1, len($vector.field.dimensions))])}")) # from line 393, col 60.
+ write(u''';
+
+''')
+ write(u'''
+
+double _value;
+if (_inputfield_index_pointer != _inputfield_old_index_pointer + 1)
+ fseeko(_inputFile, _binaryFileBaseOffset + (_componentInputIndices[_component] - _''')
+ _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 400, col 85
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 400, col 85.
+ write(u'''_ndims) * _vectorFieldSize
+ + _unsignedLongSize + _inputfield_index_pointer * _realNumberSize, SEEK_SET);
+
+if (_isPrecisionDouble) {
+ fread(&_value, sizeof(double), 1, _inputFile);
+ if (!_dataEncodingIsNative)
+ _value = XMDSSwapDouble(_value);
+} else {
+ float _temp;
+ fread(&_temp, sizeof(float), 1, _inputFile);
+ if (!_dataEncodingIsNative)
+ _temp = XMDSSwapFloat(_temp);
+ _value = (double)_temp;
+}
+
+''')
+ if VFFSL(SL,"vector.type",True) == 'real': # generated from line 415, col 3
+ write(u'''_active_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 416, col 9
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 416, col 9.
+ write(u'''[_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 416, col 23
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 416, col 23.
+ write(u'''_index_pointer + _component] = (real)_value;
+''')
+ else: # generated from line 417, col 3
+ write(u'''reinterpret_cast<real*>(_active_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 418, col 33
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 418, col 33.
+ write(u''')[2*_''')
+ _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 418, col 50
+ if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 418, col 50.
+ write(u'''_index_pointer + _component] = (real)_value;
+''')
+ write(u'''
+_ENDLOOP:;
+''')
+ #
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+
+ def writeBody(self, **KWS):
+
+
+
+ ## CHEETAH: main method generated for this template
+ trans = KWS.get("trans")
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ #
+ # VectorInitialisationFromXSIL.tmpl
+ #
+ # Created by Graham Dennis on 2008-03-14.
+ #
+ # Copyright (c) 2008-2012, Graham Dennis
+ #
+ # This program is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation, either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # This program 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 General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+ write(u'''
+
+
+
+
+
+
+
+''')
+ #
+ # Initialise a vector
+ write(u'''
+
+
+''')
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+ ##################################################
+ ## CHEETAH GENERATED ATTRIBUTES
+
+
+ _CHEETAH__instanceInitialized = False
+
+ _CHEETAH_version = __CHEETAH_version__
+
+ _CHEETAH_versionTuple = __CHEETAH_versionTuple__
+
+ _CHEETAH_genTime = __CHEETAH_genTime__
+
+ _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
+
+ _CHEETAH_src = __CHEETAH_src__
+
+ _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
+
+ uselib = ['xmds']
+
+ _mainCheetahMethod_for_VectorInitialisationFromXSIL= 'writeBody'
+
+## END CLASS DEFINITION
+
+if not hasattr(VectorInitialisationFromXSIL, '_initCheetahAttributes'):
+ templateAPIClass = getattr(VectorInitialisationFromXSIL, '_CHEETAH_templateClass', Template)
+ templateAPIClass._addCheetahPlumbingCodeToClass(VectorInitialisationFromXSIL)
+
+
+# CHEETAH was developed by Tavis Rudd and Mike Orr
+# with code, advice and input from many other volunteers.
+# For more information visit http://www.CheetahTemplate.org/
+
+##################################################
+## if run from command line:
+if __name__ == '__main__':
+ from Cheetah.TemplateCmdLineIface import CmdLineIface
+ CmdLineIface(templateObj=VectorInitialisationFromXSIL()).run()
+
+
diff --git a/xpdeint/Version.py b/xpdeint/Version.py
index 97c66c6..e1b1fbe 100644
--- a/xpdeint/Version.py
+++ b/xpdeint/Version.py
@@ -1,4 +1,4 @@
#!/usr/bin/env python
# encoding: utf-8
"""This is generated by the makefile via the shell program \'version.sh\'"""
-subversionRevisionString ="r2961"
+subversionRevisionString ="r2966"
diff --git a/xpdeint/support/trang.jar b/xpdeint/support/trang.jar
new file mode 100755
index 0000000..a14cb9f
Binary files /dev/null and b/xpdeint/support/trang.jar differ
diff --git a/xpdeint/support/wscript b/xpdeint/support/wscript
index 584c18f..f81fa63 100755
--- a/xpdeint/support/wscript
+++ b/xpdeint/support/wscript
@@ -23,9 +23,9 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
-import os, sys, platform
+import os, sys, platform, re
-from waflib import Task, TaskGen
+from waflib import Task, TaskGen, Errors
from waflib.TaskGen import feature
def options(opt):
@@ -117,15 +117,18 @@ def configure(conf):
uselib_store = KWs['uselib_store']
KWs['_skip'] = True
del KWs['uselib_store']
+ extra_static_kws = KWs.get("static_lib_extra_options", {})
+ extra_shared_kws = KWs.get("shared_lib_extra_options", {})
+
options = [
- {'stlib': lib, 'msg': "%s (static library)" % KWs['msg'], 'errmsg': "no (will try dynamic library instead)"},
- {'lib' : lib, 'msg': "%s (dynamic library)" % KWs['msg']},
+ dict(stlib=lib, msg=KWs['msg'] + " (static library)", errmsg="no (will try dynamic library instead)", **extra_static_kws),
+ dict(lib=lib, msg=KWs['msg'] + " (dynamic library)", **extra_shared_kws),
]
if not conf.env['STLIB_MARKER']:
options = [
# On systems like Mac OS X, it seems we can't force the linker to prefer static libraries over dynamic ones
# Except of course by including them by listing the full path.
- {'lib': lib}
+ dict(lib=lib, **extra_shared_kws),
]
if not 'errmsg' in KWs:
KWs['errmsg'] = "no (it's optional anyway)"
@@ -366,16 +369,56 @@ def configure(conf):
h5cc_shared_flags = conf.cmd_and_log([conf.env['H5CC'], '-show', '-shlib'])
h5cc_static_flags = conf.cmd_and_log([conf.env['H5CC'], '-show', '-noshlib'])
- conf.parse_flags(h5cc_shared_flags, 'hdf5', force_static = False)
- conf.parse_flags(h5cc_static_flags, 'hdf5', force_static = True)
+ hdf5_libpath = re.search(r'(\S*)/libhdf5\.a', h5cc_static_flags).group(1)
+
+ conf.env.append_unique("LIBPATH_hdf5", hdf5_libpath)
+
+ # h5cc uses absolute paths to the static libraries. This interferes with how waf likes to link
+ # against static libraries. Let's remove the absolute paths to the libraries, and add the static libraries
+ # again later.
+ h5cc_static_flags = re.sub(re.escape(hdf5_libpath) + r"/libhdf5\S*\.a", "", h5cc_static_flags)
+
+ conf.parse_flags(h5cc_shared_flags, 'hdf5_shared')
+ conf.parse_flags(h5cc_static_flags, 'hdf5_static')
+
+ conf.env['uselib'].extend(['hdf5_shared', 'hdf5_static'])
check_cxx(
- header_name=['hdf5.h'],
- defines='HAVE_H5LEXISTS',
- function_name='H5Lexists',
- uselib = 'hdf5',
- uselib_store = 'hdf5',
+ lib='hdf5',
+ header_name='hdf5.h',
+ function_name='H5check_version',
+ static_lib_extra_options = dict(uselib = 'hdf5_static'),
+ shared_lib_extra_options = dict(uselib = 'hdf5_shared'),
+ uselib_store='hdf5',
+ msg = "Checking for HDF5",
)
+
+ if 'hdf5' in conf.env['uselib']:
+ check_cxx(
+ lib='hdf5_hl',
+ defines='HAVE_HDF5_HL',
+ header_name=['hdf5.h', 'hdf5_hl.h'],
+ function_name='H5DSset_scale',
+ uselib_store='hdf5',
+ uselib='hdf5',
+ msg = "Checking for HDF5 High-level library",
+ )
+
+ # We need to ensure hdf5_hl appears *before* hdf5 for static compile order
+ if conf.env['STLIB_hdf5']:
+ hdf5_stlib = conf.env._get_list_value_for_modification('STLIB_hdf5')
+ if 'hdf5_hl' in hdf5_stlib:
+ hdf5_stlib.remove('hdf5_hl')
+ hdf5_stlib.insert(0, 'hdf5_hl')
+
+ check_cxx(
+ header_name='hdf5.h',
+ defines='HAVE_H5LEXISTS',
+ function_name='H5Lexists',
+ uselib = 'hdf5',
+ uselib_store = 'hdf5',
+ )
+
check_cxx(
lib='xmds',
@@ -397,8 +440,6 @@ def configure(conf):
msg = "Checking for Apple IOKit framework",
)
-
-
check_cxx(
lib=["iomp", "vml"],
header_name='mkl_vsl.h',
@@ -572,4 +613,5 @@ def configure(conf):
del conf.env["DEFINES"]
else:
print "MPI not found. No scripts using MPI can be compiled on this system."
-
+ conf.setenv('default')
+ del conf.all_envs['mpi']
diff --git a/xpdeint/waf/waflib/Build.pyc b/xpdeint/waf/waflib/Build.pyc
new file mode 100644
index 0000000..a295660
Binary files /dev/null and b/xpdeint/waf/waflib/Build.pyc differ
diff --git a/xpdeint/waf/waflib/ConfigSet.pyc b/xpdeint/waf/waflib/ConfigSet.pyc
new file mode 100644
index 0000000..271aab1
Binary files /dev/null and b/xpdeint/waf/waflib/ConfigSet.pyc differ
diff --git a/xpdeint/waf/waflib/Configure.pyc b/xpdeint/waf/waflib/Configure.pyc
new file mode 100644
index 0000000..1c6c509
Binary files /dev/null and b/xpdeint/waf/waflib/Configure.pyc differ
diff --git a/xpdeint/waf/waflib/Context.pyc b/xpdeint/waf/waflib/Context.pyc
new file mode 100644
index 0000000..b6e33e1
Binary files /dev/null and b/xpdeint/waf/waflib/Context.pyc differ
diff --git a/xpdeint/waf/waflib/Errors.pyc b/xpdeint/waf/waflib/Errors.pyc
new file mode 100644
index 0000000..e8be311
Binary files /dev/null and b/xpdeint/waf/waflib/Errors.pyc differ
diff --git a/xpdeint/waf/waflib/Logs.pyc b/xpdeint/waf/waflib/Logs.pyc
new file mode 100644
index 0000000..c2c5e86
Binary files /dev/null and b/xpdeint/waf/waflib/Logs.pyc differ
diff --git a/xpdeint/waf/waflib/Node.pyc b/xpdeint/waf/waflib/Node.pyc
new file mode 100644
index 0000000..1b1d115
Binary files /dev/null and b/xpdeint/waf/waflib/Node.pyc differ
diff --git a/xpdeint/waf/waflib/Options.pyc b/xpdeint/waf/waflib/Options.pyc
new file mode 100644
index 0000000..075e9ff
Binary files /dev/null and b/xpdeint/waf/waflib/Options.pyc differ
diff --git a/xpdeint/waf/waflib/Runner.pyc b/xpdeint/waf/waflib/Runner.pyc
new file mode 100644
index 0000000..17bf514
Binary files /dev/null and b/xpdeint/waf/waflib/Runner.pyc differ
diff --git a/xpdeint/waf/waflib/Scripting.pyc b/xpdeint/waf/waflib/Scripting.pyc
new file mode 100644
index 0000000..4087c61
Binary files /dev/null and b/xpdeint/waf/waflib/Scripting.pyc differ
diff --git a/xpdeint/waf/waflib/Task.pyc b/xpdeint/waf/waflib/Task.pyc
new file mode 100644
index 0000000..ac3b131
Binary files /dev/null and b/xpdeint/waf/waflib/Task.pyc differ
diff --git a/xpdeint/waf/waflib/TaskGen.pyc b/xpdeint/waf/waflib/TaskGen.pyc
new file mode 100644
index 0000000..12afd7f
Binary files /dev/null and b/xpdeint/waf/waflib/TaskGen.pyc differ
diff --git a/xpdeint/waf/waflib/Tools/__init__.pyc b/xpdeint/waf/waflib/Tools/__init__.pyc
new file mode 100644
index 0000000..6367e56
Binary files /dev/null and b/xpdeint/waf/waflib/Tools/__init__.pyc differ
diff --git a/xpdeint/waf/waflib/Tools/c_config.pyc b/xpdeint/waf/waflib/Tools/c_config.pyc
new file mode 100644
index 0000000..75bb63f
Binary files /dev/null and b/xpdeint/waf/waflib/Tools/c_config.pyc differ
diff --git a/xpdeint/waf/waflib/Tools/c_preproc.pyc b/xpdeint/waf/waflib/Tools/c_preproc.pyc
new file mode 100644
index 0000000..82ef21b
Binary files /dev/null and b/xpdeint/waf/waflib/Tools/c_preproc.pyc differ
diff --git a/xpdeint/waf/waflib/Utils.pyc b/xpdeint/waf/waflib/Utils.pyc
new file mode 100644
index 0000000..1cd2332
Binary files /dev/null and b/xpdeint/waf/waflib/Utils.pyc differ
diff --git a/xpdeint/waf/waflib/__init__.pyc b/xpdeint/waf/waflib/__init__.pyc
new file mode 100644
index 0000000..00e5597
Binary files /dev/null and b/xpdeint/waf/waflib/__init__.pyc differ
diff --git a/xpdeint/waf/waflib/ansiterm.pyc b/xpdeint/waf/waflib/ansiterm.pyc
new file mode 100644
index 0000000..8d65d41
Binary files /dev/null and b/xpdeint/waf/waflib/ansiterm.pyc differ
diff --git a/xpdeint/waf/waflib/extras/__init__.pyc b/xpdeint/waf/waflib/extras/__init__.pyc
new file mode 100644
index 0000000..f9f5884
Binary files /dev/null and b/xpdeint/waf/waflib/extras/__init__.pyc differ
diff --git a/xpdeint/waf/waflib/extras/compat15.pyc b/xpdeint/waf/waflib/extras/compat15.pyc
new file mode 100644
index 0000000..2fe29df
Binary files /dev/null and b/xpdeint/waf/waflib/extras/compat15.pyc differ
diff --git a/xpdeint/waf_extensions/cheetah.pyc b/xpdeint/waf_extensions/cheetah.pyc
new file mode 100644
index 0000000..a66835d
Binary files /dev/null and b/xpdeint/waf_extensions/cheetah.pyc differ
diff --git a/xpdeint/xsil2graphics2/MathematicaImport.py b/xpdeint/xsil2graphics2/MathematicaImport.py
index edd8be2..fdbf533 100644
--- a/xpdeint/xsil2graphics2/MathematicaImport.py
+++ b/xpdeint/xsil2graphics2/MathematicaImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.964978
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/xsil2graphics2/MathematicaImport.tmpl'
+__CHEETAH_genTime__ = 1412976196.580587
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/MathematicaImport.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Jun 5 14:30:43 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/xsil2graphics2/MatlabOctaveImport.py b/xpdeint/xsil2graphics2/MatlabOctaveImport.py
index 5663537..52658ff 100644
--- a/xpdeint/xsil2graphics2/MatlabOctaveImport.py
+++ b/xpdeint/xsil2graphics2/MatlabOctaveImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.984757
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/xsil2graphics2/MatlabOctaveImport.tmpl'
+__CHEETAH_genTime__ = 1412976196.663025
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/MatlabOctaveImport.tmpl'
__CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:13 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/xsil2graphics2/PythonImport.py b/xpdeint/xsil2graphics2/PythonImport.py
index bf3dfc8..df89bb6 100644
--- a/xpdeint/xsil2graphics2/PythonImport.py
+++ b/xpdeint/xsil2graphics2/PythonImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.973113
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/xsil2graphics2/PythonImport.tmpl'
+__CHEETAH_genTime__ = 1412976196.614746
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/PythonImport.tmpl'
__CHEETAH_srcLastModified__ = 'Sun Jul 28 14:51:41 2013'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
diff --git a/xpdeint/xsil2graphics2/RImport.py b/xpdeint/xsil2graphics2/RImport.py
index cd4dd5b..4ace714 100644
--- a/xpdeint/xsil2graphics2/RImport.py
+++ b/xpdeint/xsil2graphics2/RImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412053667.976965
-__CHEETAH_genTimestamp__ = 'Tue Sep 30 15:07:47 2014'
-__CHEETAH_src__ = '/Users/joe/Applications/xmds2/admin/staging/xmds-2.2.1/xpdeint/xsil2graphics2/RImport.tmpl'
+__CHEETAH_genTime__ = 1412976196.67331
+__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/RImport.tmpl'
__CHEETAH_srcLastModified__ = 'Wed Jan 8 13:35:53 2014'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/xmds2.git
More information about the debian-science-commits
mailing list