Mercurial > octave
annotate libinterp/corefcn/tsearch.cc @ 31277:185799b2a566
tsearch.cc: Minor performance improvements
tsearch.cc: replaced if-else with conditional operator
in inline functions, replaced redeclarations of local
variables with one set of declarations and initializations,
added more comments.
For searching 1e3 points through 1e6 triangles, these minor
changes reduced 1.55-1.75 seconds to 1.35-1.45 seconds,
so roughly 15% faster. Still O(M*N) for M points and N
triangles, but acceptably fast for common use.
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Sat, 08 Oct 2022 13:14:02 -0400 |
parents | 796f54d4ddbf |
children | e88a07dec498 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29958
diff
changeset
|
3 // Copyright (C) 2002-2022 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
6823 | 25 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21301
diff
changeset
|
26 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21200
diff
changeset
|
27 # include "config.h" |
9786
2c279308f6ab
fix includes in some src/DLD-FUNCTIONS files
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
28 #endif |
2c279308f6ab
fix includes in some src/DLD-FUNCTIONS files
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
29 |
23662
bd77ab816e43
eliminate obsolete file lo-math.h
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
30 #include <cmath> |
bd77ab816e43
eliminate obsolete file lo-math.h
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
31 |
6823 | 32 #include "lo-ieee.h" |
33 | |
19877
12ecb7212b44
move some files without external dependencies from dldfcn to corefcn
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
34 #include "defun.h" |
9786
2c279308f6ab
fix includes in some src/DLD-FUNCTIONS files
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
35 #include "error.h" |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20939
diff
changeset
|
36 #include "ovl.h" |
9786
2c279308f6ab
fix includes in some src/DLD-FUNCTIONS files
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
37 |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
38 OCTAVE_NAMESPACE_BEGIN |
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
39 |
10550 | 40 inline double max (double a, double b, double c) |
6823 | 41 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
42 return (a > b) ? (a > c ? a : c) : (b > c ? b : c); |
6823 | 43 } |
44 | |
10550 | 45 inline double min (double a, double b, double c) |
6823 | 46 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
47 return (a < b) ? (a < c ? a : c) : (b < c ? b : c); |
6823 | 48 } |
49 | |
25688
b2917b7858ba
maint: Use Octave convention for spacing of C++ cast statements.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
50 #define REF(x,k,i) x(static_cast<octave_idx_type> (elem((k), (i))) - 1) |
6823 | 51 |
52 // for large data set the algorithm is very slow | |
53 // one should presort (how?) either the elements of the points of evaluation | |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
54 // to cut down the time needed to decide which triangle contains the |
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
55 // given point |
6823 | 56 |
57 // e.g., build up a neighbouring triangle structure and use a simplex-like | |
58 // method to traverse it | |
59 | |
19877
12ecb7212b44
move some files without external dependencies from dldfcn to corefcn
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
60 DEFUN (tsearch, args, , |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
61 doc: /* -*- texinfo -*- |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
62 @deftypefn {} {@var{idx} =} tsearch (@var{x}, @var{y}, @var{t}, @var{xi}, @var{yi}) |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
63 Search for the enclosing Delaunay convex hull. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
64 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
65 For @code{@var{t} = delaunay (@var{x}, @var{y})}, finds the index in @var{t} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
66 containing the points @code{(@var{xi}, @var{yi})}. For points outside the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
67 convex hull, @var{idx} is NaN. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
68 @seealso{delaunay, delaunayn} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
69 @end deftypefn */) |
6823 | 70 { |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20853
diff
changeset
|
71 if (args.length () != 5) |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20853
diff
changeset
|
72 print_usage (); |
6823 | 73 |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20555
diff
changeset
|
74 const double eps = 1.0e-12; |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20555
diff
changeset
|
75 |
10550 | 76 const ColumnVector x (args(0).vector_value ()); |
77 const ColumnVector y (args(1).vector_value ()); | |
78 const Matrix elem (args(2).matrix_value ()); | |
79 const ColumnVector xi (args(3).vector_value ()); | |
80 const ColumnVector yi (args(4).vector_value ()); | |
6823 | 81 |
10550 | 82 const octave_idx_type nelem = elem.rows (); |
6823 | 83 |
10550 | 84 ColumnVector minx (nelem); |
85 ColumnVector maxx (nelem); | |
86 ColumnVector miny (nelem); | |
87 ColumnVector maxy (nelem); | |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
88 for (octave_idx_type k = 0; k < nelem; k++) |
6823 | 89 { |
10550 | 90 minx(k) = min (REF (x, k, 0), REF (x, k, 1), REF (x, k, 2)) - eps; |
91 maxx(k) = max (REF (x, k, 0), REF (x, k, 1), REF (x, k, 2)) + eps; | |
92 miny(k) = min (REF (y, k, 0), REF (y, k, 1), REF (y, k, 2)) - eps; | |
93 maxy(k) = max (REF (y, k, 0), REF (y, k, 1), REF (y, k, 2)) + eps; | |
6823 | 94 } |
95 | |
20232
a9574e3c6e9e
Deprecate Array::length() and Sparse::length() in favour of ::numel().
Carnë Draug <carandraug@octave.org>
parents:
20172
diff
changeset
|
96 const octave_idx_type np = xi.numel (); |
10550 | 97 ColumnVector values (np); |
6823 | 98 |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
99 double x0 = 0.0, y0 = 0.0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
100 double a11 = 0.0, a12 = 0.0, a21 = 0.0, a22 = 0.0, det = 0.0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
101 double xt = 0.0, yt = 0.0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
102 double dx1 = 0.0, dx2 = 0.0, c1 = 0.0, c2 = 0.0; |
6823 | 103 |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
104 octave_idx_type k = nelem; // k is more than just an index variable. |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
105 |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
106 for (octave_idx_type kp = 0; kp < np; kp++) // for each point |
6823 | 107 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
108 xt = xi (kp); |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
109 yt = yi (kp); |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
110 |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
111 // Check if point (xt,yt) is in the triangle that was last examined. |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
112 // This is for inputs where points are in contiguous order, |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
113 // like when the points are sampled from a continuous path. |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
114 if (k < nelem) // This check will be false for the very first point. |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
115 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
116 // If we are here, then x0, y0, det all exist from before. |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
117 dx1 = xt - x0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
118 dx2 = yt - y0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
119 c1 = (a22 * dx1 - a21 * dx2) / det; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
120 c2 = (-a12 * dx1 + a11 * dx2) / det; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
121 if (c1 >= -eps && c2 >= -eps && (c1 + c2) <= 1 + eps) |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
122 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
123 values (kp) = k+1; |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
124 continue; |
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
125 } |
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
126 } |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
127 |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
128 // The point is not in the same triangle, so go through all triangles. |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
129 for (k = 0; k < nelem; k++) |
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
130 { |
10550 | 131 if (xt >= minx(k) && xt <= maxx(k) && yt >= miny(k) && yt <= maxy(k)) |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
132 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
133 // Point is inside the triangle's bounding rectangle: |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
134 // See if it's inside the triangle itself. |
10550 | 135 x0 = REF (x, k, 0); |
136 y0 = REF (y, k, 0); | |
137 a11 = REF (x, k, 1) - x0; | |
138 a12 = REF (y, k, 1) - y0; | |
139 a21 = REF (x, k, 2) - x0; | |
140 a22 = REF (y, k, 2) - y0; | |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
141 det = a11 * a22 - a21 * a12; |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
142 |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
143 // solve the system |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
144 dx1 = xt - x0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
145 dx2 = yt - y0; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
146 c1 = (a22 * dx1 - a21 * dx2) / det; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
147 c2 = (-a12 * dx1 + a11 * dx2) / det; |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
148 if (c1 >= -eps && c2 >= -eps && (c1 + c2) <= 1 + eps) |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
149 { |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
150 values (kp) = k+1; |
10154
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
151 break; |
40dfc0c99116
DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents:
9786
diff
changeset
|
152 } |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
153 } //end see if it's inside the triangle itself |
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
154 } //end for each triangle |
6823 | 155 |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
156 if (k == nelem) |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
157 values (kp) = lo_ieee_nan_value (); |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
158 |
31277
185799b2a566
tsearch.cc: Minor performance improvements
Arun Giridhar <arungiridhar@gmail.com>
parents:
30564
diff
changeset
|
159 } //end for each point |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11553
diff
changeset
|
160 |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20853
diff
changeset
|
161 return ovl (values); |
6823 | 162 } |
163 | |
164 /* | |
165 %!shared x, y, tri | |
166 %! x = [-1;-1;1]; | |
167 %! y = [-1;1;-1]; | |
168 %! tri = [1, 2, 3]; | |
169 %!assert (tsearch (x,y,tri,-1,-1), 1) | |
170 %!assert (tsearch (x,y,tri, 1,-1), 1) | |
171 %!assert (tsearch (x,y,tri,-1, 1), 1) | |
172 %!assert (tsearch (x,y,tri,-1/3, -1/3), 1) | |
173 %!assert (tsearch (x,y,tri, 1, 1), NaN) | |
174 | |
14501
60e5cf354d80
Update %!tests in DLD-FUNCTIONS/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
175 %!error tsearch () |
6823 | 176 */ |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
177 |
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
178 OCTAVE_NAMESPACE_END |