Mercurial > octave-nkf
comparison liboctave/Array.cc @ 4709:cf141edca935
[project @ 2004-01-22 18:10:53 by jwe]
author | jwe |
---|---|
date | Thu, 22 Jan 2004 18:10:53 +0000 |
parents | e5639a6586c4 |
children | 5101dffb4178 |
comparison
equal
deleted
inserted
replaced
4708:e5639a6586c4 | 4709:cf141edca935 |
---|---|
841 const T *old_data = data (); | 841 const T *old_data = data (); |
842 | 842 |
843 int old_len = length (); | 843 int old_len = length (); |
844 | 844 |
845 int len = get_size (dv); | 845 int len = get_size (dv); |
846 | 846 |
847 rep = new typename Array<T>::ArrayRep (len); | 847 rep = new typename Array<T>::ArrayRep (len); |
848 | 848 |
849 dim_vector dv_old = dimensions; | 849 dim_vector dv_old = dimensions; |
850 | 850 |
851 if (n > dv_old.length ()) | 851 if (n > dv_old.length ()) |
852 { | 852 { |
853 dv_old.resize (n); | 853 dv_old.resize (n); |
854 | 854 |
855 for (int i = dv_old.length (); i < n; i++) | 855 for (int i = dv_old.length (); i < n; i++) |
856 dv_old.elem (i) = 1; | 856 dv_old.elem (i) = 1; |
857 } | 857 } |
858 | 858 |
859 dimensions = dv; | 859 dimensions = dv; |
2244 int rhs_nc = rhs.cols (); | 2244 int rhs_nc = rhs.cols (); |
2245 | 2245 |
2246 if (rhs.length () > 2) | 2246 if (rhs.length () > 2) |
2247 { | 2247 { |
2248 dim_vector dv_tmp = rhs.squeeze().dims (); | 2248 dim_vector dv_tmp = rhs.squeeze().dims (); |
2249 | 2249 |
2250 switch (dv_tmp.length ()) | 2250 switch (dv_tmp.length ()) |
2251 { | 2251 { |
2252 case 1: | 2252 case 1: |
2253 if (rhs_nr == 1) | 2253 if (rhs_nr == 1) |
2254 rhs_nc = dv_tmp.elem (0); | 2254 rhs_nc = dv_tmp.elem (0); |
2255 break; | 2255 break; |
2256 | 2256 |
2257 case 2: | 2257 case 2: |
2258 rhs_nr = dv_tmp.elem (0); | 2258 rhs_nr = dv_tmp.elem (0); |
2259 rhs_nc = dv_tmp.elem (1); | 2259 rhs_nc = dv_tmp.elem (1); |
2260 break; | 2260 break; |
2261 | 2261 |
2262 default: | 2262 default: |
2263 (*current_liboctave_error_handler) | 2263 (*current_liboctave_error_handler) |
2264 ("Array<T>::assign2: Dimension mismatch"); | 2264 ("Array<T>::assign2: Dimension mismatch"); |
2265 return 0; | 2265 return 0; |
2266 } | 2266 } |
2267 } | 2267 } |
2268 | 2268 |
2269 idx_vector *tmp = lhs.get_idx (); | 2269 idx_vector *tmp = lhs.get_idx (); |
2270 | 2270 |