comparison src/data.cc @ 6561:dc83c15d7149

[project @ 2007-04-23 16:58:17 by jwe]
author jwe
date Mon, 23 Apr 2007 16:58:17 +0000
parents 8810bbf321ce
children 0fcc8d65b571
comparison
equal deleted inserted replaced
6560:03ff4e32c895 6561:dc83c15d7149
1097 return retval; 1097 return retval;
1098 } 1098 }
1099 1099
1100 DEFUN (size_equal, args, , 1100 DEFUN (size_equal, args, ,
1101 "-*- texinfo -*-\n\ 1101 "-*- texinfo -*-\n\
1102 @deftypefn {Built-in Function} {} size_equal (@var{a}, @var{b})\n\ 1102 @deftypefn {Built-in Function} {} size_equal (@var{a}, @var{b}, @dots{})\n\
1103 Return true if the dimensions of @var{a} and @var{b} agree.\n\ 1103 Return true if the dimensions of all arguments agree.\n\
1104 Trailing singleton dimensions are ignored.\n\ 1104 Trailing singleton dimensions are ignored.\n\
1105 @seealso{size, numel}\n\ 1105 @seealso{size, numel}\n\
1106 @end deftypefn") 1106 @end deftypefn")
1107 { 1107 {
1108 octave_value retval; 1108 octave_value retval;
1109 1109
1110 if (args.length () == 2) 1110 int nargin = args.length ();
1111 { 1111
1112 if (nargin >= 2)
1113 {
1114 retval = true;
1115
1112 dim_vector a_dims = args(0).dims (); 1116 dim_vector a_dims = args(0).dims ();
1113 dim_vector b_dims = args(1).dims ();
1114
1115 a_dims.chop_trailing_singletons (); 1117 a_dims.chop_trailing_singletons ();
1116 b_dims.chop_trailing_singletons (); 1118
1117 1119 for (int i = 1; i < nargin; ++i)
1118 retval = a_dims == b_dims; 1120 {
1121 dim_vector b_dims = args(i).dims ();
1122 b_dims.chop_trailing_singletons ();
1123
1124 if (a_dims != b_dims)
1125 {
1126 retval = false;
1127 break;
1128 }
1129 }
1119 } 1130 }
1120 else 1131 else
1121 print_usage (); 1132 print_usage ();
1122 1133
1123 return retval; 1134 return retval;