diff options
Diffstat (limited to 'meap/meap-code/ch5/ch5-genfib')
| -rwxr-xr-x | meap/meap-code/ch5/ch5-genfib/Cargo.lock | 102 | ||||
| -rwxr-xr-x | meap/meap-code/ch5/ch5-genfib/Cargo.toml | 7 | ||||
| -rwxr-xr-x | meap/meap-code/ch5/ch5-genfib/src/main.rs | 17 | 
3 files changed, 126 insertions, 0 deletions
diff --git a/meap/meap-code/ch5/ch5-genfib/Cargo.lock b/meap/meap-code/ch5/ch5-genfib/Cargo.lock new file mode 100755 index 0000000..83a7013 --- /dev/null +++ b/meap/meap-code/ch5/ch5-genfib/Cargo.lock @@ -0,0 +1,102 @@ +[root]
 +name = "genfib"
 +version = "0.1.0"
 +dependencies = [
 + "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "libc"
 +version = "0.2.20"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "num"
 +version = "0.1.37"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-bigint 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-complex 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-rational 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-bigint"
 +version = "0.1.36"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-complex"
 +version = "0.1.36"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-integer"
 +version = "0.1.33"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-iter"
 +version = "0.1.33"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-rational"
 +version = "0.1.36"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-bigint 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
 +version = "0.1.37"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "rand"
 +version = "0.3.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rustc-serialize"
 +version = "0.3.22"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
 +"checksum libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "684f330624d8c3784fb9558ca46c4ce488073a8d22450415c5eb4f4cfb0d11b5"
 +"checksum num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "98b15ba84e910ea7a1973bccd3df7b31ae282bf9d8bd2897779950c9b8303d40"
 +"checksum num-bigint 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "5e2955fede25639c4f4f797e864b7585f20d98069c45e0c86b1d22a808eb9f77"
 +"checksum num-complex 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "3534898d8a1f6b16c12f9fc2f4eaabc7ecdcc55f267213caa8988fdc7d60ff94"
 +"checksum num-integer 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "21e4df1098d1d797d27ef0c69c178c3fab64941559b290fcae198e0825c9c8b5"
 +"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e"
 +"checksum num-rational 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "c2dc5ea04020a8f18318ae485c751f8cfa1c0e69dcf465c29ddaaa64a313cc44"
 +"checksum num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99"
 +"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d"
 +"checksum rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "237546c689f20bb44980270c73c3b9edd0891c1be49cc1274406134a66d3957b"
 diff --git a/meap/meap-code/ch5/ch5-genfib/Cargo.toml b/meap/meap-code/ch5/ch5-genfib/Cargo.toml new file mode 100755 index 0000000..1324537 --- /dev/null +++ b/meap/meap-code/ch5/ch5-genfib/Cargo.toml @@ -0,0 +1,7 @@ +[package]
 +name = "genfib"
 +version = "0.1.0"
 +authors = ["Tim"]
 +
 +[dependencies]
 +num = "0.1"
 diff --git a/meap/meap-code/ch5/ch5-genfib/src/main.rs b/meap/meap-code/ch5/ch5-genfib/src/main.rs new file mode 100755 index 0000000..e3c95e0 --- /dev/null +++ b/meap/meap-code/ch5/ch5-genfib/src/main.rs @@ -0,0 +1,17 @@ +extern crate num;
 +
 +use num::{Integer, Unsigned};
 +
 +fn fibonacci<T: Integer + Unsigned>(n: T) -> T {
 +  match n {
 +    0 => 0,
 +    1 => 1,
 +    _ => n + fibonacci(n-1),
 +  }
 +}
 +
 +fn main() {
 +    let n = 10;
 +    println!("{}", fibonacci(n as u16));
 +    println!("{}", fibonacci(n as u64));
 +}
  |