@@ -150,21 +150,7 @@ pub struct Weighted<T> {
150
150
151
151
pub trait RngUtil {
152
152
fn gen < T : Rand > ( & self ) -> T ;
153
- /**
154
- * Return a random int
155
- *
156
- * *Example*
157
- *
158
- * ~~~
159
- *
160
- * use core::rand::RngUtil;
161
- *
162
- * fn main() {
163
- * rng = rand::Rng();
164
- * println(fmt!("%d",rng.gen_int()));
165
- * }
166
- * ~~~
167
- */
153
+ /// Return a random int
168
154
fn gen_int ( & self ) -> int ;
169
155
fn gen_int_range ( & self , start : int , end : int ) -> int ;
170
156
/// Return a random i8
@@ -190,21 +176,7 @@ pub trait RngUtil {
190
176
fn gen_u32 ( & self ) -> u32 ;
191
177
/// Return a random u64
192
178
fn gen_u64 ( & self ) -> u64 ;
193
- /**
194
- * Return random float in the interval [0,1]
195
- *
196
- * *Example*
197
- *
198
- * ~~~
199
- *
200
- * use core::rand::RngUtil;
201
- *
202
- * fn main() {
203
- * rng = rand::Rng();
204
- * println(fmt!("%f",rng.gen_float()));
205
- * }
206
- * ~~~
207
- */
179
+ /// Return a random float in the interval [0,1]
208
180
fn gen_float ( & self ) -> float ;
209
181
/// Return a random f32 in the interval [0,1]
210
182
fn gen_f32 ( & self ) -> f32 ;
@@ -216,184 +188,38 @@ pub trait RngUtil {
216
188
* Return a char randomly chosen from chars, failing if chars is empty
217
189
*/
218
190
fn gen_char_from ( & self , chars : & str ) -> char ;
219
- /**
220
- * Return a random bool
221
- *
222
- * *Example*
223
- *
224
- * ~~~
225
- *
226
- * use core::rand::RngUtil;
227
- *
228
- * fn main() {
229
- * rng = rand::Rng();
230
- * println(fmt!("%b",rng.gen_bool()));
231
- * }
232
- * ~~~
233
- */
191
+ /// Return a random bool
234
192
fn gen_bool ( & self ) -> bool ;
235
- /**
236
- * Return a bool with a 1 in n chance of true
237
- *
238
- * *Example*
239
- *
240
- * ~~~
241
- *
242
- * use core::rand::RngUtil;
243
- *
244
- * fn main() {
245
- * rng = rand::Rng();
246
- * println(fmt!("%b",rng.gen_weighted_bool(3)));
247
- * }
248
- * ~~~
249
- */
193
+ /// Return a bool with a 1 in n chance of true
250
194
fn gen_weighted_bool ( & self , n : uint ) -> bool ;
251
195
/**
252
196
* Return a random string of the specified length composed of A-Z,a-z,0-9
253
- *
254
- * *Example*
255
- *
256
- * ~~~
257
- *
258
- * use core::rand::RngUtil;
259
- *
260
- * fn main() {
261
- * rng = rand::Rng();
262
- * println(rng.gen_str(8));
263
- * }
264
- * ~~~
265
197
*/
266
198
fn gen_str ( & self , len : uint ) -> ~str ;
267
- /**
268
- * Return a random byte string of the specified length
269
- *
270
- * *Example*
271
- *
272
- * ~~~
273
- *
274
- * use core::rand::RngUtil;
275
- *
276
- * fn main() {
277
- * rng = rand::Rng();
278
- * println(fmt!("%?",rng.gen_bytes(8)));
279
- * }
280
- * ~~~
281
- */
199
+ /// Return a random byte string of the specified length
282
200
fn gen_bytes ( & self , len : uint ) -> ~[ u8 ] ;
283
- ///
284
- /**
285
- * Choose an item randomly, failing if values is empty
286
- *
287
- * *Example*
288
- *
289
- * ~~~
290
- *
291
- * use core::rand::RngUtil;
292
- *
293
- * fn main() {
294
- * rng = rand::Rng();
295
- * println(fmt!("%d",rng.choose([1,2,4,8,16,32])));
296
- * }
297
- * ~~~
298
- */
201
+ /// Choose an item randomly, failing if values is empty
299
202
fn choose < T : Copy > ( & self , values : & [ T ] ) -> T ;
300
203
/// Choose Some(item) randomly, returning None if values is empty
301
204
fn choose_option < T : Copy > ( & self , values : & [ T ] ) -> Option < T > ;
302
205
/**
303
206
* Choose an item respecting the relative weights, failing if the sum of
304
207
* the weights is 0
305
- *
306
- * *Example*
307
- *
308
- * ~~~
309
- *
310
- * use core::rand::RngUtil;
311
- *
312
- * fn main() {
313
- * rng = rand::Rng();
314
- * let x = [rand::Weighted {weight: 4, item: 'a'},
315
- * rand::Weighted {weight: 2, item: 'b'},
316
- * rand::Weighted {weight: 2, item: 'c'}];
317
- * println(fmt!("%c",rng.choose_weighted(x)));
318
- * }
319
- * ~~~
320
208
*/
321
209
fn choose_weighted < T : Copy > ( & self , v : & [ Weighted < T > ] ) -> T ;
322
210
/**
323
211
* Choose Some(item) respecting the relative weights, returning none if
324
212
* the sum of the weights is 0
325
- *
326
- * *Example*
327
- *
328
- * ~~~
329
- *
330
- * use core::rand::RngUtil;
331
- *
332
- * fn main() {
333
- * rng = rand::Rng();
334
- * let x = [rand::Weighted {weight: 4, item: 'a'},
335
- * rand::Weighted {weight: 2, item: 'b'},
336
- * rand::Weighted {weight: 2, item: 'c'}];
337
- * println(fmt!("%?",rng.choose_weighted_option(x)));
338
- * }
339
- * ~~~
340
213
*/
341
214
fn choose_weighted_option < T : Copy > ( & self , v : & [ Weighted < T > ] ) -> Option < T > ;
342
215
/**
343
216
* Return a vec containing copies of the items, in order, where
344
217
* the weight of the item determines how many copies there are
345
- *
346
- * *Example*
347
- *
348
- * ~~~
349
- *
350
- * use core::rand::RngUtil;
351
- *
352
- * fn main() {
353
- * rng = rand::Rng();
354
- * let x = [rand::Weighted {weight: 4, item: 'a'},
355
- * rand::Weighted {weight: 2, item: 'b'},
356
- * rand::Weighted {weight: 2, item: 'c'}];
357
- * println(fmt!("%?",rng.weighted_vec(x)));
358
- * }
359
- * ~~~
360
218
*/
361
219
fn weighted_vec < T : Copy > ( & self , v : & [ Weighted < T > ] ) -> ~[ T ] ;
362
- /**
363
- * Shuffle a vec
364
- *
365
- * *Example*
366
- *
367
- * ~~~
368
- *
369
- * use core::rand::RngUtil;
370
- *
371
- * fn main() {
372
- * rng = rand::Rng();
373
- * println(fmt!("%?",rng.shuffle([1,2,3])));
374
- * }
375
- * ~~~
376
- */
220
+ /// Shuffle a vec
377
221
fn shuffle < T : Copy > ( & self , values : & [ T ] ) -> ~[ T ] ;
378
- /**
379
- * Shuffle a mutable vec in place
380
- *
381
- * *Example*
382
- *
383
- * ~~~
384
- *
385
- * use core::rand::RngUtil;
386
- *
387
- * fn main() {
388
- * rng = rand::Rng();
389
- * let mut y = [1,2,3];
390
- * rng.shuffle_mut(y);
391
- * println(fmt!("%?",y));
392
- * rng.shuffle_mut(y);
393
- * println(fmt!("%?",y));
394
- * }
395
- * ~~~
396
- */
222
+ /// Shuffle a mutable vec in place
397
223
fn shuffle_mut < T > ( & self , values : & mut [ T ] ) ;
398
224
}
399
225
@@ -511,7 +337,7 @@ impl RngUtil for @Rng {
511
337
self . next ( ) & 1u32 == 1u32
512
338
}
513
339
514
- /// Return a bool with a 1-in- n chance of true
340
+ /// Return a bool with a 1 in n chance of true
515
341
fn gen_weighted_bool ( & self , n : uint ) -> bool {
516
342
if n == 0 u {
517
343
true
0 commit comments