Mercurial > octave-nkf
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; |