diff options
author | Jesse Luehrs <doy@tozt.net> | 2015-04-05 14:51:43 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2015-04-05 14:51:43 -0400 |
commit | 9cfb519ef68cfdabd6c7ad11c86f80b5bcf970a6 (patch) | |
tree | 7febac205c8bf68a7eb591d4070d9d8d408636c3 | |
parent | 42103921cf938b44072e60e8f7a7d092cafa7ae3 (diff) | |
download | matasano-9cfb519ef68cfdabd6c7ad11c86f80b5bcf970a6.tar.gz matasano-9cfb519ef68cfdabd6c7ad11c86f80b5bcf970a6.zip |
implement Debug for MersenneTwister
can't just derive it, because [_; 624] doesn't have a Debug
implementation
-rw-r--r-- | src/random.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/random.rs b/src/random.rs index fcc1967..64944b7 100644 --- a/src/random.rs +++ b/src/random.rs @@ -1,4 +1,5 @@ use rand::{Rand, Rng, SeedableRng}; +use std; pub struct MersenneTwister { state: [u32; 624], @@ -65,3 +66,13 @@ impl Clone for MersenneTwister { MersenneTwister { state: self.state, index: self.index } } } + +impl std::fmt::Debug for MersenneTwister { + fn fmt (&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { + try!(write!(f, "MersenneTwister {{ ")); + try!(std::fmt::Debug::fmt(&&self.state[..], f)); + try!(write!(f, ", ")); + try!(std::fmt::Debug::fmt(&self.index, f)); + write!(f, " }}") + } +} |