Mercurial > hg > octave-avbm
comparison src/data.cc @ 633:39b315350976
[project @ 1994-08-22 23:40:47 by jwe]
author | jwe |
---|---|
date | Mon, 22 Aug 1994 23:40:47 +0000 |
parents | 739d16c30481 |
children | e04527366917 |
comparison
equal
deleted
inserted
replaced
632:ddc21c0f0089 | 633:39b315350976 |
---|---|
68 | 68 |
69 if (nargin != 2) | 69 if (nargin != 2) |
70 print_usage ("any"); | 70 print_usage ("any"); |
71 else if (nargin > 0 && args(1).is_defined ()) | 71 else if (nargin > 0 && args(1).is_defined ()) |
72 retval = args(1).any (); | 72 retval = args(1).any (); |
73 | |
74 return retval; | |
75 } | |
76 | |
77 DEFUN ("atan2", Fatan2, Satan2, 3, 1, | |
78 "atan2 (Y, X): atan (Y / X) in range -pi to pi") | |
79 { | |
80 Octave_object retval; | |
81 | |
82 if (args.length () != 3) | |
83 print_usage ("atan2"); | |
84 else | |
85 { | |
86 double y = args(1).double_value (); | |
87 | |
88 if (! error_state) | |
89 { | |
90 double x = args(2).double_value (); | |
91 | |
92 if (! error_state) | |
93 retval = atan2 (y, x); | |
94 } | |
95 } | |
73 | 96 |
74 return retval; | 97 return retval; |
75 } | 98 } |
76 | 99 |
77 DEFUN ("cumprod", Fcumprod, Scumprod, 2, 1, | 100 DEFUN ("cumprod", Fcumprod, Scumprod, 2, 1, |
255 | 278 |
256 static void | 279 static void |
257 get_dimensions (const tree_constant& a, const char *warn_for, | 280 get_dimensions (const tree_constant& a, const char *warn_for, |
258 int& nr, int& nc) | 281 int& nr, int& nc) |
259 { | 282 { |
260 tree_constant tmpa = a.make_numeric (); | 283 tree_constant tmpa = a; |
261 | 284 |
262 if (tmpa.is_scalar_type ()) | 285 if (tmpa.is_scalar_type ()) |
263 { | 286 { |
264 double tmp = tmpa.double_value (); | 287 double tmp = tmpa.double_value (); |
265 nr = nc = NINT (tmp); | 288 nr = nc = NINT (tmp); |
270 nc = tmpa.columns (); | 293 nc = tmpa.columns (); |
271 | 294 |
272 if ((nr == 1 && nc == 2) || (nr == 2 && nc == 1)) | 295 if ((nr == 1 && nc == 2) || (nr == 2 && nc == 1)) |
273 { | 296 { |
274 ColumnVector v = tmpa.vector_value (); | 297 ColumnVector v = tmpa.vector_value (); |
298 | |
299 if (error_state) | |
300 return; | |
275 | 301 |
276 nr = NINT (v.elem (0)); | 302 nr = NINT (v.elem (0)); |
277 nc = NINT (v.elem (1)); | 303 nc = NINT (v.elem (1)); |
278 } | 304 } |
279 else | 305 else |
285 | 311 |
286 static void | 312 static void |
287 get_dimensions (const tree_constant& a, const tree_constant& b, | 313 get_dimensions (const tree_constant& a, const tree_constant& b, |
288 const char *warn_for, int& nr, int& nc) | 314 const char *warn_for, int& nr, int& nc) |
289 { | 315 { |
290 tree_constant tmpa = a.make_numeric (); | 316 tree_constant tmpa = a; |
291 tree_constant tmpb = b.make_numeric (); | 317 tree_constant tmpb = b; |
292 | 318 |
293 if (tmpa.is_scalar_type () && tmpb.is_scalar_type ()) | 319 if (tmpa.is_scalar_type () && tmpb.is_scalar_type ()) |
294 { | 320 { |
295 nr = NINT (tmpa.double_value ()); | 321 nr = NINT (tmpa.double_value ()); |
296 nc = NINT (tmpb.double_value ()); | 322 nc = NINT (tmpb.double_value ()); |