Mercurial > hg > octave-nkf
comparison src/data.cc @ 1031:59f5eb2d5eb3
[project @ 1995-01-15 21:11:11 by jwe]
author | jwe |
---|---|
date | Sun, 15 Jan 1995 21:11:11 +0000 |
parents | dfe01093f657 |
children | eb788d2f49c2 |
comparison
equal
deleted
inserted
replaced
1030:cfa5473c5f96 | 1031:59f5eb2d5eb3 |
---|---|
590 print_usage ("prod"); | 590 print_usage ("prod"); |
591 | 591 |
592 return retval; | 592 return retval; |
593 } | 593 } |
594 | 594 |
595 DEFUN ("size", Fsize, Ssize, 1, 1, | 595 DEFUN ("size", Fsize, Ssize, 2, 1, |
596 "[m, n] = size (x): return rows and columns of X") | 596 [m, n] = size (x): return rows and columns of X\n\ |
597 { | 597 \n\ |
598 Octave_object retval; | 598 d = size (x): return number of rows and columns of x as a row vector\n\ |
599 | 599 \n\ |
600 int nargin = args.length (); | 600 m = size (x, 1): return number of rows in x\n\ |
601 | 601 m = size (x, 2): return number of columns in x") |
602 if (nargin == 1 && args(0).is_defined ()) | 602 { |
603 Octave_object retval; | |
604 | |
605 int nargin = args.length (); | |
606 | |
607 if (nargin == 1 && nargout < 3) | |
603 { | 608 { |
604 int nr = args(0).rows (); | 609 int nr = args(0).rows (); |
605 int nc = args(0).columns (); | 610 int nc = args(0).columns (); |
611 | |
606 if (nargout == 0 || nargout == 1) | 612 if (nargout == 0 || nargout == 1) |
607 { | 613 { |
608 Matrix m (1, 2); | 614 Matrix m (1, 2); |
609 m.elem (0, 0) = nr; | 615 m.elem (0, 0) = nr; |
610 m.elem (0, 1) = nc; | 616 m.elem (0, 1) = nc; |
613 else if (nargout == 2) | 619 else if (nargout == 2) |
614 { | 620 { |
615 retval(1) = (double) nc; | 621 retval(1) = (double) nc; |
616 retval(0) = (double) nr; | 622 retval(0) = (double) nr; |
617 } | 623 } |
618 else | 624 } |
619 print_usage ("size"); | 625 else if (nargin == 2 && nargout < 2) |
626 { | |
627 int nd = NINT (args(1).double_value ()); | |
628 | |
629 if (error_state) | |
630 error ("size: expecting scalar as second argument"); | |
631 else | |
632 { | |
633 if (nd == 1) | |
634 retval(0) = (double) (args(0).rows ()); | |
635 else if (nd == 2) | |
636 retval(0) = (double) (args(0).columns ()); | |
637 else | |
638 error ("size: invalid second argument -- expecting 1 or 2"); | |
639 } | |
620 } | 640 } |
621 else | 641 else |
622 print_usage ("size"); | 642 print_usage ("size"); |
623 | 643 |
624 return retval; | 644 return retval; |