mvect_build
renamedmvect_collect
.
- New kind of objects mixed vectors (see
mvect_create
) to store anything in a vector-like container that is indexed by integers and, unlike tuples, can be resized and modified. - New builtin function
empty_tuple
to yield an empty tuple. tup.len
andtup()
yield number of entries in tupletup
.- New kind of objects
debug_nrefs
for debugging reference counting.
- New builtin function
fpe_handling
to turn on or off Yorick specific handling of floating-point exceptions.
- Remove functions
strtrimleft
,strtrimright
,strlower
, andstrupper
which were in conflict withutils.i
from YLib package.
- Better looking trees in
h_show
, configurable withh_show_style
.
- New
typemin
andtypemax
functions to get the minimum and maximum values for a numerical type. - New
product
function to compute the product of the elements of an array. - New
tuple
function to create lightweight tuple-like objects. - Change to more permissive MIT "expat" license.
- Yeti can be compiled from anywhere (just run the
configure
script in the directory where you want to build Yeti and its components). - The
yeti_
prefix has been removed from allyeti_*.i
files. If you rely on auto-load and do not explicitlyinclude
such files, this should be automatically handled for you. - Yeti functions and macros are now prefixed by
yor_
orYOR_
(and perhasp_yor_
or_YOR_
for private ones). Header file"yeti-compat.h"
is provided to help porting old code based on Yeti library. Theses prefixes are also used to alias some Yorick symbols. - Yeti components are now independent from Yeti itself (they all have their own
auto-load file, the name of associated dynamic library is
yor_$pkg.i
with$pkg
the name of the component). - Type
make install-doc
to build and install the documentation of the chosen components. - Fix bug in
arc
andsinc
functions when called with a single precision argument.
- Add autostart file and logo.
- Improve
anonymous
to have no side effects. fullsizeof
can now cope with structures.- Cleanup and convert NEWS to Markdown.
- New function: anonymous to create anonymous functions.
- New function:
h_save
to save variables to a hash-table. - New function:
h_functor
to create functor objects.
- New function:
- Manage to autoload
yeti_yhdf.i
wheneveryhdf_*
functions are called. - Add support for saving/restoring the evaluator of the hash table in a Yeti Hierarchical Data File.
- New
configure
script to mimics GNU-configure.- Heavy cleanup of the README file ;-)
- Function
set_alarm
removed, you should use Yorick's ownafter
function which works better and has more features. - Removed some old (unused) stuff to allow for compilation of a stand-alone Yorick+Yeti interpreter (thanks to Dave Munro for the fix).
- Memory leak in hash table code fixed.
- Integer indexing of hash table has been removed.
- Improved robustness of hash tables with respect to interrupts.
- Yeti is now under the CeCILL-C license (http://www.cecill.info).
- Lots of functions have been moved from Yeti to Yorick.
- Some code cleanup.
- Range objects can be saved into Yeti Hierarchical Data Files.
- New built-in functions:
parse_range
andmake_range
.
- New function
morph_enhance
to perform non-linear noise reduction on a 2D/3D array. - Changes names of private functions in
yeti_sort.c
to prevent conflict with stdlib.h in Mac-OS-X. - Some hash table functions have been fixed.
- Many small corrections in the documentation in
yeti.i
. - New functions to save/restore sparse matrices in/from files:
sparse_save
,sparse_restore
.
- Fixed bug in
h_next
which trigger on 64-bit machines. - Some update in hash table documentation.
- New functions:
h_grow
: grow a member of a hash table;mem_clear
: clear some global symbols;fullsizeof
: compute size of arrays, lists, hash-tables, ...make_hermitian
: make an array Hermitian.
- Some documentation fixed.
- Function
mem_info
correctly accounts for hash-tables, pointers and lists. - Fix
symbol_names
not reporting scalar symbols. - Add an error handler in GSL interface to avoid GSL aborting on error.
- Fix functions: identof,
is_scalar
,is_vector
,is_matrix
,is_integer
,is_real
,is_complex
,is_string
, andis_numerical
when argument is an L-value. Thanks to "sguieu" for reporting this bug on Yorick forum at SourceForge. - Functions
mem_copy
andmem_copy
also fixed to prevent this problem. - Cleanup of code to manage dimension lists (restricted functions to:
yeti_reset_dimlist
,yeti_grow_dimlist
andyeti_start_dimlist
). Get rid ofynew_dim
dependency which will be soon removed from Yorick's core. - Minor fix in
window_geometry.
- Configuration script fixed to allow for spaces in path to Yorick executable
and modified to have defaults for FFTW/GSL/TIFF linker flags (i.e. so that
only
--with-fftw
is needed if FFTW is installed in standard place). - Function
h_show
now displays name of symbolic links. - New function
h_grow
to grow contents of hash table members.
- Script config.i, files config.h.in and Makefile.in updated to account for version numbers in the form: MAJOR.MINOR.MICROSUFFIX.
- New
global
variableYETI_VERSION_SUFFIX
. - New
global
variables:YETI_VERSION_MAJOR
,YETI_VERSION_MINOR
andYETI_VERSION_MICRO
. - New functions (
rgl_roughness_*
) for regularization based on roughness with various norms and boundary conditions.
- Configuration script fixed to work with Cygwin/MS-Windows and to allow for compilation with Yorick CVS version.
- Yeti Hierarchical Data File (YHDF) can now store functions and symbolic links (by their names).
- *** POSSIBLE INCOMPATIBILITY *** Due to inconsistencies, the API for symbolic
links has been reworked. To create a symbolic link to a variable, the
ambiguous
link
function has been deleted in favor ofsymlink_to_variable
andsymlink_to_name
. The functionslink_name
,solve_link
andis_link
have been renamed asname_of_symlink
,value_of_symlink
andis_symlink
respectively.
- Add rules to build and install documentation of Yeti plugins in Yorick installation directory.
- The
symbol_names
function can now specifically select lists, hash tables and/or auto-loaded functions. - The
about
routine now account for auto-loaded functions. - Bug in function
make_dimlist
fixed. - Hash table objects can now have their own evaluator, which can be queried/set
by the
h_evaluator
function. - New function
h_number
to query number of entries in a hash table. - Function
is_hash
returns 2 for a hash table object implementing its own evaluator. h_clone
,h_copy
,h_info
andh_show
fixed to account for the evaluator of an hash table object.- Restricted possible values for JOB/FLAGS in evaluation of matrix products: must be 0 (default) for direct product and 1 for transpose product.
- New interpreted function:
setup_package
. - New object type: symbolic link. New related functions:
link
,is_link
,link_name
andsolve_link
.
- Renamed built-in
typeIDof
asidentof
and provide constants forT_CHAR
,T_SHORT
, ...
- New builtin function
insure_temporary
. - New builtin function
quick_select
. New functionsquick_median
andquick_interquartile_range
for fast estimation of the median and the inter-quartile range of an array of values.
This is the first public release of Yeti which makes use of the new Yorick API "YAPI" and which provides support for GSL (the GNU Scientific Library).
- Documentation for Yeti-GSL completed.
- Fixed inconsistency in error computation for Yeti-GSL.
- New function
h_show
to display a hash table as an expanded tree. - Built-in function
is_list
removed from Yeti (it is now part of Yorick). - New built-in functions:
make_dimlist
. - New built-in functions:
window_select
,window_exists and window_list
. - Changed
yeti_tiff
plugin so that it uses new Yorick API "YAPI". - In
tiff_plugin
, TIFF objects can now be indexed by their tag names. - Changed
yeti_gsl
plugin so that it uses new Yorick API "YAPI". - New plugin
yeti_gsl
which implements support for GNU Scientific - Library. At this time, the plugin provides 118 special functions from the GSL.
- Fix bug in
sparse_expand()
. - In
about()
function, explicitely filter range operators which have a built-in function counterpart to avoid a deadly bug in Yorick.
- Use Yorick (instead of Bourne shell) for configuration of Yeti -- much more easy and portable ;-)
- New built-in function
machine_constant
to query machine dependent constant (such asDBL_EPSILON
). - Fixed signedness of strings in
yeti_hash.c
to avoid compiler warnings. - Fixed bad variable name in
morph_white_top_hat
, andmorph_black_top_hat
.
- New functions
cost_l2
,cost_l2l1
andcost_l2l0
to compute, L2, L2-L1 and L2-L0 cost functions and optionally their gradient. - *** POSSIBLE INCOMPATIBILITY *** The old sparse matrix API has been removed in favor of a new sparse_matrix object class. The new class is different from the old implementation: [1] it has two index lists (one for the rows, the other for the columns of the non-zero coefficients) to break the former limit on the dimension lists of input/output spaces; [2] the sparse matrix object can be used directly as a function to apply (possibly transpose) matrix multiplication; [3] the sparse matrix object can be used as a Yorick structure to query its contents.
- *** POSSIBLE INCOMPATIBILITY *** The built-in function
_yeti_init
was renamed asyeti_init
. - New morpho-math functions:
morph_dilation
,morph_erosion
,morph_opening
,morph_closing
,morph_white_top_hat
,morph_black_top_hat
. - *** POSSIBLE INCOMPATIBILITY *** Built-in
get_path
removed (conflict with same function in Yorick 1.6.02). The newget_path
function return a list of path separated by:
into a single string whereas the former version built-in Yeti used to return an array of strings. - Lots of changes to make Yeti a pure plugin for Yorick 1.6 and
trying to maintain compatibility with previous version of Yeti:
- Temporarily removed all the
chn_*
function (channel). - Builtin
expand_path
removed in favor offilepath
. - Built-in
strlower
andstrlower
replaced by interpreted version which use the newstrcase
built-in function in Yorick-1.6. Similarly,strtrim
removed because it is now provided by Yorick-1.6 with same behaviour. yeti_fftw
andyeti_tiff
packages no longer require Yeti to be loaded (they are pure standalone Yorick packages).- Regular expression functions
regmatch
,regsub
,regcomp
, etc are now provided by a separate packageyeti_regex
. Two reasons for that: (1) new Yorick-1.6 now provides some regular expression engine (see strgrep), and (2) my regular expression package required the GNU REGEX library (built-in GNU C library). The GNU REGEX library can be optionally built into the newyeti_regex
package (i.e. you no longer need an external REGEX library). Also note that theyeti_regex
does not require Yeti to be loaded (it is a pure standalone Yorick package).
- Temporarily removed all the
- New Built-in functions:
is_complex
,is_hash
,is_integer
,is_list
,is_matrix
,is_numerical
,is_real
,is_scalar
,is_string
,is_vector
.
- Changes in
yeti_plugin.c
,yeti_misc.c
,yeti_utils.c
andyeti.i
to avoid problems on 64-bit machines. A (minor) side effect is that addresses inmem_*
hack functions must now be long integer (i.e., int's are no longer allowed). - Fix bugs caused by using a nil string (e.g.,
string(0)
) as hash key and which trigger segmentation violation interrupt (SIGSEGV
). - New functions
h_first
andh_next
to scan a hash table. - Support for reloadable plugins.
- Complete rewrite of
configure
script. - CP40/GPL support is now provided as a separate plugin.
- Startup routine
_yeti_init
to provide a more useful list of paths for script files (*.i
) than the one setup by Yorick. - Removed
yeti_version
function in favor of_yeti_init
function and pre-defined variablesYETI_VERSION
andYETI_HOME
. - New function
get_includes
to get a list of included files.
- Fix a bug in
arc
andround
built-in functions which triggers when the argument was a non-double scalar (thanks to Clémentine Béchet for finding this bug). about
interpreted function can optionally ignore case.- New interpreted function
h_clone
to clone/copy a hash object. - Work around Yorick bug with palette in
gg_fit_2d_spike
.
- Yeti now displays its version number which can be retrieved by function
yeti_version
. - New built-in function
current_include
to get the path of the currently parsed file if any. - New built-in function
arc
to compute lengh of arc in radians. - Fix built-in
heapsort
to always return a vector (as claimed in the doc). - Avoid Gist markers when drawing widgets in
yeti_gist_gui.i
. - Hash table objects can be invoked as a function with a member name (syntaxic
shortcut for
h_get
) or with a nil argument to get the number of elements.
- Added built-in function
eigen
to compute the spectral decomposition of real symetric matrices.