comparison src/ChangeLog @ 10554:dfdc040a0c5e

ChangeLog fixes
author John W. Eaton <jwe@octave.org>
date Fri, 23 Apr 2010 16:27:44 -0400
parents f88e3d5d88e2
children a80207303549
comparison
equal deleted inserted replaced
10553:f88e3d5d88e2 10554:dfdc040a0c5e
1 2010-04-23 John W. Eaton <jwe@octave.org> 1 n2010-04-23 John W. Eaton <jwe@octave.org>
2 2
3 * txt-eng-ft.cc (ft_render::visit): Declare loop counter size_t, 3 * txt-eng-ft.cc (ft_render::visit): Declare loop counter size_t,
4 not int. 4 not int.
5 5
6 * graphics.h.in (graphics_xform::untransform): Likewise. 6 * graphics.h.in (graphics_xform::untransform): Likewise.
45 * ov-base-sparse.h (octave_base_sparse::clone, 45 * ov-base-sparse.h (octave_base_sparse::clone,
46 octave_base_sparse::empty_clone): Remove. 46 octave_base_sparse::empty_clone): Remove.
47 * ov-base.h (octave_base_value::empty_clone): Remove implementation. 47 * ov-base.h (octave_base_value::empty_clone): Remove implementation.
48 * ov-base.cc (octave_base_value::empty_clone): Implement here. 48 * ov-base.cc (octave_base_value::empty_clone): Implement here.
49 Fall back to resize() for empty_clone(). 49 Fall back to resize() for empty_clone().
50 * ov.cc (octave_value::assign): Correct behavior in the indexed OP= case. 50 * ov.cc (octave_value::assign): Correct behavior in the indexed
51 Use better error messages. Always return non-const reference, like any 51 OP= case. Use better error messages. Always return non-const
52 assignment. 52 reference, like any assignment.
53 * ov.h: Update decls. 53 * ov.h: Update decls.
54 * oct-lvalue.cc (octave_lvalue::assign): Simplify. 54 * oct-lvalue.cc (octave_lvalue::assign): Simplify.
55 55
56 2010-04-22 Rik <octave@nomad.inbox5.com> 56 2010-04-22 Rik <octave@nomad.inbox5.com>
57 57
58 * DLD-FUNCTIONS/hess.cc.: return correct Hessenberg matrix when called 58 * DLD-FUNCTIONS/hess.cc.: return correct Hessenberg matrix when
59 with only one output argument. 59 called with only one output argument.
60 60
61 2010-04-22 Jaroslav Hajek <highegg@gmail.com> 61 2010-04-22 Jaroslav Hajek <highegg@gmail.com>
62 62
63 * data.cc (do_hypot): New helper function. Move bulk code from Fhypot 63 * data.cc (do_hypot): New helper function. Move bulk code from Fhypot
64 here. 64 here.
91 91
92 2010-04-13 Shai Ayal <shaiay@users.sourceforge.net> 92 2010-04-13 Shai Ayal <shaiay@users.sourceforge.net>
93 93
94 * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_currentpoint, 94 * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_currentpoint,
95 (plot_window::set_axes_currentpoint, plot_window::key2shift, 95 (plot_window::set_axes_currentpoint, plot_window::key2shift,
96 (plot_window::key2ascii, plot_window::modifier2cell): new helper 96 (plot_window::key2ascii, plot_window::modifier2cell): New helper
97 functions for keypress and mousebutton callbacks. 97 functions for keypress and mousebutton callbacks.
98 (plot_window::handle): implement keypress and mousebutton callbacks. 98 (plot_window::handle): implement keypress and mousebutton callbacks.
99 99
100 * graphics.h.in (callback_property::is_defined): New conveniance function. 100 * graphics.h.in (callback_property::is_defined): New conveniance
101 rename figure.current_point to figure.currentpoint. 101 function. Rename figure.current_point to figure.currentpoint.
102 102
103 2010-04-13 Jaroslav Hajek <highegg@gmail.com> 103 2010-04-13 Jaroslav Hajek <highegg@gmail.com>
104 104
105 * DLD-FUNCTIONS/sparse.cc (Fspalloc): New DEFUN. 105 * DLD-FUNCTIONS/sparse.cc (Fspalloc): New DEFUN.
106 * ov-base.cc (octave_base_value::nzmax): Return numel by default. 106 * ov-base.cc (octave_base_value::nzmax): Return numel by default.
107 107
108 2010-04-13 Jaroslav Hajek <highegg@gmail.com> 108 2010-04-13 Jaroslav Hajek <highegg@gmail.com>
109 109
110 * ov-base-sparse.cc (octave_base_sparse::assign): Rewrite. 110 * ov-base-sparse.cc (octave_base_sparse::assign): Rewrite.
111 * ov-cx-sparse.cc (octave_sparse_complex_matrix::assign 111 * ov-cx-sparse.cc (octave_sparse_complex_matrix::assign
112 (const octave_value_list& idx, const SparseMatrix& rhs)): Remove. 112 (const octave_value_list& idx, const SparseMatrix& rhs)): Remove.
113 * ov-cx-sparse.h: Remove decl. 113 * ov-cx-sparse.h: Remove decl.
114 114
115 2010-04-10 Ben Abbott <bpabbott@mac.com> 115 2010-04-10 Ben Abbott <bpabbott@mac.com>
116 116
117 * graphics.h.in: Fix nextplot property values. Add "new" to 117 * graphics.h.in: Fix nextplot property values. Add "new" to
118 list for axes nextplot values. Change "replace_children" to 118 list for axes nextplot values. Change "replace_children" to
119 "replacechildren" for both axes and figures. 119 "replacechildren" for both axes and figures.
120 120
121 2010-04-09 David Bateman <dbateman@free.fr> 121 2010-04-09 David Bateman <dbateman@free.fr>
122 122
139 139
140 2010-04-08 Jaroslav Hajek <highegg@gmail.com> 140 2010-04-08 Jaroslav Hajek <highegg@gmail.com>
141 141
142 * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): Replace by 142 * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): Replace by
143 templates. 143 templates.
144 (single_type_concat, do_single_type_concat): New static template 144 (single_type_concat, do_single_type_concat): New static temvplate
145 funcs. Correctly skip 0x0 matrices. 145 funcs. Correctly skip 0x0 matrices.
146 (Fcat): Call them here. Add tests. 146 (Fcat): Call them here. Add tests.
147 147
148 2010-04-07 Jaroslav Hajek <highegg@gmail.com> 148 2010-04-07 Jaroslav Hajek <highegg@gmail.com>
149 149
851 * dynamic-ld.cc (clear): Only warn if reloading a dynamically 851 * dynamic-ld.cc (clear): Only warn if reloading a dynamically
852 linked file that defines multiple functions. 852 linked file that defines multiple functions.
853 853
854 2010-02-09 Jaroslav Hajek <highegg@gmail.com> 854 2010-02-09 Jaroslav Hajek <highegg@gmail.com>
855 855
856 * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx (const Array<T>&, ...)): 856 * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx (const Array<T>&, ...)):
857 Optimize creation of result indices. 857 Optimize creation of result indices.
858 * data.cc (Fsort): Ditto. 858 * data.cc (Fsort): Ditto.
859 859
860 2010-02-09 Jaroslav Hajek <highegg@gmail.com> 860 2010-02-09 Jaroslav Hajek <highegg@gmail.com>
861 861
967 Don't pass current directory to octave_env::make_absolute. 967 Don't pass current directory to octave_env::make_absolute.
968 * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. 968 * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise.
969 * octave.cc (execute_startup_files): Likewise. 969 * octave.cc (execute_startup_files): Likewise.
970 * ls-mat5.cc (read_mat5_binary_element): Likewise. 970 * ls-mat5.cc (read_mat5_binary_element): Likewise.
971 * load-save.cc (find_file_to_load): Likewise. 971 * load-save.cc (find_file_to_load): Likewise.
972 * load-path.cc (load_path::dir_info::update, 972 * load-path.cc (load_path::dir_info::update,
973 load_path::dir_info::initialize, load_path::do_find_dir, 973 load_path::dir_info::initialize, load_path::do_find_dir,
974 load_path::do_find_matching_dirs): Likewise. 974 load_path::do_find_matching_dirs): Likewise.
975 * file-io.cc (do_stream_open): Likewise. 975 * file-io.cc (do_stream_open): Likewise.
976 * oct-parse.yy (load_fcn_from_file, Fautoload): Likewise. 976 * oct-parse.yy (load_fcn_from_file, Fautoload): Likewise.
977 * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Likewise. 977 * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Likewise.
994 Delete macros and all uses. 994 Delete macros and all uses.
995 995
996 2010-02-01 Jaroslav Hajek <highegg@gmail.com> 996 2010-02-01 Jaroslav Hajek <highegg@gmail.com>
997 997
998 * load-path.cc (load_path::add_to_fcn_map): Warn when core library or 998 * load-path.cc (load_path::add_to_fcn_map): Warn when core library or
999 built-in functions are being shadowed. 999 built-in functions are being shadowed.
1000 (load_path::do_add): Pass at_end to add_to_fcn_map, add_to_method_map. 1000 (load_path::do_add): Pass at_end to add_to_fcn_map, add_to_method_map.
1001 Don't abort when "." not yet included. 1001 Don't abort when "." not yet included.
1002 (load_path::do_clear): Don't append "." here. 1002 (load_path::do_clear): Don't append "." here.
1003 (load_path::do_set): Always prepend "." here. 1003 (load_path::do_set): Always prepend "." here.
1004 (load_path::initialize): Don't explicitly include "." here. 1004 (load_path::initialize): Don't explicitly include "." here.
1548 * DLD-FUNCTIONS/strfind.cc (Fstrfind): Call it here. 1548 * DLD-FUNCTIONS/strfind.cc (Fstrfind): Call it here.
1549 (Fstrrep): Also here. 1549 (Fstrrep): Also here.
1550 1550
1551 2010-01-11 Rik <octave@nomad.inbox5.com> 1551 2010-01-11 Rik <octave@nomad.inbox5.com>
1552 1552
1553 * Makefile.am: Update DOCSTRINGS rules to avoid simple_move_if_change_rule 1553 * Makefile.am: Update DOCSTRINGS rules to avoid
1554 and allow Make to update timestamps. 1554 simple_move_if_change_rule and allow Make to update timestamps.
1555 1555
1556 2010-01-11 John W. Eaton <jwe@octave.org> 1556 2010-01-11 John W. Eaton <jwe@octave.org>
1557 1557
1558 * DLD-FUNCTIONS/urlwrite.cc (curl_handle::lasterror): 1558 * DLD-FUNCTIONS/urlwrite.cc (curl_handle::lasterror):
1559 Avoid using errno as a local variable name. 1559 Avoid using errno as a local variable name.
1942 1942
1943 * symtab.cc (out_of_date_check): Try also autoloads. 1943 * symtab.cc (out_of_date_check): Try also autoloads.
1944 1944
1945 2009-12-09 Jaroslav Hajek <highegg@gmail.com> 1945 2009-12-09 Jaroslav Hajek <highegg@gmail.com>
1946 1946
1947 * symtab.h (symbol_table::fcn_info::clear_autoload_function): New method. 1947 * symtab.h (symbol_table::fcn_info::clear_autoload_function):
1948 New method.
1948 (symbol_table::clear_dld_function): New method. 1949 (symbol_table::clear_dld_function): New method.
1949 * dynamic-ld.cc (octave_shlib_list::do_remove): Switch order of stmts. 1950 * dynamic-ld.cc (octave_shlib_list::do_remove): Switch order of stmts.
1950 (octave_mex_file_list::do_remove): Likewise. 1951 (octave_mex_file_list::do_remove): Likewise.
1951 (do_clear_function): Call symbol_table::clear_dld_function. 1952 (do_clear_function): Call symbol_table::clear_dld_function.
1952 (octave_dynamic_loader::do_load_oct): Don't use 1953 (octave_dynamic_loader::do_load_oct): Don't use
2145 * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Always use 2146 * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Always use
2146 CURLOPT_USERPWD instead of CURLOPT_USER and CURLOPT_PASSWD. 2147 CURLOPT_USERPWD instead of CURLOPT_USER and CURLOPT_PASSWD.
2147 2148
2148 2009-12-04 John W. Eaton <jwe@octave.org> 2149 2009-12-04 John W. Eaton <jwe@octave.org>
2149 2150
2150 * version.h.in (OCTAVE_API_VERSION_NUMBER): New macro. * 2151 * version.h.in (OCTAVE_API_VERSION_NUMBER): New macro.
2151 Makefile.am (version.h): Substitute OCTAVE_API_VERSION_NUMBER. 2152 * Makefile.am (version.h): Substitute OCTAVE_API_VERSION_NUMBER.
2152 2153
2153 2009-12-04 John W. Eaton <jwe@octave.org> 2154 2009-12-04 John W. Eaton <jwe@octave.org>
2154 2155
2155 * Makefile.am (mkdefs): New arguments, srcdir and file. 2156 * Makefile.am (mkdefs): New arguments, srcdir and file.
2156 Generate output here. (.cc.df): Not here. 2157 Generate output here. (.cc.df): Not here.
2204 libcurl is not present according to configure. 2205 libcurl is not present according to configure.
2205 2206
2206 2009-12-01 Jaroslav Hajek <highegg@gmail.com> 2207 2009-12-01 Jaroslav Hajek <highegg@gmail.com>
2207 2208
2208 * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const 2209 * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const
2209 boolNDArray&, const idx_vector&)): New constructor. * 2210 boolNDArray&, const idx_vector&)): New constructor.
2210 ov-re-mat.h (octave_bool_matrix::octave_bool_matrix (const 2211 * ov-re-mat.h (octave_bool_matrix::octave_bool_matrix (const
2211 NDArray&, const idx_vector&)): Simplify. * ov.cc 2212 NDArray&, const idx_vector&)): Simplify.
2212 (octave_value::octave_value (const idx_vector&)): Allow the mask 2213 * ov.cc (octave_value::octave_value (const idx_vector&)): Allow
2213 case. * DLD-FUNCTIONS/find.cc (Ffind): Explicitly call unmask 2214 the mask case.
2214 (). 2215 * DLD-FUNCTIONS/find.cc (Ffind): Explicitly call unmask.
2215 2216
2216 2009-11-30 Kacper Kowalik <xarthisius.kk@gmail.com> 2217 2009-11-30 Kacper Kowalik <xarthisius.kk@gmail.com>
2217 2218
2218 * oct-hdf5.h: Drop force the use of the v1.6 API * ls-hdf5.cc, 2219 * oct-hdf5.h: Drop force the use of the v1.6 API * ls-hdf5.cc,
2219 ov-base-int.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, 2220 ov-base-int.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc,
2298 (octave_scalar::load_hdf5), ov-str-mat.cc 2299 (octave_scalar::load_hdf5), ov-str-mat.cc
2299 (octave_char_matrix_str::load_hdf5), ov-str-mat.h 2300 (octave_char_matrix_str::load_hdf5), ov-str-mat.h
2300 (octave_char_matrix_str::load_hdf5), ov-struct.cc 2301 (octave_char_matrix_str::load_hdf5), ov-struct.cc
2301 (octave_struct::load_hdf5), ov-struct.h 2302 (octave_struct::load_hdf5), ov-struct.h
2302 (octave_struct::load_hdf5), ov.h (octave_value::load_hdf5): 2303 (octave_struct::load_hdf5), ov.h (octave_value::load_hdf5):
2303 Remove have_hg5iterate_bug from the call to load_hdf5. * 2304 Remove have_hg5iterate_bug from the call to load_hdf5.
2304 ov-cell.cc (octave_bool::load_hdf5), ov-class.cc 2305 * ov-cell.cc (octave_bool::load_hdf5), ov-class.cc
2305 (octave_class::load_hdf5), ov-fcn-handle.cc 2306 (octave_class::load_hdf5), ov-fcn-handle.cc
2306 (octave_fcn_handle::load_hdf5), ov-list.cc 2307 (octave_fcn_handle::load_hdf5), ov-list.cc
2307 (octave_list::load_hdf5), ov-struct.cc 2308 (octave_list::load_hdf5), ov-struct.cc
2308 (octave_struct::load_hdf5): Remove HAVE_H5GGET_NUM_OBJS cruft 2309 (octave_struct::load_hdf5): Remove HAVE_H5GGET_NUM_OBJS cruft
2309 for old hdf5 versions. 2310 for old hdf5 versions.
2326 2327
2327 * DLD-FUNCTIONS/dot.cc (Fdot): Update docs. 2328 * DLD-FUNCTIONS/dot.cc (Fdot): Update docs.
2328 2329
2329 2009-11-26 Jaroslav Hajek <highegg@gmail.com> 2330 2009-11-26 Jaroslav Hajek <highegg@gmail.com>
2330 2331
2331 * DLD-FUNCTIONS/dot.cc: New source. * 2332 * DLD-FUNCTIONS/dot.cc: New source.
2332 DLD-FUNCTIONS/module-files: Include it. 2333 * DLD-FUNCTIONS/module-files: Include it.
2333 2334
2334 2009-11-26 Jaroslav Hajek <highegg@gmail.com> 2335 2009-11-26 Jaroslav Hajek <highegg@gmail.com>
2335 2336
2336 * data.cc (Fismatrix): Return true for empty matrices as well. 2337 * data.cc (Fismatrix): Return true for empty matrices as well.
2337 2338
2356 * data.cc (Fmerge): Add missing parentheses. 2357 * data.cc (Fmerge): Add missing parentheses.
2357 2358
2358 2009-11-23 Jaroslav Hajek <highegg@gmail.com> 2359 2009-11-23 Jaroslav Hajek <highegg@gmail.com>
2359 2360
2360 * ov-complex.h (octave_complex::bool_value, 2361 * ov-complex.h (octave_complex::bool_value,
2361 octave_complex::bool_array_value): New methods. * 2362 octave_complex::bool_array_value): New methods.
2362 ov-flt-complex.h (octave_float_complex::bool_value, 2363 * ov-flt-complex.h (octave_float_complex::bool_value,
2363 octave_float_complex::bool_array_value): New methods. * 2364 octave_float_complex::bool_array_value): New methods.
2364 ov-cx-mat.cc (octave_complex_matrix::bool_array_value): New 2365 * ov-cx-mat.cc (octave_complex_matrix::bool_array_value): New
2365 method. * ov-cx-mat.h: Declare it. * ov-flt-cx-mat.cc 2366 method. * ov-cx-mat.h: Declare it.
2366 (octave_float_complex_matrix::bool_array_value): New method. * 2367 * ov-flt-cx-mat.cc (octave_float_complex_matrix::bool_array_value):
2367 ov-flt-cx-mat.h: Declare it. 2368 New method.
2369 * ov-flt-cx-mat.h: Declare it.
2368 2370
2369 2009-11-23 Jaroslav Hajek <highegg@gmail.com> 2371 2009-11-23 Jaroslav Hajek <highegg@gmail.com>
2370 2372
2371 * ov-struct.cc (octave_struct::save_ascii): Save dimensions for 2373 * ov-struct.cc (octave_struct::save_ascii): Save dimensions for
2372 structs. (octave_struct::load_ascii): Load dimensions if 2374 structs. (octave_struct::load_ascii): Load dimensions if
2381 * utils.cc (dims_to_numel): Fallback to index_vector query for 2383 * utils.cc (dims_to_numel): Fallback to index_vector query for
2382 non-numeric types. 2384 non-numeric types.
2383 2385
2384 2009-11-20 Jaroslav Hajek <highegg@gmail.com> 2386 2009-11-20 Jaroslav Hajek <highegg@gmail.com>
2385 2387
2386 * ov-bool.h (octave_bool::is_numeric_type): New overload. * 2388 * ov-bool.h (octave_bool::is_numeric_type): New overload.
2387 ov-bool-mat.h (octave_bool-matrix::is_numeric_type): New 2389 * ov-bool-mat.h (octave_bool-matrix::is_numeric_type): New overload.
2388 overload.
2389 2390
2390 2009-11-19 Jaroslav Hajek <highegg@gmail.com> 2391 2009-11-19 Jaroslav Hajek <highegg@gmail.com>
2391 2392
2392 * ov-base.h (unary_mapper_t): New member: umap_erfinv. * 2393 * ov-base.h (unary_mapper_t): New member: umap_erfinv.
2393 ov-base.c (octave_base_value::get_umap_name): Add "erfinv" here. 2394 * ov-base.c (octave_base_value::get_umap_name): Add "erfinv" here.
2394 * ov.h (octave_value::erfinv): New method. * ov-scalar.cc 2395 * ov.h (octave_value::erfinv): New method.
2395 (octave_scalar::map): Handle umap_erfinv. * ov-float.cc 2396 * ov-scalar.cc (octave_scalar::map): Handle umap_erfinv.
2396 (octave_float::map): Ditto. * ov-re-mat.cc 2397 * ov-float.cc (octave_float::map): Ditto.
2397 (octave_matrix::map): Ditto. * ov-flt-re-mat.cc 2398 * ov-re-mat.cc (octave_matrix::map): Ditto.
2398 (octave_float_matrix::map): Ditto. * ov-re-sparse.cc 2399 * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto.
2399 (octave_sparse_matrix::map): Ditto. * mappers.cc (Ferfinv): New 2400 * ov-re-sparse.cc (octave_sparse_matrix::map): Ditto.
2400 DEFUN. 2401 * mappers.cc (Ferfinv): New DEFUN.
2401 2402
2402 2009-11-14 Shai Ayal <shaiay@users.sourceforge.net> 2403 2009-11-14 Shai Ayal <shaiay@users.sourceforge.net>
2403 2404
2404 * gl-render.cc (opengl_renderer::text_to_pixels): New function 2405 * gl-render.cc (opengl_renderer::text_to_pixels): New function
2405 from code in render_text to produce the pixels and compute 2406 from code in render_text to produce the pixels and compute
2406 bounding box. (opengl_renderer::render_text): Call 2407 bounding box. (opengl_renderer::render_text): Call
2407 text_to_pixels to compute rotation mode and bounding box. * 2408 text_to_pixels to compute rotation mode and bounding box.
2408 gl-renger.h (opengl_renderer::text_to_pixels): Provide decl. * 2409 * gl-renger.h (opengl_renderer::text_to_pixels): Provide decl.
2409 gl2ps-renderer.cc (glps_renderer::render_text): Call 2410 * gl2ps-renderer.cc (glps_renderer::render_text): Call
2410 text_to_pixels to compute bounding box. 2411 text_to_pixels to compute bounding box.
2411 (glps_renderer::set_font): Call opengl_renderer::set_font. 2412 (glps_renderer::set_font): Call opengl_renderer::set_font.
2412 2413
2413 2009-11-18 Michael Godfrey <godfrey@isl.stanford.edu> 2414 2009-11-18 Michael Godfrey <godfrey@isl.stanford.edu>
2414 2415
2422 Register power handlers. 2423 Register power handlers.
2423 2424
2424 2009-11-13 Jaroslav Hajek <highegg@gmail.com> 2425 2009-11-13 Jaroslav Hajek <highegg@gmail.com>
2425 2426
2426 * ov-complex.cc (octave_complex::try_narrowing_conversion): 2427 * ov-complex.cc (octave_complex::try_narrowing_conversion):
2427 Don't check signbit. * ov-flt-complex.cc 2428 Don't check signbit.
2428 (octave_float_complex::try_narrowing_conversion): Ditto. * 2429 * ov-flt-complex.cc
2429 ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): 2430 (octave_float_complex::try_narrowing_conversion): Ditto.
2430 Simplify. Don't check signbit. * ov-flt-cx-mat.cc 2431 * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion):
2432 Simplify. Don't check signbit.
2433 * ov-flt-cx-mat.cc
2431 (octave_float_complex_matrix::try_narrowing_conversion): Ditto. 2434 (octave_float_complex_matrix::try_narrowing_conversion): Ditto.
2432 2435
2433 2009-11-17 Jaroslav Hajek <highegg@gmail.com> 2436 2009-11-17 Jaroslav Hajek <highegg@gmail.com>
2434 2437
2435 * ov-re-mat.cc (do_rc_map): New static function. 2438 * ov-re-mat.cc (do_rc_map): New static function.
2436 (octave_matrix::map): Use it here. * ov-flt-re-mat.cc 2439 (octave_matrix::map): Use it here.
2437 (do_rc_map): New static function. (octave_float_matrix::map): 2440 * ov-flt-re-mat.cc (do_rc_map): New static function.
2438 Use it here. 2441 (octave_float_matrix::map): Use it here.
2439 2442
2440 2009-11-17 Jaroslav Hajek <highegg@gmail.com> 2443 2009-11-17 Jaroslav Hajek <highegg@gmail.com>
2441 2444
2442 * DLD-FUNCTIONS/balance.cc: Fix docs. 2445 * DLD-FUNCTIONS/balance.cc: Fix docs.
2443 2446
2450 * graphics.h.in (image::properties::init): Also allow single, 2453 * graphics.h.in (image::properties::init): Also allow single,
2451 int16, and uint16 data types. 2454 int16, and uint16 data types.
2452 2455
2453 2009-11-13 Jaroslav Hajek <highegg@gmail.com> 2456 2009-11-13 Jaroslav Hajek <highegg@gmail.com>
2454 2457
2455 * ov-base.h (unary_mapper_t): Move to octave_base_value. * 2458 * ov-base.h (unary_mapper_t): Move to octave_base_value.
2456 ov.h: Partially revert to c657c056240d. (FORWARD_MAPPER): 2459 * ov.h: Partially revert to c657c056240d.
2457 Update to use octave_base_value::map. (octave_value::map): 2460 (FORWARD_MAPPER): Update to use octave_base_value::map.
2458 Ditto. * mappers.cc: Revert to c657c056240d. * data.cc: Ditto. 2461 (octave_value::map): Ditto.
2459 * Cell.h, Cell.cc: Ditto. * ov-cell.cc (octave_cell::map): 2462 * mappers.cc: Revert to c657c056240d.
2460 Rewrite. * ov-base-sparse.cc (octave_base_sparse::map): New 2463 * data.cc: Ditto.
2461 method. * ov-base-sparse.h: Declare it. * ov-re-sparse.cc 2464 * Cell.h, Cell.cc: Ditto.
2462 (octave_sparse_matrix::map): Use it as a fallback. * 2465 * ov-cell.cc (octave_cell::map): Rewrite.
2463 ov-cx-sparse.cc (octave_sparse_complexmatrix::map): Ditto. 2466 * ov-base-sparse.cc (octave_base_sparse::map): New method.
2467 * ov-base-sparse.h: Declare it.
2468 * ov-re-sparse.cc (octave_sparse_matrix::map): Use it as a fallback.
2469 * ov-cx-sparse.cc (octave_sparse_complexmatrix::map): Ditto.
2464 2470
2465 2009-11-12 Jaroslav Hajek <highegg@gmail.com> 2471 2009-11-12 Jaroslav Hajek <highegg@gmail.com>
2466 2472
2467 * ov-base.h (unary_mapper_t): New enum. (octave_base_value::map 2473 * ov-base.h (unary_mapper_t): New enum.
2468 (unary_mapper_t)): New method. (octave_base_value::abs): 2474 (octave_base_value::map (unary_mapper_t)): New method.
2469 Remove. (octave_base_value::acos): Remove. 2475 (octave_base_value::abs, octave_base_value::acos,
2470 (octave_base_value::acosh): Remove. (octave_base_value::angle): 2476 octave_base_value::acosh, octave_base_value::angle,
2471 Remove. (octave_base_value::arg): Remove. 2477 octave_base_value::arg, octave_base_value::asin,
2472 (octave_base_value::asin): Remove. (octave_base_value::asinh): 2478 octave_base_value::asinh, octave_base_value::atan,
2473 Remove. (octave_base_value::atan): Remove. 2479 octave_base_value::atanh, octave_base_value::ceil,
2474 (octave_base_value::atanh): Remove. (octave_base_value::ceil): 2480 octave_base_value::conj, octave_base_value::cos,
2475 Remove. (octave_base_value::conj): Remove. 2481 octave_base_value::cosh, octave_base_value::erf,
2476 (octave_base_value::cos): Remove. (octave_base_value::cosh): 2482 octave_base_value::erfc, octave_base_value::exp,
2477 Remove. (octave_base_value::erf): Remove. 2483 octave_base_value::expm1, octave_base_value::finite,
2478 (octave_base_value::erfc): Remove. (octave_base_value::exp): 2484 octave_base_value::fix, octave_base_value::floor,
2479 Remove. (octave_base_value::expm1): Remove. 2485 octave_base_value::gamma, octave_base_value::imag,
2480 (octave_base_value::finite): Remove. (octave_base_value::fix): 2486 octave_base_value::isinf, octave_base_value::isna,
2481 Remove. (octave_base_value::floor): Remove. 2487 octave_base_value::isnan, octave_base_value::lgamma,
2482 (octave_base_value::gamma): Remove. (octave_base_value::imag): 2488 octave_base_value::log, octave_base_value::log2,
2483 Remove. (octave_base_value::isinf): Remove. 2489 octave_base_value::log10, octave_base_value::log1p,
2484 (octave_base_value::isna): Remove. (octave_base_value::isnan): 2490 octave_base_value::real, octave_base_value::round,
2485 Remove. (octave_base_value::lgamma): Remove. 2491 octave_base_value::roundb, octave_base_value::signum,
2486 (octave_base_value::log): Remove. (octave_base_value::log2): 2492 octave_base_value::sin, octave_base_value::sinh,
2487 Remove. (octave_base_value::log10): Remove. 2493 octave_base_value::sqrt, octave_base_value::tan,
2488 (octave_base_value::log1p): Remove. (octave_base_value::real): 2494 octave_base_value::tanh): Remove.
2489 Remove. (octave_base_value::round): Remove.
2490 (octave_base_value::roundb): Remove.
2491 (octave_base_value::signum): Remove. (octave_base_value::sin):
2492 Remove. (octave_base_value::sinh): Remove.
2493 (octave_base_value::sqrt): Remove. (octave_base_value::tan):
2494 Remove. (octave_base_value::tanh): Remove.
2495 2495
2496 * ov.h (octave_value::map (unary_mapper_t)): New method. 2496 * ov.h (octave_value::map (unary_mapper_t)): New method.
2497 (octave_value::abs): Remove. (octave_value::acos): Remove. 2497 (octave_value::abs, octave_value::acos, octave_value::acosh,
2498 (octave_value::acosh): Remove. (octave_value::angle): Remove. 2498 octave_value::angle, octave_value::arg, octave_value::asin,
2499 (octave_value::arg): Remove. (octave_value::asin): Remove. 2499 octave_value::asinh, octave_value::atan, octave_value::atanh,
2500 (octave_value::asinh): Remove. (octave_value::atan): Remove. 2500 octave_value::ceil, octave_value::conj, octave_value::cos,
2501 (octave_value::atanh): Remove. (octave_value::ceil): Remove. 2501 octave_value::cosh, octave_value::erf, octave_value::erfc,
2502 (octave_value::conj): Remove. (octave_value::cos): Remove. 2502 octave_value::exp, octave_value::expm1, octave_value::finite,
2503 (octave_value::cosh): Remove. (octave_value::erf): Remove. 2503 octave_value::fix, octave_value::floor, octave_value::gamma,
2504 (octave_value::erfc): Remove. (octave_value::exp): Remove. 2504 octave_value::imag, octave_value::isinf, octave_value::isna,
2505 (octave_value::expm1): Remove. (octave_value::finite): Remove. 2505 octave_value::isnan, octave_value::lgamma, octave_value::log,
2506 (octave_value::fix): Remove. (octave_value::floor): Remove. 2506 octave_value::log2, octave_value::log10, octave_value::log1p,
2507 (octave_value::gamma): Remove. (octave_value::imag): Remove. 2507 octave_value::real, octave_value::round, octave_value::roundb,
2508 (octave_value::isinf): Remove. (octave_value::isna): Remove. 2508 octave_value::signum, octave_value::sin, octave_value::sinh,
2509 (octave_value::isnan): Remove. (octave_value::lgamma): Remove. 2509 octave_value::sqrt, octave_value::tan, octave_value::tanh): Remove.
2510 (octave_value::log): Remove. (octave_value::log2): Remove. 2510
2511 (octave_value::log10): Remove. (octave_value::log1p): Remove. 2511 * ov-scalar.h, ov-scalar.cc (octave_scalar): Update.
2512 (octave_value::real): Remove. (octave_value::round): Remove. 2512 * ov-float.h, ov-float.cc (octave_float): Update.
2513 (octave_value::roundb): Remove. (octave_value::signum): Remove. 2513
2514 (octave_value::sin): Remove. (octave_value::sinh): Remove. 2514 * ov-complex.h, ov-complex.cc (octave_complex): Update.
2515 (octave_value::sqrt): Remove. (octave_value::tan): Remove. 2515 * ov-flt-complex.h, ov-flt-complex.cc (octave_float_complex):
2516 (octave_value::tanh): Remove.
2517
2518 * ov-scalar.h, ov-scalar.cc (octave_scalar): Update. *
2519 ov-float.h, ov-float.cc (octave_float): Update.
2520
2521 * ov-complex.h, ov-complex.cc (octave_complex): Update. *
2522 ov-flt-complex.h, ov-flt-complex.cc (octave_float_complex):
2523 Update. 2516 Update.
2524 2517
2525 * ov-re-matrix.h ov-re-matrix.cc (octave_matrix): Update. * 2518 * ov-re-matrix.h, ov-re-matrix.cc (octave_matrix): Update.
2526 ov-flt-re-matrix.h ov-flt-re-matrix.cc (octave_float_matrix): 2519 * ov-flt-re-matrix.h, ov-flt-re-matrix.cc (octave_float_matrix): Update.
2527 Update. * ov-cx-matrix.h ov-cx-matrix.cc 2520 * ov-cx-matrix.h, ov-cx-matrix.cc (octave_complex_matrix): Update.
2528 (octave_complex_matrix): Update. * ov-flt-cx-matrix.h 2521 * ov-flt-cx-matrix.h, ov-flt-cx-matrix.cc
2529 ov-flt-cx-matrix.cc (octave_float_complex_matrix): Update. 2522 (octave_float_complex_matrix): Update.
2530 2523
2531 * ov-re-sparse.h ov-re-sparse.cc (octave_sparse_matrix): Update. 2524 * ov-re-sparse.h, ov-re-sparse.cc (octave_sparse_matrix): Update.
2532 * ov-cx-sparse.h ov-cx-sparse.cc (octave_sparse_complex_matrix): 2525 * ov-cx-sparse.h, ov-cx-sparse.cc (octave_sparse_complex_matrix):
2533 Update. 2526 Update.
2534 2527
2535 * ov-re-diag.h ov-re-diag.cc (octave_diag_matrix): Update. * 2528 * ov-re-diag.h, ov-re-diag.cc (octave_diag_matrix): Update.
2536 ov-flt-re-diag.h ov-flt-re-diag.cc (octave_float_diag_matrix): 2529 * ov-flt-re-diag.h, ov-flt-re-diag.cc (octave_float_diag_matrix):
2537 Update. * ov-cx-diag.h ov-cx-diag.cc 2530 Update.
2538 (octave_complex_diag_matrix): Update. * ov-flt-cx-diag.h 2531 * ov-cx-diag.h ov-cx-diag.cc (octave_complex_diag_matrix): Update.
2539 ov-flt-cx-diag.cc (octave_float_complex_diag_matrix): Update. 2532 * ov-flt-cx-diag.h, ov-flt-cx-diag.cc
2540 2533 (octave_float_complex_diag_matrix): Update.
2541 * ov-range.h (octave_range): Update. * ov-intx.h 2534
2542 (OCTAVE_VALUE_INT_MATRIX_T): Update. 2535 * ov-range.h (octave_range): Update.
2536 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T): Update.
2543 (OCTAVE_VALUE_INT_SCALAR_T): Update. 2537 (OCTAVE_VALUE_INT_SCALAR_T): Update.
2544 2538
2545 * ov-perm.h (octave_perm_matrix): Update. * ov-bool.h 2539 * ov-perm.h (octave_perm_matrix): Update.
2546 (octave_bool): Update. * ov-bool-mat.h (octave_bool_matrix): 2540 * ov-bool.h (octave_bool): Update.
2547 Update. * ov-ch-mat.h (octave_char_matrix): Update. 2541 * ov-bool-mat.h (octave_bool_matrix): Update.
2542 * ov-ch-mat.h (octave_char_matrix): Update.
2548 2543
2549 * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh, 2544 * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh,
2550 Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp, 2545 Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp,
2551 Fexpm1, Ffinite, Ffix, Ffloor, Fgamma, Fimag, Fisinf, Fisna, 2546 Fexpm1, Ffinite, Ffix, Ffloor, Fgamma, Fimag, Fisinf, Fisna,
2552 Fisnan, Flgamma, Flog, Flog2, Flog10, Flog1p, Freal, Fround, 2547 Fisnan, Flgamma, Flog, Flog2, Flog10, Flog1p, Freal, Fround,
2561 of string_vector (std::list<std:string>) constructor. 2556 of string_vector (std::list<std:string>) constructor.
2562 2557
2563 2009-11-11 John W. Eaton <jwe@octave.org> 2558 2009-11-11 John W. Eaton <jwe@octave.org>
2564 2559
2565 * help.cc (do_get_help_text_from_file, 2560 * help.cc (do_get_help_text_from_file,
2566 Fget_help_text_from_file): New functions. (do_get_help_text): 2561 Fget_help_text_from_file): New functions.
2567 Pass NAME by const reference. * utils.cc (find_dir_in_path): 2562 (do_get_help_text): Pass NAME by const reference.
2568 New optional argument "all". * load-path.cc 2563 * utils.cc (find_dir_in_path): New optional argument "all".
2569 (load_path::do_find_matching_dirs): New function. 2564 * load-path.cc (load_path::do_find_matching_dirs): New function.
2570 (load_path::do_find_dir): Perform match on absolute directory 2565 (load_path::do_find_dir): Perform match on absolute directory
2571 names, but return name as it appears in dir_info_list. Adjust 2566 names, but return name as it appears in dir_info_list. Adjust
2572 dname_len after stripping directory separator. * load-path.h 2567 dname_len after stripping directory separator.
2573 (load_path::do_find_matching_dirs): Provide decl. 2568 * load-path.h (load_path::do_find_matching_dirs): Provide decl.
2574 (load_path::find_matching_dirs): New function. 2569 (load_path::find_matching_dirs): New function.
2575 2570
2576 2009-11-11 Shai Ayal <shaiay@users.sourceforge.net> 2571 2009-11-11 Shai Ayal <shaiay@users.sourceforge.net>
2577 2572
2578 * DLD-FUNCTIONS/fltk_backend.cc (Fl_Gl_Window::draw): If 2573 * DLD-FUNCTIONS/fltk_backend.cc (Fl_Gl_Window::draw):
2579 zooming, call overlay. (Fl_Gl_Window::overlay): Rename from 2574 If zooming, call overlay.
2580 draw_overlay. Don't return early if zooming. Don't call valid 2575 (Fl_Gl_Window::overlay): Rename from draw_overlay. Don't return
2581 and conditionally call setup_veiwport. Set overlay color and 2576 early if zooming. Don't call valid and conditionally call
2582 draw line around zoom box. (Fl_Gl_Window::zoom_box_vertex): New 2577 setup_veiwport. Set overlay color and draw line around zoom box.
2583 function. (Fl_Gl_Window::pixel2status): Call canvas->redraw, 2578 (Fl_Gl_Window::zoom_box_vertex): New function.
2584 not canvas->redraw_overlay. 2579 (Fl_Gl_Window::pixel2status): Call canvas->redraw, not
2580 canvas->redraw_overlay.
2585 2581
2586 2009-11-10 Shai Ayal <shaiay@users.sourceforge.net> 2582 2009-11-10 Shai Ayal <shaiay@users.sourceforge.net>
2587 2583
2588 * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New 2584 * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New
2589 files. PostScript backend based on opengl_renderer and gl2ps. 2585 files. PostScript backend based on opengl_renderer and gl2ps.
2590 * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list. 2586 * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list.
2591 (DIST_SRC): Add gl2ps.c to the list. * gl-render.cc 2587 (DIST_SRC): Add gl2ps.c to the list.
2592 (opengl_renderer::render_text): Rename from 2588 * gl-render.cc (opengl_renderer::render_text): Rename from
2593 opengl_renderer::draw_text. (opengl_renderer::draw_figure, 2589 opengl_renderer::draw_text.
2594 opengl_renderer::draw_axes, opengl_renderer::draw_line, 2590 (opengl_renderer::draw_figure, opengl_renderer::draw_axes,
2595 opengl_renderer::draw_surface, opengl_renderer::draw_patch, 2591 opengl_renderer::draw_line, opengl_renderer::draw_surface,
2596 opengl_renderer::draw_hggroup, opengl_renderer::draw_text, 2592 opengl_renderer::draw_patch, opengl_renderer::draw_hggroup,
2597 opengl_renderer::draw_image): Rename from overloaded 2593 opengl_renderer::draw_text, opengl_renderer::draw_image):
2598 opengl_renderer::draw. * gl-render.h: Fix decls. 2594 Rename from overloaded opengl_renderer::draw.
2599 2595 * gl-render.h: Fix decls.
2600 * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::print): New 2596
2601 function. (OpenGL_fltk::print_filename): New data member. 2597 * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::print): New function.
2598 (OpenGL_fltk::print_filename): New data member.
2602 (OpenGL_fltk::draw): Add support for printing. 2599 (OpenGL_fltk::draw): Add support for printing.
2603 (fltk_backend::print_figure): Call figure_manager::print. 2600 (fltk_backend::print_figure): Call figure_manager::print.
2604 2601
2605 2009-11-10 John W. Eaton <jwe@octave.org> 2602 2009-11-10 John W. Eaton <jwe@octave.org>
2606 2603
2614 2009-11-10 John W. Eaton <jwe@octave.org> 2611 2009-11-10 John W. Eaton <jwe@octave.org>
2615 2612
2616 * Makefile.am, OPERATORS/module.mk, TEMPLATE-INST/module.mk, 2613 * Makefile.am, OPERATORS/module.mk, TEMPLATE-INST/module.mk,
2617 find-defun-files.sh, version.h.in, 2614 find-defun-files.sh, version.h.in,
2618 DLD-FUNCTIONS/config-module.awk, DLD-FUNCTIONS/config-module.sh, 2615 DLD-FUNCTIONS/config-module.awk, DLD-FUNCTIONS/config-module.sh,
2619 DLD-FUNCTIONS/module-files: New files. * Makefile.in, 2616 DLD-FUNCTIONS/module-files: New files.
2620 version.h: Delete. * lex.ll: Rename from lex.l. Include 2617 * Makefile.in, version.h: Delete.
2621 oct-parse.h instead of y.tab.h. * parse.yy: Rename from parse.y 2618 * lex.ll: Rename from lex.l. Include oct-parse.h instead of y.tab.h.
2619 * parse.yy: Rename from parse.y
2622 * mkbuiltins, mkgendoc: Don't require filenames to start with a 2620 * mkbuiltins, mkgendoc: Don't require filenames to start with a
2623 "." at beginning of line. 2621 "." at beginning of line.
2624 2622
2625 * oct-conf.h.in (OCTAVE_CONF_LAPACK_LIBS): Delete macro. * 2623 * oct-conf.h.in (OCTAVE_CONF_LAPACK_LIBS): Delete macro.
2626 toplev.cc (octave_config_info): Don't include LAPACK_LIBS in the 2624 * toplev.cc (octave_config_info): Don't include LAPACK_LIBS in the
2627 struct. 2625 struct.
2628 2626
2629 2009-11-10 Jaroslav Hajek <highegg@gmail.com> 2627 2009-11-10 Jaroslav Hajek <highegg@gmail.com>
2630 2628
2631 * ov-class.cc (octave_class::numel): Use base version if called 2629 * ov-class.cc (octave_class::numel): Use base version if called
2632 from built-in assignment. (octave_class::size): Ditto. 2630 from built-in assignment.
2631 (octave_class::size): Ditto.
2633 2632
2634 2009-11-10 Jaroslav Hajek <highegg@gmail.com> 2633 2009-11-10 Jaroslav Hajek <highegg@gmail.com>
2635 2634
2636 * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Simplify examples in 2635 * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Simplify examples in
2637 docs. 2636 docs.
2638 2637
2639 2009-11-09 Jaroslav Hajek <highegg@gmail.com> 2638 2009-11-09 Jaroslav Hajek <highegg@gmail.com>
2640 2639
2641 * ov-base.cc (btyp_mixed_numeric): New function. * ov-base.h: 2640 * ov-base.cc (btyp_mixed_numeric): New function.
2642 Declare it. (btyp_isnumeric): New inline function. * 2641 * ov-base.h: Declare it.
2643 DLD_FUNCTIONS/max.cc (do_minmax_red_op, do_minmax_bin_op, 2642 (btyp_isnumeric): New inline function.
2643 * DLD_FUNCTIONS/max.cc (do_minmax_red_op, do_minmax_bin_op,
2644 do_minmax_body, do_cumminmax_red_op): New functions. 2644 do_minmax_body, do_cumminmax_red_op): New functions.
2645 (MINMAX_DOUBLE_SBODY, MINMAX_DOUBLE_BODY, MINMAX_SINGLE_SBODY, 2645 (MINMAX_DOUBLE_SBODY, MINMAX_DOUBLE_BODY, MINMAX_SINGLE_SBODY,
2646 MINMAX_SINGLE_BODY, MINMAX_SPARSE_BODY, MINMAX_INT_SBODY, 2646 MINMAX_SINGLE_BODY, MINMAX_SPARSE_BODY, MINMAX_INT_SBODY,
2647 MINMAX_INT_BODY, MINMAX_BODY, CUMMINMAX_BODY): Remove. (Fmin, 2647 MINMAX_INT_BODY, MINMAX_BODY, CUMMINMAX_BODY): Remove.
2648 Fmax, Fcummin, Fcummax): Update. 2648 (Fmin, Fmax, Fcummin, Fcummax): Update.
2649 2649
2650 2009-11-09 Jaroslav Hajek <highegg@gmail.com> 2650 2009-11-09 Jaroslav Hajek <highegg@gmail.com>
2651 2651
2652 * ov.h: Add sparse matrix extractors. 2652 * ov.h: Add sparse matrix extractors.
2653 2653
2694 subsref/subsasgn with 1xN structs instead of Nx1. 2694 subsref/subsasgn with 1xN structs instead of Nx1.
2695 2695
2696 2009-11-02 Jaroslav Hajek <highegg@gmail.com> 2696 2009-11-02 Jaroslav Hajek <highegg@gmail.com>
2697 2697
2698 * ov-class.cc (octave_class::unique_parent_class): New method. 2698 * ov-class.cc (octave_class::unique_parent_class): New method.
2699 (octave_class::subsasgn): Use it here. * ov-class.h: Declare 2699 (octave_class::subsasgn): Use it here.
2700 it. 2700 * ov-class.h: Declare it.
2701 2701
2702 2009-11-01 John W. Eaton <jwe@octave.org> 2702 2009-11-01 John W. Eaton <jwe@octave.org>
2703 2703
2704 * data.cc (get_sort_mode_option): New function. (Fissorted): 2704 * data.cc (get_sort_mode_option): New function.
2705 Handle ascending or descending option. 2705 (Fissorted): Handle ascending or descending option.
2706 2706
2707 2009-11-01 John W. Eaton <jwe@octave.org> 2707 2009-11-01 John W. Eaton <jwe@octave.org>
2708 2708
2709 * load-path.cc (load_path::dir_info::update): Always initialize 2709 * load-path.cc (load_path::dir_info::update): Always initialize
2710 relative directories that are not yet included in abs_dir_cache. 2710 relative directories that are not yet included in abs_dir_cache.
2720 2720
2721 2009-10-22 Jaroslav Hajek <highegg@gmail.com> 2721 2009-10-22 Jaroslav Hajek <highegg@gmail.com>
2722 2722
2723 * error.cc (verror (bool, std::ostream&, ..., bool)): Add 2723 * error.cc (verror (bool, std::ostream&, ..., bool)): Add
2724 optional with_cfn flag. If specified, prepend current function 2724 optional with_cfn flag. If specified, prepend current function
2725 name (unless already there). (error_1): Accept with_cfn flag 2725 name (unless already there).
2726 and pass it on. (error_2): Ditto. (verror_with_cfn, 2726 (error_1): Accept with_cfn flag and pass it on.
2727 error_with_cfn, error_with_id_cfn, verror_with_id_cfn): New 2727 (error_2): Ditto.
2728 functions. * error.h: Declare them. * octave.cc 2728 (verror_with_cfn, error_with_cfn, error_with_id_cfn,
2729 (lo_error_handler): Call verror_with_cfn. * ov-base.cc 2729 verror_with_id_cfn): New functions.
2730 (INT_CONV_METHOD): Call error_with_cfn. * ov.cc 2730 * error.h: Declare them.
2731 (octave_value::int_vector_value, octave_idx_type_vector_value): 2731 * octave.cc (lo_error_handler): Call verror_with_cfn.
2732 * ov-base.cc (INT_CONV_METHOD): Call error_with_cfn.
2733 * ov.cc (octave_value::int_vector_value, octave_idx_type_vector_value):
2732 Call error_with_cfn. 2734 Call error_with_cfn.
2733 2735
2734 2009-10-21 Rik <octave@nomad.inbox5.com> 2736 2009-10-21 Rik <octave@nomad.inbox5.com>
2735 2737
2736 * variables.cc: Correct use of deftypefnx for who and whos 2738 * variables.cc: Correct use of deftypefnx for who and whos.
2737 2739
2738 2009-10-21 John W. Eaton <jwe@octave.org> 2740 2009-10-21 John W. Eaton <jwe@octave.org>
2739 2741
2740 * load-path.h (load_path::dir_path::dir_time_last_checked): New 2742 * load-path.h (load_path::dir_path::dir_time_last_checked): New
2741 field. (load_path::dir_path::dir_path, 2743 field. (load_path::dir_path::dir_path,
2742 load_path::dir_path::operator=): Initialize and copy 2744 load_path::dir_path::operator=): Initialize and copy
2743 dir_time_last_checked. * load-path.cc 2745 dir_time_last_checked.
2744 (load_path::dir_info::initialize): Store time of last update. 2746 * load-path.cc (load_path::dir_info::initialize): Store time of
2747 last update.
2745 (load_path::dir_info::update): Check directory modification time 2748 (load_path::dir_info::update): Check directory modification time
2746 against time of last update, within resolution of filesystem 2749 against time of last update, within resolution of filesystem
2747 time stamps. Suggested by Judd Storrs <storrsjm@email.uc.edu>. 2750 time stamps. Suggested by Judd Storrs <storrsjm@email.uc.edu>.
2748 2751
2749 2009-10-20 Jaroslav Hajek <highegg@gmail.com> 2752 2009-10-20 Jaroslav Hajek <highegg@gmail.com>
2750 2753
2751 * ov-base.h (builtin_type_t): Declare also btyp_num_types. * 2754 * ov-base.h (builtin_type_t): Declare also btyp_num_types.
2752 DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New enum. 2755 * DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New enum.
2753 (bsxfun_handler): New typedef. (bsxfun_builtin_names, 2756 (bsxfun_handler): New typedef.
2754 bsxfun_handler_table): New variables. (bsxfun_builtin_lookup, 2757 (bsxfun_builtin_names, bsxfun_handler_table): New variables.
2755 maybe_fill_table, maybe_optimized_builtin): New static funcs. 2758 (bsxfun_builtin_lookup, maybe_fill_table, maybe_optimized_builtin):
2756 (bsxfun_forward_op, bsxfun_forward_rel): New static template 2759 New static funcs.
2757 funcs. (Fbsxfun): Try to optimize some built-in operations. 2760 (bsxfun_forward_op, bsxfun_forward_rel): New static template funcs.
2761 (Fbsxfun): Try to optimize some built-in operations.
2758 2762
2759 2009-10-19 Jaroslav Hajek <highegg@gmail.com> 2763 2009-10-19 Jaroslav Hajek <highegg@gmail.com>
2760 2764
2761 * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Allow non-positive 2765 * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Allow non-positive
2762 indices as bounds. 2766 indices as bounds.
2765 2769
2766 * data.cc (Fnth_element): Clarify docstring. 2770 * data.cc (Fnth_element): Clarify docstring.
2767 2771
2768 2009-10-16 Jaroslav Hajek <highegg@gmail.com> 2772 2009-10-16 Jaroslav Hajek <highegg@gmail.com>
2769 2773
2770 * Cell.cc: Remove traces of ArrayN. * Cell.h: Ditto. * 2774 * Cell.cc, Cell.h, DLD-FUNCTIONS/besselj.cc,
2771 DLD-FUNCTIONS/besselj.cc: Ditto. * DLD-FUNCTIONS/find.cc: 2775 DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/lookup.cc,
2772 Ditto. * DLD-FUNCTIONS/lookup.cc: Ditto. * 2776 DLD-FUNCTIONS/max.cc, TEMPLATE-INST/Array-tc.cc, data.cc,
2773 DLD-FUNCTIONS/max.cc: Ditto. * TEMPLATE-INST/Array-tc.cc: 2777 oct-map.cc, ov-cx-mat.h, ov-flt-cx-mat.cc, ov-flt-cx-mat.h,
2774 Ditto. * data.cc: Ditto. * oct-map.cc: Ditto. * ov-cx-mat.h: 2778 ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-re-mat.h,
2775 Ditto. * ov-flt-cx-mat.cc: Ditto. * ov-flt-cx-mat.h: Ditto. * 2779 ov.cc, ov.h, pr-output.cc, pr-output.h, variables.cc:
2776 ov-flt-re-mat.cc: Ditto. * ov-flt-re-mat.h: Ditto. * 2780 Remove traces of ArrayN.
2777 ov-intx.h: Ditto. * ov-re-mat.h: Ditto. * ov.cc: Ditto. *
2778 ov.h: Ditto. * pr-output.cc: Ditto. * pr-output.h: Ditto. *
2779 variables.cc: Ditto.
2780 2781
2781 * OPERATORS/op-dm-scm.cc: Avoid using dm + s, dm - s operators. 2782 * OPERATORS/op-dm-scm.cc: Avoid using dm + s, dm - s operators.
2782 * OPERATORS/op-dm-sm.cc: Ditto. 2783 * OPERATORS/op-dm-sm.cc: Ditto.
2783 * OPERATORS/op-dms-template.cc: Ditto. 2784 * OPERATORS/op-dms-template.cc: Ditto.
2784 2785
2790 2791
2791 * DLD-FUNCTIONS/lookup.cc (Flookup): Update docstring. 2792 * DLD-FUNCTIONS/lookup.cc (Flookup): Update docstring.
2792 2793
2793 2009-10-15 Jaroslav Hajek <highegg@gmail.com> 2794 2009-10-15 Jaroslav Hajek <highegg@gmail.com>
2794 2795
2795 * ov.h (octave_value::octave_value (octave_base_value *, bool)) : New constructor. 2796 * ov.h (octave_value::octave_value (octave_base_value *, bool)):
2797 New constructor.
2796 (octave_value::octave_value (octave_base_value *, int)): Deprecate. 2798 (octave_value::octave_value (octave_base_value *, int)): Deprecate.
2797 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow the obsolete func body syntax. 2799 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow the obsolete func
2800 body syntax.
2798 2801
2799 2009-10-15 Jaroslav Hajek <highegg@gmail.com> 2802 2009-10-15 Jaroslav Hajek <highegg@gmail.com>
2800 2803
2801 * variables.cc (extract_function): Pass 0 to eval_string to avoid 2804 * variables.cc (extract_function): Pass 0 to eval_string to avoid
2802 error. 2805 error.
2849 2009-10-08 Jaroslav Hajek <highegg@gmail.com> 2852 2009-10-08 Jaroslav Hajek <highegg@gmail.com>
2850 2853
2851 * data.cc (Flength): Simplify. 2854 * data.cc (Flength): Simplify.
2852 (Fndims): Simplify. 2855 (Fndims): Simplify.
2853 (Fsize): Rewrite, use dim_vector::redim to simplify. 2856 (Fsize): Rewrite, use dim_vector::redim to simplify.
2854 (Fsize_equal): Don't chop trailing singletons (should be already chopped). 2857 (Fsize_equal): Don't chop trailing singletons (should be already
2858 chopped).
2855 2859
2856 2009-10-08 Jaroslav Hajek <highegg@gmail.com> 2860 2009-10-08 Jaroslav Hajek <highegg@gmail.com>
2857 2861
2858 * utils.cc (dims_to_numel): New function. 2862 * utils.cc (dims_to_numel): New function.
2859 * utils.h: Declare it. 2863 * utils.h: Declare it.
3013 * ov-base.h (builtin_type_t): New enum. 3017 * ov-base.h (builtin_type_t): New enum.
3014 (octave_base_value::builtin_type): New method. 3018 (octave_base_value::builtin_type): New method.
3015 * ov-re-mat.h (octave_matrix::builtin_type): New method. 3019 * ov-re-mat.h (octave_matrix::builtin_type): New method.
3016 * ov-flt-re-mat.h (octave_float_matrix::builtin_type): New method. 3020 * ov-flt-re-mat.h (octave_float_matrix::builtin_type): New method.
3017 * ov-cx-mat.h (octave_complex_matrix::builtin_type): New method. 3021 * ov-cx-mat.h (octave_complex_matrix::builtin_type): New method.
3018 * ov-flt-cx-mat.h (octave_float_complex_matrix::builtin_type): New method. 3022 * ov-flt-cx-mat.h (octave_float_complex_matrix::builtin_type):
3023 New method.
3019 * ov-bool-mat.h (octave_bool_matrix::builtin_type): New method. 3024 * ov-bool-mat.h (octave_bool_matrix::builtin_type): New method.
3020 * ov-ch-mat.h (octave_char_matrix::builtin_type): New method. 3025 * ov-ch-mat.h (octave_char_matrix::builtin_type): New method.
3021 * ov-scalar.h (octave_scalar::builtin_type): New method. 3026 * ov-scalar.h (octave_scalar::builtin_type): New method.
3022 * ov-float.h (octave_float::builtin_type): New method. 3027 * ov-float.h (octave_float::builtin_type): New method.
3023 * ov-complex.h (octave_complex::builtin_type): New method. 3028 * ov-complex.h (octave_complex::builtin_type): New method.
3024 * ov-bool.h (octave_bool::builtin_type): New method. 3029 * ov-bool.h (octave_bool::builtin_type): New method.
3025 * ov-flt-complex.h (octave_float_complex::builtin_type): New method. 3030 * ov-flt-complex.h (octave_float_complex::builtin_type): New method.
3026 * ov-re-diag.h (octave_diag_matrix::builtin_type): New method. 3031 * ov-re-diag.h (octave_diag_matrix::builtin_type): New method.
3027 * ov-flt-re-diag.h (octave_float_diag_matrix::builtin_type): New method. 3032 * ov-flt-re-diag.h (octave_float_diag_matrix::builtin_type): New method.
3028 * ov-cx-diag.h (octave_complex_diag_matrix::builtin_type): New method. 3033 * ov-cx-diag.h (octave_complex_diag_matrix::builtin_type): New method.
3029 * ov-flt-cx-diag.h (octave_float_complex_diag_matrix::builtin_type): New method. 3034 * ov-flt-cx-diag.h
3035 (octave_float_complex_diag_matrix::builtin_type):
3036 New method.
3030 * ov-re-sparse.h (octave_sparse_matrix::builtin_type): New method. 3037 * ov-re-sparse.h (octave_sparse_matrix::builtin_type): New method.
3031 * ov-cx-sparse.h (octave_sparse_complex_matrix::builtin_type): New method. 3038 * ov-cx-sparse.h (octave_sparse_complex_matrix::builtin_type):
3032 * ov-bool-sparse.h (octave_sparse_bool_matrix::builtin_type): New method. 3039 New method.
3033 * ov-intx.h (octave_int_matrix::builtin_type, octave_int_scalar::builtin_type): New methods. 3040 * ov-bool-sparse.h (octave_sparse_bool_matrix::builtin_type):
3041 New method.
3042 * ov-intx.h (octave_int_matrix::builtin_type,
3043 octave_int_scalar::builtin_type): New methods.
3034 * ov-int8.h: Define OCTAVE_INT_BTYP. 3044 * ov-int8.h: Define OCTAVE_INT_BTYP.
3035 * ov-int16.h: Define OCTAVE_INT_BTYP. 3045 * ov-int16.h: Define OCTAVE_INT_BTYP.
3036 * ov-int32.h: Define OCTAVE_INT_BTYP. 3046 * ov-int32.h: Define OCTAVE_INT_BTYP.
3037 * ov-int64.h: Define OCTAVE_INT_BTYP. 3047 * ov-int64.h: Define OCTAVE_INT_BTYP.
3038 * ov-uint8.h: Define OCTAVE_INT_BTYP. 3048 * ov-uint8.h: Define OCTAVE_INT_BTYP.
3091 3101
3092 2009-09-26 Jaroslav Hajek <highegg@gmail.com> 3102 2009-09-26 Jaroslav Hajek <highegg@gmail.com>
3093 3103
3094 * OPERATORS/op-m-m.cc (trans_mul, mul_trans): Update. 3104 * OPERATORS/op-m-m.cc (trans_mul, mul_trans): Update.
3095 * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): Update. 3105 * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): Update.
3096 * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): Update. 3106 * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm):
3097 * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm): Update. 3107 Update.
3108 * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm):
3109 Update.
3098 * OPERATORS/op-m-cm.cc (trans_mul): Update. 3110 * OPERATORS/op-m-cm.cc (trans_mul): Update.
3099 * OPERATORS/op-cm-m.cc (mul_trans): Update. 3111 * OPERATORS/op-cm-m.cc (mul_trans): Update.
3100 * OPERATORS/op-fm-fcm.cc (trans_mul): Update. 3112 * OPERATORS/op-fm-fcm.cc (trans_mul): Update.
3101 * OPERATORS/op-fcm-fm.cc (mul_trans): Update. 3113 * OPERATORS/op-fcm-fm.cc (mul_trans): Update.
3102 3114