Mercurial > hg > octave-lyh
comparison src/ov-bool-mat.cc @ 3220:3deb1105fbc1
[project @ 1998-11-19 00:06:30 by jwe]
author | jwe |
---|---|
date | Thu, 19 Nov 1998 00:06:34 +0000 |
parents | 30770ba4457a |
children | d14c483b3c12 |
comparison
equal
deleted
inserted
replaced
3219:30770ba4457a | 3220:3deb1105fbc1 |
---|---|
76 retval = new octave_bool (matrix (0, 0)); | 76 retval = new octave_bool (matrix (0, 0)); |
77 | 77 |
78 return retval; | 78 return retval; |
79 } | 79 } |
80 | 80 |
81 octave_value | |
82 octave_bool_matrix::do_index_op (const octave_value_list& idx) | |
83 { | |
84 octave_value retval; | |
85 | |
86 int len = idx.length (); | |
87 | |
88 switch (len) | |
89 { | |
90 case 2: | |
91 { | |
92 idx_vector i = idx (0).index_vector (); | |
93 idx_vector j = idx (1).index_vector (); | |
94 | |
95 retval = boolMatrix (matrix.index (i, j)); | |
96 } | |
97 break; | |
98 | |
99 case 1: | |
100 { | |
101 idx_vector i = idx (0).index_vector (); | |
102 | |
103 retval = boolMatrix (matrix.index (i)); | |
104 } | |
105 break; | |
106 | |
107 default: | |
108 error ("invalid number of indices (%d) for matrix value", len); | |
109 break; | |
110 } | |
111 | |
112 return retval; | |
113 } | |
114 | |
115 #if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL) | 81 #if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL) |
116 extern void assign (Array2<bool>&, const Array2<bool>&); | 82 extern void assign (Array2<bool>&, const Array2<bool>&); |
117 #endif | 83 #endif |
118 | 84 |
119 void | 85 void |
158 { | 124 { |
159 // XXX FIXME XXX | 125 // XXX FIXME XXX |
160 return false; | 126 return false; |
161 } | 127 } |
162 | 128 |
163 bool | |
164 octave_bool_matrix::is_true (void) const | |
165 { | |
166 bool retval = false; | |
167 | |
168 if (rows () == 0 || columns () == 0) | |
169 { | |
170 int flag = Vpropagate_empty_matrices; | |
171 | |
172 if (flag < 0) | |
173 warning ("empty matrix used in conditional expression"); | |
174 else if (flag == 0) | |
175 error ("empty matrix used in conditional expression"); | |
176 } | |
177 else | |
178 { | |
179 boolMatrix m = (matrix.all ()) . all (); | |
180 | |
181 retval = (m.rows () == 1 && m.columns () == 1 && m (0, 0)); | |
182 } | |
183 | |
184 return retval; | |
185 } | |
186 | |
187 double | 129 double |
188 octave_bool_matrix::double_value (bool) const | 130 octave_bool_matrix::double_value (bool) const |
189 { | 131 { |
190 double retval = octave_NaN; | 132 double retval = octave_NaN; |
191 | 133 |