Mercurial > hg > octave-max
diff src/data.cc @ 760:b284388e8999
[project @ 1994-10-02 16:22:35 by jwe]
author | jwe |
---|---|
date | Sun, 02 Oct 1994 16:22:35 +0000 |
parents | 02814aea28c8 |
children | 42731861ee09 |
line wrap: on
line diff
--- a/src/data.cc +++ b/src/data.cc @@ -221,8 +221,30 @@ int nargin = args.length (); - if (nargin == 1 && args(0).is_defined ()) - retval = args(0).cumprod (); + if (nargin == 1) + { + tree_constant arg = args(0); + + if (arg.is_real_type ()) + { + Matrix tmp = arg.matrix_value (); + + if (! error_state) + retval(0) = tmp.cumprod (); + } + else if (arg.is_complex_type ()) + { + ComplexMatrix tmp = arg.complex_matrix_value (); + + if (! error_state) + retval(0) = tmp.cumprod (); + } + else + { + gripe_wrong_type_arg ("cumprod", arg); + return retval; + } + } else print_usage ("cumprod"); @@ -236,8 +258,30 @@ int nargin = args.length (); - if (nargin == 1 && args(0).is_defined ()) - retval = args(0).cumsum (); + if (nargin == 1) + { + tree_constant arg = args(0); + + if (arg.is_real_type ()) + { + Matrix tmp = arg.matrix_value (); + + if (! error_state) + retval(0) = tmp.cumsum (); + } + else if (arg.is_complex_type ()) + { + ComplexMatrix tmp = arg.complex_matrix_value (); + + if (! error_state) + retval(0) = tmp.cumsum (); + } + else + { + gripe_wrong_type_arg ("cumsum", arg); + return retval; + } + } else print_usage ("cumsum"); @@ -283,8 +327,30 @@ int nargin = args.length (); - if (nargin == 1 && args(0).is_defined ()) - retval = args(0).prod (); + if (nargin == 1) + { + tree_constant arg = args(0); + + if (arg.is_real_type ()) + { + Matrix tmp = arg.matrix_value (); + + if (! error_state) + retval(0) = tmp.prod (); + } + else if (arg.is_complex_type ()) + { + ComplexMatrix tmp = arg.complex_matrix_value (); + + if (! error_state) + retval(0) = tmp.prod (); + } + else + { + gripe_wrong_type_arg ("prod", arg); + return retval; + } + } else print_usage ("prod"); @@ -345,8 +411,30 @@ int nargin = args.length (); - if (nargin == 1 && args(0).is_defined ()) - retval = args(0).sum (); + if (nargin == 1) + { + tree_constant arg = args(0); + + if (arg.is_real_type ()) + { + Matrix tmp = arg.matrix_value (); + + if (! error_state) + retval(0) = tmp.sum (); + } + else if (arg.is_complex_type ()) + { + ComplexMatrix tmp = arg.complex_matrix_value (); + + if (! error_state) + retval(0) = tmp.sum (); + } + else + { + gripe_wrong_type_arg ("sum", arg); + return retval; + } + } else print_usage ("sum"); @@ -360,8 +448,30 @@ int nargin = args.length (); - if (nargin == 1 && args(0).is_defined ()) - retval = args(0).sumsq (); + if (nargin == 1) + { + tree_constant arg = args(0); + + if (arg.is_real_type ()) + { + Matrix tmp = arg.matrix_value (); + + if (! error_state) + retval(0) = tmp.sumsq (); + } + else if (arg.is_complex_type ()) + { + ComplexMatrix tmp = arg.complex_matrix_value (); + + if (! error_state) + retval(0) = tmp.sumsq (); + } + else + { + gripe_wrong_type_arg ("sumsq", arg); + return retval; + } + } else print_usage ("sumsq");