Menu

SVN archive Commit Log


Commit Date  
[r26889] by bugman

Fix for the Relax_disp.test_estimate_r2eff_err_methods system test.

The parameter vector x0 must be a numpy array, otherwise the relax_fit C module segfaults.

2014-12-02 11:13:56 Tree
[r26888] by bugman

Updated the memory_leak_test_relax_fit.py development script for the C module changes.

This is only for the docstring.

2014-12-02 11:07:42 Tree
[r26887] by bugman

Fix for the target function aliasing in the target_functions.relax_fit C module class.

Changing the values of the Relax_fit_methods C array in the __init__() method was not working, as it
was changing the class methods rather than the instance methods. Instead the tp_getattro property
is being used and the Relax_fit_getattro() function is used for the target function switching. This
allows the target function to be changed via the __getattr__() method. However this method is being
called once for each target function call, hence it is not efficient. This follows from
http://stackoverflow.com/a/27246336/4309197.

2014-12-02 10:43:22 Tree
[r26886] by bugman

More redirects for the relax HTML manual at http://www.nmr-relax.com/manual/index.html.

This is required as the latex2html program used to build the manual has been modified to not
excluded the 'common words' from the page titles (see docs/devel/latex2html/). These redirects are
linked from outside of http://www.nmr-relax.com, as identified by the Google Webmaster Tools.

2014-12-02 06:11:53 Tree
[r26885] by bugman

Epydoc docstring fixes for the lib.io module - keyword arguments were not correctly identified.

These were identified by Troels in the post at
http://thread.gmane.org/gmane.science.nmr.relax.scm/24565/focus=7384

2014-12-01 19:18:24 Tree
[r26884] by bugman

Updated all code that accesses the target_functions.relax_fit module.

The target_functions.relax_fit_wrapper.Relax_fit_opt class no longer exists. Instead the
target_functions.relax_fit.Relax_fit C class is being used. The input into the C code has been
updated to make sure that all arguments for the target functions are numpy arrays rather than Python
lists.

2014-12-01 18:49:34 Tree
[r26883] by tlinnet

Copied the unit test_pipes.py to test_io.py.

Task #7873 (https://gna.org/task/index.php?7873): Write wrapper function to nmr$
Homepage: http://www.nmrglue.com/
Link to nmrglue discussion: https://groups.google.com/forum/#!forum/nmrglue-dis$
The code is develop at Github: https://github.com/jjhelmus/nmrglue/
Google code: https://code.google.com/p/nmrglue/
Documentation: http://nmrglue.readthedocs.org/en/latest/index.html

2014-12-01 18:47:52 Tree
[r26882] by bugman

Updated the dep_check module for the target_functions.relax_fit C module redesign.

2014-12-01 18:47:04 Tree
[r26881] by bugman

Updated the sconstruct script for compiling the C modules.

The numpy and numarray include directories are now given as arguments to the C compiler.

2014-12-01 18:46:23 Tree
[r26880] by bugman

Conversion of the relax_fit C module to a Python C class structure.

This follows the 'Extending and Embedding the Python Interpreter' document, specifically the design
of https://docs.python.org/2/extending/newtypes.html#providing-finer-control-over-data-attributes.

Extensive changes have been made including converting the setup() function into the __init__()
method, converting all functions to methods, creating the C struct for the class 'self' object and
defining Python data storage for the model name, the number of parameters and relaxation times, and
the numpy data storage for the chi-squared gradient and Hessian and the Jacobian and chi-squared
Jacobian. The gradient and Hessian methods now return numpy arrays rather than Python lists of
lists, and all methods require the parameter argument to be a numpy array (it segfaults otherwise).
A __new__() method has been defined to create the class and it initial objects. And a special class
destructor has been created to clear out the objects in 'self'.

Target function aliasing is handled by creating NULL method definitions in the PyMethodDef list.
Then the list is manipulated to alias the method by setting the NULL method item to one of the real
methods.

2014-12-01 18:45:20 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.