diff doc/interpreter/data.texi @ 2689:8c7955a8d49f

[project @ 1997-02-18 09:06:10 by jwe]
author jwe
date Tue, 18 Feb 1997 09:09:12 +0000
parents 79c851e2f0ee
children 91589ab98e37
line wrap: on
line diff
--- a/doc/interpreter/data.texi
+++ b/doc/interpreter/data.texi
@@ -15,7 +15,8 @@
 dynamically while Octave is running, so it is not necessary to recompile
 all of Octave just to add a new type.  @xref{Dynamically Linked
 Functions} for more information about Octave's dynamic linking
-capabilities.
+capabilities.  @ref{User-defined Data Types} describes what you must do
+to define a new data type for Octave.
 
 @menu
 * Built-in Data Types::         
@@ -29,11 +30,11 @@
 @cindex built-in data types
 
 The standard built-in data types are real and complex scalars and
-matrices, character strings, and a data structure type.  Additional
-built-in data types may be added in future versions.  If you need a
-specialize data type that is not currently provided as a built-in type,
-you are encouraged to write your own user-defined data type and
-contribute it for distribution in a future release of Octave.
+matrices, ranges, character strings, and a data structure type.
+Additional built-in data types may be added in future versions.  If you
+need a specialized data type that is not currently provided as a
+built-in type, you are encouraged to write your own user-defined data
+type and contribute it for distribution in a future release of Octave.
 
 @menu
 * Numeric Objects::             
@@ -49,7 +50,7 @@
 Octave's built-in numeric objects include real and complex scalars and
 matrices.  All built-in numeric data is currently stored as double
 precision numbers.  On systems that use the IEEE floating point format,
-values in the range
+values in the range of approximately
 @iftex
 @tex
  $2.2251\times10^{-308}$ to $1.7977\times10^{308}$
@@ -67,12 +68,12 @@
 @ifinfo
  2.2204e-16.
 @end ifinfo
-The exact values are given by the variables @var{realmin},
-@var{realmax}, and @var{eps}, respectively.
+The exact values are given by the variables @code{realmin},
+@code{realmax}, and @code{eps}, respectively.
 
 Matrix objects can be of any size, and can be dynamically reshaped and
 resized.  It is easy to extract individual rows, columns, or submatrices
-is using a variety of powerful indexing features.
+is using a variety of powerful indexing features.  @xref{Index Expressions}.
 
 @xref{Numeric Data Types}, for more information.
 
@@ -107,14 +108,20 @@
 @cindex user-defined data types
 @cindex data types, user-defined
 
+Someday I hope to expand this to include a complete description of
+Octave's mechanism for managing user-defined data types.  Until this
+feature is documented here, you will have to make do by reading the code
+in the @file{ov.h}, @file{ops.h}, and related files from Octave's
+@file{src} directory.
+
 @node Object Sizes,  , User-defined Data Types, Data Types
 @section Object Sizes
 
 The following functions allow you to determine the size of a variable or
 expression.  These functions are defined for all objects.  They return
--1 when the operation doesn't make sense.  For example, Octave's data
-structure type doesn't have rows or columns, so @code{rows} and
-@code{columns} return -1 for structure arguments.
+@minus{}1 when the operation doesn't make sense.  For example, Octave's
+data structure type doesn't have rows or columns, so the @code{rows} and
+@code{columns} functions return @minus{}1 for structure arguments.
 
 @deftypefn {Function File} {} columns (@var{a})
 Return the number of columns of @var{a}.
@@ -139,15 +146,14 @@
 
 @example
 @group
-octave:13> size ([1, 2; 3, 4; 5, 6])
-ans =
-
-  3  2
+size ([1, 2; 3, 4; 5, 6])
+     @result{} [ 3, 2 ]
 
-octave:14> [nr, nc] = size ([1, 2; 3, 4; 5, 6])
-nr = 3
+[nr, nc] = size ([1, 2; 3, 4; 5, 6])
 
-nc = 2
+     @result{} nr = 3
+
+     @result{} nc = 2
 @end group
 @end example
 
@@ -155,8 +161,8 @@
 only the row or column dimension.  For example
 
 @example
-octave:15> size ([1, 2; 3, 4; 5, 6], 2)
-ans = 2
+size ([1, 2; 3, 4; 5, 6], 2)
+     @result{} 2
 @end example
 
 @noindent