comparison liboctave/Array.cc @ 5081:273205761b4d

[project @ 2004-11-17 15:15:00 by jwe]
author jwe
date Wed, 17 Nov 2004 15:15:01 +0000
parents c6ef19da4b24
children e35b034d3523
comparison
equal deleted inserted replaced
5080:7929486ef2ed 5081:273205761b4d
1932 Array<T> 1932 Array<T>
1933 Array<T>::index (idx_vector& idx_arg, int resize_ok, const T& rfv) const 1933 Array<T>::index (idx_vector& idx_arg, int resize_ok, const T& rfv) const
1934 { 1934 {
1935 Array<T> retval; 1935 Array<T> retval;
1936 1936
1937 switch (ndims ()) 1937 dim_vector dv = idx_arg.orig_dimensions ();
1938 { 1938
1939 case 1: 1939 if (dv.length () > 2 || ndims () > 2)
1940 retval = index1 (idx_arg, resize_ok, rfv); 1940 retval = indexN (idx_arg, resize_ok, rfv);
1941 break; 1941 else
1942 1942 {
1943 case 2: 1943 switch (ndims ())
1944 retval = index2 (idx_arg, resize_ok, rfv); 1944 {
1945 break; 1945 case 1:
1946 1946 retval = index1 (idx_arg, resize_ok, rfv);
1947 default: 1947 break;
1948 retval = indexN (idx_arg, resize_ok, rfv); 1948
1949 break; 1949 case 2:
1950 retval = index2 (idx_arg, resize_ok, rfv);
1951 break;
1952
1953 default:
1954 (*current_liboctave_error_handler)
1955 ("invalid array (internal error)");
1956 break;
1957 }
1950 } 1958 }
1951 1959
1952 return retval; 1960 return retval;
1953 } 1961 }
1954 1962