changeset 12763:f511bfe00d14

maint: Periodic merge of stable to default
author Rik <octave@nomad.inbox5.com>
date Tue, 21 Jun 2011 08:58:56 -0700
parents 34cd2fcfdcb8 (current diff) 684ff193ddd2 (diff)
children 7b444ea41618
files doc/interpreter/plot.txi scripts/linear-algebra/module.mk scripts/plot/rectangle.m scripts/sparse/gmres.m src/Makefile.am
diffstat 7 files changed, 36 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/doccheck/aspell-octave.en.pws
+++ b/doc/interpreter/doccheck/aspell-octave.en.pws
@@ -633,6 +633,7 @@
 Petzold's
 PGF
 pgm
+PGMRES
 PHP
 pict
 pinv
--- a/doc/interpreter/octave.texi
+++ b/doc/interpreter/octave.texi
@@ -523,6 +523,7 @@
 
 * Axis Configuration::  
 * Two-dimensional Function Plotting::  
+* Two-dimensional Geometric Shapes::  
 
 Three-Dimensional Plots
 
--- a/doc/interpreter/plot.txi
+++ b/doc/interpreter/plot.txi
@@ -73,6 +73,7 @@
 @menu
 * Axis Configuration::  
 * Two-dimensional Function Plotting::  
+* Two-dimensional Geometric Shapes::  
 @end menu
 
 The @code{plot} function allows you to create simple x-y plots with
@@ -283,6 +284,11 @@
 
 @DOCSTRING(ezpolar)
 
+@node Two-dimensional Geometric Shapes
+@subsubsection Two-dimensional Geometric Shapes
+
+@DOCSTRING(rectangle)
+
 @node Three-Dimensional Plots
 @subsection Three-Dimensional Plots
 
--- a/scripts/plot/rectangle.m
+++ b/scripts/plot/rectangle.m
@@ -25,15 +25,15 @@
 ## @deftypefnx {Function File} {@var{h} =} rectangle (@dots{})
 ##
 ## Draw rectangular patch defined by @var{pos} and @var{curv}.  The variable
-## @code{@var{pos}(1 : 2)} defines the lower left-hand corner of the patch
-## and @code{@var{pos}(3 : 4)} its width and height.  By default the value of
-## @var{pos} is @var{[0, 0, 1, 1]}.
+## @code{@var{pos}(1:2)} defines the lower left-hand corner of the patch
+## and @code{@var{pos}(3:4)} defines its width and height.  By default, the
+## value of @var{pos} is @code{[0, 0, 1, 1]}.
 ##
 ## The variable @var{curv} defines the curvature of the sides of the rectangle
-## and it can be a scalar or two-element vector with values between 0 and 1.
-## A value of 0 represents no curvature of the side, where as a value of 1
-## means that the rectangular side is entirely curved into an arc of a circle.
-## If curvature is a two-element vector, then the first element is the 
+## and may be a scalar or two-element vector with values between 0 and 1.
+## A value of 0 represents no curvature of the side, whereas a value of 1
+## means that the side is entirely curved into the arc of a circle.
+## If @var{curv} is a two-element vector, then the first element is the 
 ## curvature along the x-axis of the patch and the second along y-axis.
 ##
 ## If @var{curv} is a scalar, it represents the curvature of the shorter of the
@@ -41,7 +41,7 @@
 ## by
 ##
 ## @example
-## min (pos (1: 2)) / max (pos (1:2)) * curv
+## min (pos (1:2)) / max (pos (1:2)) * curv
 ## @end example
 ##
 ## Other properties are passed to the underlying patch command.  If called 
--- a/scripts/sparse/gmres.m
+++ b/scripts/sparse/gmres.m
@@ -15,7 +15,7 @@
 ## You should have received a copy of the GNU General Public License
 ## along with Octave; see the file COPYING.  If not, see
 ## <http://www.gnu.org/licenses/>.
-  
+
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {@var{x} =} gmres (@var{A}, @var{b}, @var{m}, @var{rtol}, @var{maxit}, @var{M1}, @var{M2}, @var{x0})
 ## @deftypefnx {Function File} {@var{x} =} gmres (@var{A}, @var{b}, @var{m}, @var{rtol}, @var{maxit}, @var{P})
@@ -69,7 +69,7 @@
 ## iteration.
 ## @end itemize
 ##
-## @seealso{pcg, cgs, bigcstab}
+## @seealso{pcg, cgs, bicgstab}
 ## @end deftypefn
 
 function [x, flag, prec_res_norm, itcnt] = gmres (A, b, restart, rtol, maxit, M1, M2, x0)
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -575,6 +575,15 @@
 
 liboctinterp_la_LIBADD = $(OCTINTERP_LINK_DEPS)
 
+## Additional library dependencies used by module.mk files
+OCT_LINK_DEPS = \
+  $(RLD_FLAG) $(LDFLAGS) \
+  ./liboctinterp.la \
+  ../liboctave/liboctave.la \
+  ../libcruft/libcruft.la \
+  ../libcruft/libranlib.la \
+  ../libgnu/libgnu.la
+
 liboctinterp_la_CPPFLAGS = @OCTINTERP_DLL_DEFS@ $(AM_CPPFLAGS)
 
 # Increment these as needed and according to the rules in the libtool manual:
--- a/src/OPERATORS/op-struct.cc
+++ b/src/OPERATORS/op-struct.cc
@@ -54,7 +54,10 @@
   return octave_value (v.scalar_map_value ());
 }
 
-DEFNDCATOP_FN (struct_struct, struct, struct, map, map, concat)
+DEFNDCATOP_FN (s_s_concat, struct, struct, map, map, concat)
+DEFNDCATOP_FN (s_ss_concat, struct, scalar_struct, map, map, concat)
+DEFNDCATOP_FN (ss_s_concat, scalar_struct, struct, map, map, concat)
+DEFNDCATOP_FN (ss_ss_concat, scalar_struct, scalar_struct, map, map, concat)
 
 static octave_value
 oct_catop_struct_matrix (octave_base_value& a1, const octave_base_value& a2,
@@ -95,7 +98,11 @@
   INSTALL_UNOP (op_transpose, octave_scalar_struct, scalar_transpose);
   INSTALL_UNOP (op_hermitian, octave_scalar_struct, scalar_transpose);
 
-  INSTALL_CATOP (octave_struct, octave_struct, struct_struct);
+  INSTALL_CATOP (octave_struct, octave_struct, s_s_concat);
+  INSTALL_CATOP (octave_struct, octave_scalar_struct, s_ss_concat)
+  INSTALL_CATOP (octave_scalar_struct, octave_struct, ss_s_concat)
+  INSTALL_CATOP (octave_scalar_struct, octave_scalar_struct, ss_ss_concat)
+
   INSTALL_CATOP (octave_struct, octave_matrix, struct_matrix);
   INSTALL_CATOP (octave_matrix, octave_struct, matrix_struct);
 }