view ChangeLog @ 329:778c91283a73

Add isequal method to allow comparing pyobjects (fixes issue #53) * @pyobject/pyobject.m: Add an 'isequal' method to fix a BIST test and some more tests.
author Abhinav Tripathi <genuinelucifer@gmail.com>
date Fri, 12 Aug 2016 05:45:06 -0700
parents b12908ffa6df
children
line wrap: on
line source

2012-04-09  David Grundberg  <individ@acc.umu.se>

	* configure.ac: Remove ability to select Numeric array library.
	* octave_to_python.cc: Assume we use numpy, remove ifdefs for
	numeric.
	* python_to_octave.cc: Assume we use numpy.
	* ax_python_numpy.m4: Remove file.
	* arrayobjectdefs.h: Remove numeric specific code.
	* pytave.cc (pytave::get_module_name): Remove function.
	* package/pytave.py: Use only numpy.

2012-04-09  David Grundberg  <individ@acc.umu.se>

	* octave_to_python.cc, python_to_octave.cc, pytave.cc: Undef
	HAVE_STAT and HAVE_FSTAT consistently through-out all files.

2012-04-09  David Grundberg  <individ@acc.umu.se>

	* m4/ax_python_numpy.m4: Add missing link flags to test.

2009-11-19  Jaroslav Hajek  <highegg@gmail.com>

	* pytave.cc (func_eval): Catch & rethrow std::bad_alloc.
	(str_eval): Likewise.

2009-09-27  David Grundberg  <individ@acc.umu.se>

	* configure.ac: Fix typo.

2009-09-26  David Grundberg  <individ@acc.umu.se>

	* configure.ac: Make NumPy default. Replace --enable flags with
	--with-type flags. Rework output.
	* m4/ax_python_numeric.m4 (AX_PYTHON_NUMERIC): Check for Numeric
	extentions for Python.

2009-09-26  David Grundberg  <individ@acc.umu.se>

	* m4/ax_python_numpy.m4 (AX_PYTHON_NUMPY): Restore CPPFLAGS.

2009-09-26  David Grundberg  <individ@acc.umu.se>

	* configure.ac: Look for NumPy. List which dependencies that are
	missing.
	* pytave.cc (init): One-line comment about NumPy.
	* m4/ax_python_numpy.m4: New file.
	* m4/ax_octave.m4: Send output variable by name.
	* Makefile.am (_pytave_la_CPPFLAGS): Substitute NumPy include
	directory from configuration.
	* setup.py.in: Ditto.
	* Jamfile.in: Add warning against using bjam.

2009-09-21  Jaroslav Hajek  <highegg@gmail.com>

	* python_to_octave.cc (copy_pyarrobj_to_octarray_boot,
	pyarr_to_octvalue): Support NumPy string arrays.

2009-09-18  Jaroslav Hajek  <highegg@gmail.com>

	* package/pytave.py: Safer check for interactive (mod_wsgi in
	Apache!)
	
2009-09-18  Jaroslav Hajek  <highegg@gmail.com>
	
	* python_to_octave.cc (copy_pyarrobj_to_octarray,
	pyarr_to_octvalue): Support 0D case.

2009-09-18  Jaroslav Hajek  <highegg@gmail.com>

	* package/pytave.py (simplify): Improve NumPy compatibility.

2009-09-17  Jaroslav Hajek  <highegg@gmail.com>

	* pytave.cc: Move #include of arrayobjectdefs after pytavedefs to
	ensure config.h is included.

2009-09-16  Jaroslav Hajek  <highegg@gmail.com>

	* package/pytave.py (load_package, unload_package): New funcs.
	* octave_to_python.cc: Workaround for return values bug in 
	Octave <= 3.2.3.

2009-09-15  Jaroslav Hajek  <highegg@gmail.com>

	* octave_to_python.cc: Move #include of arrayobjectdefs after
	pytavedefs to ensure config.h is included.
	* python_to_octave.cc: Ditto.
	* setup.py.in: Undo leaked local paths.

2009-07-03  David Grundberg  <individ@acc.umu.se>

	* pytave.cc: Sorted includes.
	(atexit): New function. Call do_octave_atexit before Python
	unloads shared libraries.
	* package/pytave.py (_atexit): New function.

2009-07-01  David Grundberg  <individ@acc.umu.se>

	* pytave.cc [HAVE_USELOCALE] (init, func_eval, str_eval): Run
	Octave interpreter in C locale.
	* configure.ac: Define HAVE_USELOCALE. Substitute @PYTHON@. Added
	checks for integer typedefs.  Make setup.py executable.  Friendly
	message on configuration completion.
	* setup.py.in: Let setup.py be interpreted by the same version of
	Python we configured for.

2009-06-19  Jaroslav Hajek  <highegg@gmail.com>

	* configure.ac: Support --enable-numpy
	* setup.py.in: Dynamically determine NumPy include path.
	* pytave.cc (get_module_name): New function.
	* octave_to_python.cc (octvalue_to_pyarrobj): 
	Support bool arrays with NumPy.
	* python_to_octave.cc (pyarr_to_octvalue, 
	copy_pyarrobj_to_octarray_boot): Likewise.
	* package/pytave.py: Dynamically import Numeric,
	forward to numpy.oldnumeric if run with NumPy.
	* test/test.py: Update some tests.

2009-06-17  Jaroslav Hajek  <highegg@gmail.com>

	* package/pytave.py (stripdict): New function.
	(narrowlist): New function.
	(simplify): New function.

2009-06-16  Jaroslav Hajek  <highegg@gmail.com>

	* octave_to_python.cc 
	(createPyArr): Don't simplify row vectors to 1D arrays.
	(octvalue_to_pyarrobj): Simplify, don't special-case scalars.
	(octcell_to_pyobject): Remove.
	(octmap_to_pyobject): Simplify, return uniform results.
	(is_1xn_or_0x0): Remove.
	* python_to_octave.cc
	(pydict_to_octmap): Revert to the former behaviour aka Octave's
	`struct'.
	* package/pytave.py (canonicalize): Remove.
	* test/test.py: Update tests.

2009-06-09  Jaroslav Hajek  <highegg@gmail.com>

	* package/pytave.py (canonicalize): New function.
	(feval): Update doc string.

2009-06-08  David Grundberg  <individ@acc.umu.se>

	* pytave.cc (func_eval, str_eval): Reread changed files.

2009-06-08  David Grundberg  <individ@acc.umu.se>

	* test/test.py: New tests for pytave.globals and pytave.locals.
	(testsetget, testexception): Call fail() instead of print.

2009-06-03  Jaroslav Hajek  <highegg@gmail.com>

	* pytave.cc (delvar): New function.
	* package/pytave.py (_VariablesDict.__delitem__): New method.

2009-06-03  Jaroslav Hajek  <highegg@gmail.com>

	* pytave.cc (isvar): Fix tests.

2009-06-08  Jaroslav Hajek  <highegg@gmail.com>, David Grundberg  <individ@acc.umu.se>

	* octave_to_python.cc (copy_octarray_to_pyarrobj<PyObject *,
	Cell>): New template specialization.
	(createPyArr): Simplify row vectors to 1D arrays.
	(octvalue_to_pyarrobj): Add string and cell cases.
	(octcell_to_pyobject): Create a PyObject array if not row vector.
	(octmap_to_pyobject): Create a simple dict if scalar struct.
	(octvalue_to_pyobj): Allow converting arbitrary character matrices.
	* python_to_octave.cc (pydict_to_octmap): Make scalar structs by
	default, detect matching dimensions.
	* package/pytave.py (feval): Update doc string.
	(getvar, setvar, isvar): Remove.
	(_VariablesDict): New class.
	(locals, globals): Default instances.
	(_local_scope): Rename to _LocalScope
	* test/test.py: New tests. Update old tests.
	(testsetget, testexception): New functions.

2009-06-03  Jaroslav Hajek  <highegg@gmail.com>

	* python_to_octave.cc (copy_pyarrobj_to_octarray<PyObject *,
	Cell>): New template specialization.
	(matching_type<PyObject *, octave_value>): Ditto.
	(copy_pyarrobj_to_octarray_boot): Include PyArray_CHAR
	and PyArray_Object cases.
	(pyarr_to_octvalue): Likewise.
	* test/test.py: Add tests for the new conversions.

2009-06-03  David Grundberg  <individ@acc.umu.se>

	* octave_to_python.cc (create_uint_array, create_sint_array):
	Prefer int to other datatypes of identical size.
	(is_1xn_or_0x0): Whitespace.
	* python_to_octave.cc (copy_pyarrobj_to_octarray_dispatch): Prefer
	int to other datatypes of identical size.

2009-05-28  Jaroslav Hajek  <highegg@gmail.com>

	* configure.ac: Remove --enable-float-matrices option.
	* octave_to_python.cc: Remove uses of PYTAVE_USE_OCTAVE_FLOAT.
	* python_to_octave.cc: Ditto.

2009-05-26  Jaroslav Hajek  <highegg@gmail.com>

	* octave_to_python.cc (octvalue_to_pyarrobj): Support Complex
	and FloatComplex values.
	(octvalue_to_pyobj): Support complex scalars.
	* python_to_octave.cc (copy_pyarrobj_to_octarray_dispatch):
	New template function.
	(matching_type): New helper traits class.
	(copy_pyarrobj_to_octarray_dispatch): Support complex types.
	(pyarrobj_to_octvalue): Support complex scalars.
	* test/test.py: Add tests for complex values.

2009-05-26  Jaroslav Hajek  <highegg@gmail.com>

	* octave_to_python.cc: New #include (boost/type_traits).
	(copy_octarray_to_pyarrobj): Don't use .value(); don't	specialize.
	(create_array (..., boost::true_type)): New overload (forward).
	(create_array (..., boost::false_type)): New overload (dummy).
	(create_uint_array): Pick proper overload.
	(create_sint_array): Pick proper overload.

2009-05-25  Jaroslav Hajek  <highegg@gmail.com>

	* python_to_octave.cc (pydict_to_octmap): Save key and val in an
	array, to avoid doing duplicate conversions.

2009-05-25  Jaroslav Hajek  <highegg@gmail.com>

	* pytave.cc (init): Add parameter; only display Octave banner if
	requested.
	* package/pytave.cc: Determine whether the interpreter is
	interactive.

2009-05-25  Jaroslav Hajek  <highegg@gmail.com>

	* octave_to_python.cc (is_1xn_or_0x0): New inline func.
	(octcell_to_pyobject): Use it.
	(octvalue_to_pyobj): Use it.
	* test/test.py: Update & fix tests.

2009-05-13  Jaroslav Hajek  <highegg@gmail.com>

	* exceptions.h (variable_name_exception): New exception class.
	* exceptions.cc: Initialize it.
	* octave_to_python.h (octvalue_to_pyobj): Declare prototype.
	* pytave.cc (init): Init variable_name_exception.
	(getvar): New function.
	(setvar): New function.
	(isvar): New function.
	(push_scope): New function.
	(pop_scope): New function.
	* package/pytave.py (__init__): Init VarNameError.
	(getvar): New function.
	(setvar): New function.
	(isvar): New function.
	(push_scope): New function.
	(pop_scope): New function.
	(_local_scope): New decorator helper class.
	(local_scope): New decorator.
	* test/test.py: Include new tests.

2009-05-09  David Grundberg  <individ@acc.umu.se>

	* ax_octave_float.m4: New file.
	* configure.ac: Added --enable-float-matrices configure option.

2009-05-07  Jaroslav Hajek  <highegg@gmail.com>

	* exceptions.h (octave_parse_exception): New class.
	* package/pytave.py: Added ParseError exception.
	(eval): New function.
	* pytave.cc (func_eval, make_error_message): Extracted
	make_error_message from func_eval.
	(str_eval): New function.

2009-05-05  David Grundberg  <individ@acc.umu.se>

	* python_to_octave.cc (pydict_to_octmap): Improved semantics and
	error control.
	* m4/ax_octave.m4, m4/ax_python_devel.m4: New files.
	* m4/ax_python.m4: Removed.
	* m4/ax_boost_python.m4, README, INSTALL: Rewritten.
	* configure.ac, setup.py.in, Jamfile.in, Makefile.am: Adjusted to
	new Autoconf macros.

2008-11-17  HÃ¥kan Fors Nilsson  <c04hfn@cs.umu.se>

	* octave_to_python.cc (octcell_to_pyobject, octmap_to_pyobject):
	New functions.
	* python_to_octave.cc (pylist_to_cellarray, pydict_to_octmap):
	New functions.

2008-11-17  David Grundberg  <individ@acc.umu.se>

	* pytave.cc (func_eval): Improved pytave.OctaveError messages, now
	includes filename, function and line of offending m-file.

2008-11-10  David Grundberg  <individ@acc.umu.se>

	* octave_to_python.cc: Remove static storage class on explicitely
	specialized templates.

2008-10-23  David Grundberg  <individ@acc.umu.se>

	* pytave.cc: Use octave_main() to initialize Octave. Introduces
	readline history clashes with interactive Python interpreter.
	* configure.ac: Better testing for Python dependencies.
	* configure.ac: Renamed my_ to pytave_
	* configure.ac: Fixed whitespace.

2008-10-20  David Grundberg  <individ@acc.umu.se>

	* Makefile.am: added test/exceptions.py to extra dist.
	* Jamfile.in: corrected dependencies


2008-10-18  David Grundberg  <individ@acc.umu.se>

	Changed license to correct one (GPLv3).

2008-10-17  David Grundberg  <c04dgg@cs.umu.se>

	First launchpad.net check in.