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 ());