comparison src/DLD-FUNCTIONS/rand.cc @ 5275:23b37da9fd5b

[project @ 2005-04-08 16:07:35 by jwe]
author jwe
date Fri, 08 Apr 2005 16:07:37 +0000
parents 57077d0ddc8e
children 4c8a2e4e0717
comparison
equal deleted inserted replaced
5274:eae7b40388e9 5275:23b37da9fd5b
97 } 97 }
98 else 98 else
99 { 99 {
100 dims.resize (2); 100 dims.resize (2);
101 101
102 dims(0) = NINT (tmp.double_value ()); 102 dims(0) = NINTbig (tmp.double_value ());
103 dims(1) = NINT (tmp.double_value ()); 103 dims(1) = NINTbig (tmp.double_value ());
104 104
105 if (! error_state) 105 if (! error_state)
106 goto gen_matrix; 106 goto gen_matrix;
107 } 107 }
108 } 108 }
110 { 110 {
111 Range r = tmp.range_value (); 111 Range r = tmp.range_value ();
112 112
113 if (r.all_elements_are_ints ()) 113 if (r.all_elements_are_ints ())
114 { 114 {
115 int n = r.nelem (); 115 octave_idx_type n = r.nelem ();
116 116
117 dims.resize (n); 117 dims.resize (n);
118 118
119 int base = NINT (r.base ()); 119 octave_idx_type base = NINTbig (r.base ());
120 int incr = NINT (r.inc ()); 120 octave_idx_type incr = NINTbig (r.inc ());
121 int lim = NINT (r.limit ()); 121 octave_idx_type lim = NINTbig (r.limit ());
122 122
123 if (base < 0 || lim < 0) 123 if (base < 0 || lim < 0)
124 error ("%s: all dimensions must be nonnegative", fcn); 124 error ("%s: all dimensions must be nonnegative", fcn);
125 else 125 else
126 { 126 {
127 for (int i = 0; i < n; i++) 127 for (octave_idx_type i = 0; i < n; i++)
128 { 128 {
129 dims(i) = base; 129 dims(i) = base;
130 base += incr; 130 base += incr;
131 } 131 }
132 132
141 { 141 {
142 Array<int> iv = tmp.int_vector_value (true); 142 Array<int> iv = tmp.int_vector_value (true);
143 143
144 if (! error_state) 144 if (! error_state)
145 { 145 {
146 int len = iv.length (); 146 octave_idx_type len = iv.length ();
147 147
148 dims.resize (len); 148 dims.resize (len);
149 149
150 for (int i = 0; i < len; i++) 150 for (octave_idx_type i = 0; i < len; i++)
151 { 151 {
152 int elt = iv(i); 152 octave_idx_type elt = iv(i);
153 153
154 if (elt < 0) 154 if (elt < 0)
155 { 155 {
156 error ("%s: all dimensions must be nonnegative", fcn); 156 error ("%s: all dimensions must be nonnegative", fcn);
157 goto done; 157 goto done;
195 { 195 {
196 dims.resize (nargin); 196 dims.resize (nargin);
197 197
198 for (int i = 0; i < nargin; i++) 198 for (int i = 0; i < nargin; i++)
199 { 199 {
200 dims(i) = args(i).int_value (); 200 dims(i) = (octave_idx_type)args(i).int_value ();
201 201
202 if (error_state) 202 if (error_state)
203 { 203 {
204 error ("%s: expecting integer arguments", fcn); 204 error ("%s: expecting integer arguments", fcn);
205 goto done; 205 goto done;