annotate NEWS-3.4.html @ 88:45d807d2bfcc kai

Revisit index start page.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Mon, 17 Oct 2016 18:39:05 +0200
parents 373d2dba318e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
1 <pre>
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
2 Summary of important user-visible changes for version 3.4.3:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
3 -----------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
4
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
5 ** Octave 3.4.3 is a bug fixing release.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
6
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
7 Summary of important user-visible changes for version 3.4.2:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
8 -----------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
9
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
10 ** Octave 3.2.4 fixes some minor installation problems that affected
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
11 version 3.4.1.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
12
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
13 Summary of important user-visible changes for version 3.4.1:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
14 -----------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
15
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
16 ** Octave 3.4.1 is primarily a bug fixing release.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
17
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
18 ** IMPORTANT note about binary incompatibility in this release:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
19
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
20 Binary compatibility for all 3.4.x releases was originally planned,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
21 but this is impossible for the 3.4.1 release due to a bug in the way
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
22 shared libraries were built in Octave 3.4.0. Because of this bug,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
23 .oct files built for Octave 3.4.0 must be recompiled before they
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
24 will work with Octave 3.4.1.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
25
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
26 Given that there would be binary incompatibilities with shared
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
27 libraries going from Octave 3.4.0 to 3.4.1, the following
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
28 incompatible changes were also made in this release:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
29
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
30 * The Perl Compatible Regular Expression (PCRE) library is now
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
31 required to build Octave.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
32
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
33 * Octave's libraries and .oct files are now installed in
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
34 subdirectories of $libdir instead of $libexecdir.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
35
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
36 Any future Octave 3.4.x release versions should remain binary
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
37 compatible with Octave 3.4.1 as proper library versioning is now
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
38 being used as recommended by the libtool manual.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
39
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
40 ** The following functions have been deprecated in Octave 3.4.1 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
41 be removed from Octave 3.8 (or whatever version is the second major
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
42 release after 3.4):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
43
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
44 cquad is_duplicate_entry perror strerror
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
45
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
46 ** The following functions are new in 3.4.1:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
47
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
48 colstyle gmres iscolumn isrow mgorth nproc rectangle
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
49
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
50 ** The get_forge_pkg function is now private.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
51
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
52 ** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
53 functions are now private.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
54
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
55 ** The logistic_regression_derivatives and logistic_regression_likelihood
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
56 functions are now private.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
57
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
58 ** ChangeLog files in the Octave sources are no longer maintained
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
59 by hand. Instead, there is a single ChangeLog file generated from
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
60 the Mercurial version control commit messages. Older ChangeLog
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
61 information can be found in the etc/OLD-ChangeLogs directory in the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
62 source distribution.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
63
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
64 Summary of important user-visible changes for version 3.4:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
65 ---------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
66
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
67 ** BLAS and LAPACK libraries are now required to build Octave. The
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
68 subset of the reference BLAS and LAPACK libraries has been removed
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
69 from the Octave sources.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
70
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
71 ** The `lookup' function was extended to be more useful for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
72 general-purpose binary searching. Using this improvement, the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
73 ismember function was rewritten for significantly better
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
74 performance.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
75
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
76 ** Real, integer and logical matrices, when used in indexing, will now
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
77 cache the internal index_vector value (zero-based indices) when
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
78 successfully used as indices, eliminating the conversion penalty for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
79 subsequent indexing by the same matrix. In particular, this means it
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
80 is no longer needed to avoid repeated indexing by logical arrays
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
81 using find for performance reasons.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
82
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
83 ** Logical matrices are now treated more efficiently when used as
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
84 indices. Octave will keep the index as a logical mask unless the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
85 ratio of true elements is small enough, using a specialized
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
86 code. Previously, all logical matrices were always first converted
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
87 to index vectors. This results in savings in both memory and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
88 computing time.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
89
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
90 ** The `sub2ind' and `ind2sub' functions were reimplemented as compiled
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
91 functions for better performance. These functions are now faster,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
92 can deliver more economized results for ranges, and can reuse the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
93 index cache mechanism described in previous paragraph.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
94
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
95 ** The built-in function equivalents to associative operators (`plus',
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
96 `times', `mtimes', `and', and `or') have been extended to accept
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
97 multiple arguments. This is especially useful for summing
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
98 (multiplying, etc.) lists of objects (of possibly distinct types):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
99
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
100 matrix_sum = plus (matrix_list{:});
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
101
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
102 ** An FTP object type based on libcurl has been implemented. These
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
103 objects allow ftp connections, downloads and uploads to be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
104 managed. For example,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
105
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
106 fp = ftp ("ftp.octave.org);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
107 cd (fp, "gnu/octave");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
108 mget (fp, "octave-3.2.3.tar.bz2");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
109 close (fp);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
110
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
111 ** The default behavior of `assert (observed, expected)' has been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
112 relaxed to employ less strict checking that does not require the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
113 internals of the values to match. This avoids previously valid
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
114 tests from breaking due to new internal classes introduced in future
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
115 Octave versions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
116
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
117 For instance, all of these assertions were true in Octave 3.0.x
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
118 but false in 3.2.x due to new optimizations and improvements:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
119
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
120 assert (2*linspace (1, 5, 5), 2*(1:5))
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
121 assert (zeros (0, 0), [])
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
122 assert (2*ones (1, 5), (2) (ones (1,5)))
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
123
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
124 ** The behavior of library functions `ismatrix', `issquare', and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
125 `issymmetric' has been changed for better consistency.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
126
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
127 * The `ismatrix' function now returns true for all numeric,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
128 logical and character 2-D or N-D matrices. Previously, `ismatrix'
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
129 returned false if the first or second dimension was zero.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
130 Hence, `ismatrix ([])' was false,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
131 while `ismatrix (zeros (1,2,0))' was true.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
132
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
133 * The `issquare' function now returns a logical scalar, and is
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
134 equivalent to the expression
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
135
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
136 ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
137
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
138 The dimension is no longer returned. As a result, `issquare ([])'
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
139 now yields true.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
140
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
141 * The `issymmetric' function now checks for symmetry instead of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
142 Hermitianness. For the latter, ishermitian was created. Also,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
143 logical scalar is returned rather than the dimension, so
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
144 `issymmetric ([])' is now true.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
145
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
146 ** Function handles are now aware of overloaded functions. If a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
147 function is overloaded, the handle determines at the time of its
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
148 reference which function to call. A non-overloaded version does not
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
149 need to exist.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
150
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
151 ** Overloading functions for built-in classes (double, int8, cell,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
152 etc.) is now compatible with Matlab.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
153
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
154 ** Function handles can now be compared with the == and != operators,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
155 as well as the `isequal' function.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
156
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
157 ** Performance of concatenation (using []) and the functions `cat',
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
158 `horzcat', and `vertcat' has been improved for multidimensional
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
159 arrays.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
160
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
161 ** The operation-assignment operators +=, -=, *= and /= now behave more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
162 efficiently in certain cases. For instance, if M is a matrix and S a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
163 scalar, then the statement
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
164
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
165 M += S;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
166
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
167 will operate on M's data in-place if it is not shared by another
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
168 variable, usually increasing both time and memory efficiency.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
169
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
170 Only selected common combinations are affected, namely:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
171
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
172 matrix += matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
173 matrix -= matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
174 matrix .*= matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
175 matrix ./= matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
176
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
177 matrix += scalar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
178 matrix -= scalar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
179 matrix *= scalar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
180 matrix /= scalar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
181
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
182 logical matrix |= logical matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
183 logical matrix &= logical matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
184
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
185 where matrix and scalar belong to the same class. The left-hand
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
186 side must be a simple variable reference.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
187
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
188 Moreover, when unary operators occur in expressions, Octave will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
189 also try to do the operation in-place if it's argument is a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
190 temporary expresssion.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
191
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
192 ** The effect of comparison operators (<, >, <=, and >=) applied to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
193 complex numbers has changed to be consistent with the strict
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
194 ordering defined by the `max', `min', and `sort' functions. More
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
195 specifically, complex numbers are compared by lexicographical
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
196 comparison of the pairs `[abs(z), arg(z)]'. Previously, only real
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
197 parts were compared; this can be trivially achieved by wrapping the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
198 operands in real().
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
199
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
200 ** The automatic simplification of complex computation results has
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
201 changed. Octave will now simplify any complex number with a zero
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
202 imaginary part or any complex matrix with all elements having zero
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
203 imaginary part to a real value. Previously, this was done only for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
204 positive zeros. Note that the behavior of the complex function is
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
205 unchanged and it still produces a complex value even if the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
206 imaginary part is zero.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
207
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
208 ** As a side effect of code refactoring in liboctave, the binary
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
209 logical operations are now more easily amenable to compiler
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
210 optimizations and are thus significantly faster.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
211
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
212 ** Octave now allows user-defined `subsasgn' methods to optimize out
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
213 redundant copies. For more information, see the manual.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
214
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
215 ** More efficient matrix division handling. Octave is now able to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
216 handle the expressions
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
217
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
218 M' \ V
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
219 M.' \ V
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
220 V / M
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
221
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
222 (M is a matrix and V is a vector) more efficiently in certain cases.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
223 In particular, if M is triangular, all three expressions will be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
224 handled by a single call to xTRTRS (from LAPACK), with appropriate
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
225 flags. Previously, all three expressions required a physical
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
226 transpose of M.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
227
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
228 ** More efficient handling of certain mixed real-complex matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
229 operations. For instance, if RM is a real matrix and CM a complex
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
230 matrix,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
231
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
232 RM * CM
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
233
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
234 can now be evaluated either as
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
235
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
236 complex (RM * real (CM), RM * imag (CM))
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
237
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
238 or as
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
239
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
240 complex (RM) * CM,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
241
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
242 depending on the dimensions. The first form requires more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
243 temporaries and copying, but halves the FLOP count, which normally
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
244 brings better performance if RM has enough rows. Previously, the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
245 second form was always used.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
246
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
247 Matrix division is similarly affected.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
248
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
249 ** More efficient handling of triangular matrix factors returned from
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
250 factorizations. The functions for computing QR, LU and Cholesky
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
251 factorizations will now automatically return the triangular matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
252 factors with proper internal matrix_type set, so that it won't need
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
253 to be computed when the matrix is used for division.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
254
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
255 ** The built-in `sum' function now handles the non-native summation
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
256 (i.e., double precision sum of single or integer inputs) more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
257 efficiently, avoiding a temporary conversion of the whole input
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
258 array to doubles. Further, `sum' can now accept an extra option
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
259 argument, using a compensated summation algorithm rather than a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
260 straightforward sum, which significantly improves precision if lots
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
261 of cancellation occurs in the summation.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
262
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
263 ** The built-in `bsxfun' function now uses optimized code for certain
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
264 cases where built-in operator handles are passed in. Namely, the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
265 optimizations concern the operators `plus', `minus', `times',
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
266 `ldivide', `rdivide', `power', `and', `or' (for logical arrays),
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
267 the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
268 functions `min' and `max'. Optimizations only apply when both
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
269 operands are of the same built-in class. Mixed real/complex and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
270 single/double operations will first convert both operands to a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
271 common type.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
272
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
273 ** The `strfind' and `strrep' functions now have compiled
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
274 implementations, facilitating significantly more efficient searching
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
275 and replacing in strings, especially with longer patterns. The code
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
276 of `strcat' has been vectorized and is now much more efficient when
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
277 many strings are concatenated. The `strcmpi' and `strncmpi'
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
278 functions are now built-in functions, providing better performance.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
279
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
280 ** Matlab-style ignoring input and output function arguments using
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
281 tilde (~) is now supported. Ignored output arguments may be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
282 detected from a function using the built-in function `isargout'.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
283 For more details, consult the manual.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
284
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
285 ** The list datatype, deprecated since the introduction of cells, has
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
286 been removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
287
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
288 ** The accumarray function has been optimized and is now significantly
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
289 faster in certain important cases.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
290
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
291 ** The behavior of isreal and isnumeric functions was changed to be more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
292 Matlab-compatible.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
293
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
294 ** The integer math & conversion warnings (Octave:int-convert-nan,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
295 Octave:int-convert-non-int-val, Octave:int-convert-overflow,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
296 Octave:int-math-overflow) have been removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
297
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
298 ** rem and mod are now built-in functions. They also handle integer
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
299 types efficiently using integer arithmetic.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
300
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
301 ** Sparse indexing and indexed assignment has been mostly rewritten.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
302 Since Octave uses compressed column storage for sparse matrices,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
303 major attention is devoted to operations manipulating whole columns.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
304 Such operations are now significantly faster, as well as some other
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
305 important cases.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
306
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
307 Further, it is now possible to pre-allocate a sparse matrix and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
308 subsequently fill it by assignments, provided they meet certain
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
309 conditions. For more information, consult the `spalloc' function,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
310 which is no longer a mere dummy. Consequently, nzmax and nnz are no
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
311 longer always equal in Octave. Octave may also produce a matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
312 with nnz < nzmax as a result of other operations, so you should
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
313 consistently use nnz unless you really want to use nzmax (i.e. the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
314 space allocated for nonzero elements).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
315
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
316 Sparse concatenation is also affected, and concatenating sparse
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
317 matrices, especially larger collections, is now significantly more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
318 efficient. This applies to both the [] operator and the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
319 cat/vertcat/horzcat functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
320
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
321 ** It is now possible to optionally employ the xGESDD LAPACK drivers
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
322 for computing the singular value decomposition using svd(), instead
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
323 of the default xGESVD, using the configuration pseudo-variable
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
324 svd_driver. The xGESDD driver can be up to 6x times faster when
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
325 singular vectors are requested, but is reported to be somewhat less
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
326 robust on highly ill-conditioned matrices.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
327
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
328 ** Configuration pseudo-variables, such as page_screen_output or
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
329 confirm_recursive_rmdir (or the above mentioned svd_driver), now
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
330 accept a "local" option as second argument, requesting the change
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
331 to be undone when the current function returns:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
332
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
333 function [status, msg] = rm_rf (dir)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
334 confirm_recursive_rmdir (false, "local");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
335 [status, msg] = rmdir (dir, "s");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
336 ...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
337 endfunction
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
338
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
339 Upon return, confirm_recursive_rmdir will be restored to the value
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
340 it had on entry to the function, even if there were subsequent
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
341 changes to the variable in function rm_rf or any of the functions
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
342 it calls.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
343
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
344 ** pkg now accepts a -forge option for downloading and installing
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
345 packages from Octave Forge automatically. For example,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
346
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
347 pkg install -forge general
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
348
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
349 will automatically download the latest release of the general
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
350 package and attempt to install it. No automatic resolving of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
351 dependencies is provided. Further,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
352
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
353 pkg list -forge
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
354
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
355 can be used to list all available packages.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
356
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
357 ** The internal data representation of structs has been completely
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
358 rewritten to make certain optimizations feasible. The field data
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
359 can now be shared between structs with equal keys but different
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
360 dimensions or values, making operations that preserve the fields
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
361 faster. Economized storage is now used for scalar structs (just
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
362 like most other scalars), making their usage more
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
363 memory-efficient. Certain array-like operations on structs
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
364 (concatenation, uniform cellfun, num2cell) have gained a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
365 significant speed-up. Additionally, the octave_scalar_map class
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
366 now provides a simpler interface to work with scalar structs within
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
367 a C++ DLD function.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
368
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
369 ** Two new formats are available for displaying numbers:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
370
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
371 format short eng
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
372 format long eng
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
373
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
374 Both display numbers in engineering notation, i.e., mantissa +
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
375 exponent where the exponent is a multiple of 3.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
376
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
377 ** The following functions are new in Octave 3.4:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
378
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
379 accumdim erfcx nfields pqpnonneg uigetdir
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
380 bitpack fileread nth_element quadcc uigetfile
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
381 bitunpack fminbnd onCleanup randi uiputfile
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
382 blkmm fskipl pbaspect repelems uimenu
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
383 cbrt ifelse pie3 reset whitebg
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
384 curl ishermitian powerset rsf2csf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
385 chop isindex ppder saveas
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
386 daspect luupdate ppint strread
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
387 divergence merge ppjumps textread
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
388
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
389 ** Using the image function to view images with external programs such
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
390 as display, xv, and xloadimage is no longer supported. The
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
391 image_viewer function has also been removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
392
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
393 ** The behavior of struct assignments to non-struct values has been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
394 changed. Previously, it was possible to overwrite an arbitrary
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
395 value:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
396
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
397 a = 1;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
398 a.x = 2;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
399
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
400 This is no longer possible unless a is an empty matrix or cell
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
401 array.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
402
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
403 ** The dlmread function has been extended to allow specifying a custom
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
404 value for empty fields.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
405
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
406 ** The dlmread and dlmwrite functions have been modified to accept
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
407 file IDs (as returned by fopen) in addition to file names.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
408
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
409 ** Octave can now optimize away the interpreter overhead of an
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
410 anonymous function handle, if the function simply calls another
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
411 function or handle with some of its parameters bound to certain
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
412 values. Example:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
413
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
414 f = @(x) sum (x, 1);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
415
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
416 When f is called, the call is forwarded to @sum with the constant 1
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
417 appended, and the anonymous function call does not occur on the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
418 call stack.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
419
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
420 ** Deprecated functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
421
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
422 The following functions were deprecated in Octave 3.0 and have been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
423 removed from Octave 3.4.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
424
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
425 beta_cdf geometric_pdf pascal_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
426 beta_inv geometric_rnd pascal_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
427 beta_pdf hypergeometric_cdf poisson_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
428 beta_rnd hypergeometric_inv poisson_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
429 binomial_cdf hypergeometric_pdf poisson_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
430 binomial_inv hypergeometric_rnd poisson_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
431 binomial_pdf intersection polyinteg
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
432 binomial_rnd is_bool setstr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
433 chisquare_cdf is_complex struct_contains
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
434 chisquare_inv is_list struct_elements
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
435 chisquare_pdf is_matrix t_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
436 chisquare_rnd is_scalar t_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
437 clearplot is_square t_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
438 clg is_stream t_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
439 com2str is_struct uniform_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
440 exponential_cdf is_symmetric uniform_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
441 exponential_inv is_vector uniform_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
442 exponential_pdf isstr uniform_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
443 exponential_rnd lognormal_cdf weibcdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
444 f_cdf lognormal_inv weibinv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
445 f_inv lognormal_pdf weibpdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
446 f_pdf lognormal_rnd weibrnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
447 f_rnd meshdom weibull_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
448 gamma_cdf normal_cdf weibull_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
449 gamma_inv normal_inv weibull_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
450 gamma_pdf normal_pdf weibull_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
451 gamma_rnd normal_rnd wiener_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
452 geometric_cdf pascal_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
453 geometric_inv pascal_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
454
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
455 The following functions were deprecated in Octave 3.2 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
456 be removed from Octave 3.6 (or whatever version is the second major
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
457 release after 3.2):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
458
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
459 create_set spcholinv splu
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
460 dmult spcumprod spmax
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
461 iscommand spcumsum spmin
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
462 israwcommand spdet spprod
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
463 lchol spdiag spqr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
464 loadimage spfind spsum
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
465 mark_as_command sphcat spsumsq
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
466 mark_as_rawcommand spinv spvcat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
467 spatan2 spkron str2mat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
468 spchol splchol unmark_command
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
469 spchol2inv split unmark_rawcommand
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
470
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
471 The following functions have been deprecated in Octave 3.4 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
472 be removed from Octave 3.8 (or whatever version is the second major
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
473 release after 3.4):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
474
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
475 autocor cellidx gammai krylovb values
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
476 autocov dispatch glpkmex replot
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
477 betai fstat is_global saveimage
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
478
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
479 * For compatibility with Matlab, mu2lin (x) is now equivalent to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
480 mu2lin (x, 0).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
481
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
482 * The ARPACK library is now distributed with Octave so it no longer
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
483 needs to be available as an external dependency when building
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
484 Octave.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
485 </pre>