Merge branch 'revert-778668a7' into 'master'
Revert Changing library to ramp" See merge request Dandellion/per!1
This commit is contained in:
		
						commit
						0be764ef23
					
				
							
								
								
									
										133
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										133
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -21,11 +21,6 @@ name = "bitflags"
 | 
				
			|||||||
version = "1.0.4"
 | 
					version = "1.0.4"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "cc"
 | 
					 | 
				
			||||||
version = "1.0.32"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "clap"
 | 
					name = "clap"
 | 
				
			||||||
version = "2.32.0"
 | 
					version = "2.32.0"
 | 
				
			||||||
@ -40,45 +35,11 @@ dependencies = [
 | 
				
			|||||||
 "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "cloudabi"
 | 
					 | 
				
			||||||
version = "0.0.3"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "fuchsia-cprng"
 | 
					 | 
				
			||||||
version = "0.1.1"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "hamming"
 | 
					 | 
				
			||||||
version = "0.1.3"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "ieee754"
 | 
					 | 
				
			||||||
version = "0.2.6"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "libc"
 | 
					name = "libc"
 | 
				
			||||||
version = "0.2.50"
 | 
					version = "0.2.50"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "num-bigint"
 | 
					 | 
				
			||||||
version = "0.1.44"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "num-bigint"
 | 
					name = "num-bigint"
 | 
				
			||||||
version = "0.2.2"
 | 
					version = "0.2.2"
 | 
				
			||||||
@ -96,14 +57,6 @@ dependencies = [
 | 
				
			|||||||
 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "num-traits"
 | 
					 | 
				
			||||||
version = "0.1.43"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "num-traits"
 | 
					name = "num-traits"
 | 
				
			||||||
version = "0.2.6"
 | 
					version = "0.2.6"
 | 
				
			||||||
@ -124,67 +77,6 @@ dependencies = [
 | 
				
			|||||||
 "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
 "ramp 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "ramp"
 | 
					 | 
				
			||||||
version = "0.5.1"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "ieee754 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rustc-cfg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rand"
 | 
					 | 
				
			||||||
version = "0.4.6"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rand"
 | 
					 | 
				
			||||||
version = "0.5.6"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rand_core"
 | 
					 | 
				
			||||||
version = "0.3.1"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rand_core"
 | 
					 | 
				
			||||||
version = "0.4.0"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rdrand"
 | 
					 | 
				
			||||||
version = "0.4.0"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
dependencies = [
 | 
					 | 
				
			||||||
 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -200,16 +92,6 @@ dependencies = [
 | 
				
			|||||||
 "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
					 "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rustc-cfg"
 | 
					 | 
				
			||||||
version = "0.2.0"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					 | 
				
			||||||
name = "rustc-serialize"
 | 
					 | 
				
			||||||
version = "0.3.24"
 | 
					 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "strsim"
 | 
					name = "strsim"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.7.0"
 | 
				
			||||||
@ -266,29 +148,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 | 
					"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 | 
				
			||||||
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
 | 
					"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
 | 
				
			||||||
"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 | 
					"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 | 
				
			||||||
"checksum cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "ad0daef304fa0b4238f5f7ed7178774b43b06f6a9b6509f6642bef4ff1f7b9b2"
 | 
					 | 
				
			||||||
"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
 | 
					"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
 | 
				
			||||||
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 | 
					 | 
				
			||||||
"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 | 
					 | 
				
			||||||
"checksum hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1"
 | 
					 | 
				
			||||||
"checksum ieee754 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c"
 | 
					 | 
				
			||||||
"checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1"
 | 
					"checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1"
 | 
				
			||||||
"checksum num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
 | 
					 | 
				
			||||||
"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718"
 | 
					"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718"
 | 
				
			||||||
"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
 | 
					"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
 | 
				
			||||||
"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
 | 
					 | 
				
			||||||
"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
 | 
					"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
 | 
				
			||||||
"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
 | 
					"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
 | 
				
			||||||
"checksum ramp 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0ca970d0666c000527f44cfdb4d6c3490e53417b9806166463a4d68b88a950ce"
 | 
					 | 
				
			||||||
"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
 | 
					 | 
				
			||||||
"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
 | 
					 | 
				
			||||||
"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
 | 
					 | 
				
			||||||
"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
 | 
					 | 
				
			||||||
"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
 | 
					 | 
				
			||||||
"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
 | 
					"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
 | 
				
			||||||
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
 | 
					"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
 | 
				
			||||||
"checksum rustc-cfg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37937dfed502ccc4e644c3cc272222e31adc2b1f5d215f6f8f8e1a422072e516"
 | 
					 | 
				
			||||||
"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
 | 
					 | 
				
			||||||
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 | 
					"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 | 
				
			||||||
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
 | 
					"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
 | 
				
			||||||
"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
 | 
					"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,6 @@ edition = "2018"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
num-bigint = "0.2"
 | 
					num-bigint = "0.2"
 | 
				
			||||||
ramp = "0.5.1"
 | 
					 | 
				
			||||||
num_cpus = "1.0"
 | 
					num_cpus = "1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clap = "2.32.0"
 | 
					clap = "2.32.0"
 | 
				
			||||||
@ -15,6 +15,6 @@ with nixpkgs;
 | 
				
			|||||||
  stdenv.mkDerivation {
 | 
					  stdenv.mkDerivation {
 | 
				
			||||||
    name = "moz_overlay_shell";
 | 
					    name = "moz_overlay_shell";
 | 
				
			||||||
    buildInputs = [
 | 
					    buildInputs = [
 | 
				
			||||||
      rustNightlyChannel
 | 
					      rustStableChannel
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										53
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								src/main.rs
									
									
									
									
									
								
							@ -1,6 +1,5 @@
 | 
				
			|||||||
extern crate ramp;
 | 
					extern crate num_bigint;
 | 
				
			||||||
use ramp::Int;
 | 
					// extern crate num_traits;
 | 
				
			||||||
 | 
					 | 
				
			||||||
extern crate num_cpus;
 | 
					extern crate num_cpus;
 | 
				
			||||||
#[macro_use]
 | 
					#[macro_use]
 | 
				
			||||||
extern crate clap;
 | 
					extern crate clap;
 | 
				
			||||||
@ -9,32 +8,32 @@ extern crate clap;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use clap::App;
 | 
					use clap::App;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use num_bigint::BigUint;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use std::thread;
 | 
					use std::thread;
 | 
				
			||||||
// use std::sync::mpsc;
 | 
					// use std::sync::mpsc;
 | 
				
			||||||
use std::sync::{Arc, Barrier, RwLock};
 | 
					use std::sync::{Arc, Barrier, RwLock};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use std::time::{Duration, Instant};
 | 
					use std::time::{Duration, Instant};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
trait Peristance {
 | 
					trait Peristance {
 | 
				
			||||||
    fn per_mul(&self) -> i32;
 | 
					    fn per_mul(&self) -> u8;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl Peristance for BigUint {  
 | 
				
			||||||
impl Peristance for Int {
 | 
					    fn per_mul(&self) -> u8 {
 | 
				
			||||||
    fn per_mul(&self) -> i32 {
 | 
					        let mut n = self.to_radix_le(10)
 | 
				
			||||||
        let mut n = self.to_str_radix(10, false)
 | 
					            .into_iter()
 | 
				
			||||||
            .chars()
 | 
					            .product::<BigUint>();
 | 
				
			||||||
            .map(|x| x as i32 - 48)
 | 
					 | 
				
			||||||
            .fold(Int::one(), |acc, x| acc * x);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut counter = 1;
 | 
					        let mut counter = 1;
 | 
				
			||||||
        while n.to_str_radix(10, false).chars().count() > 1 {
 | 
					        while n.to_str_radix(10).chars().count() > 1 {
 | 
				
			||||||
            n = n.to_str_radix(10, false)
 | 
					            n = n.to_radix_le(10)
 | 
				
			||||||
                .chars()
 | 
					                .into_iter()
 | 
				
			||||||
                .map(|x| x as i32 - 48)
 | 
					                .product::<BigUint>();
 | 
				
			||||||
                .fold(Int::one(), |acc, x| acc * x);
 | 
					 | 
				
			||||||
            counter += 1;
 | 
					            counter += 1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return counter;
 | 
					        return counter;
 | 
				
			||||||
@ -44,21 +43,21 @@ impl Peristance for Int {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#[derive(Debug)]
 | 
					#[derive(Debug)]
 | 
				
			||||||
struct Counter {
 | 
					struct Counter {
 | 
				
			||||||
    count: Int,
 | 
					    count: BigUint,
 | 
				
			||||||
    step: i32,
 | 
					    step: u8,
 | 
				
			||||||
    offset: i32
 | 
					    offset: u8
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl Counter {
 | 
					impl Counter {
 | 
				
			||||||
    fn new(_step: i32, _offset: i32) -> Counter {
 | 
					    fn new(_step: u8, _offset: u8) -> Counter {
 | 
				
			||||||
        Counter {count: Int::zero(), step: _step, offset: _offset}
 | 
					        Counter {count: BigUint::from(0u8), step: _step, offset: _offset}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl Iterator for Counter {
 | 
					impl Iterator for Counter {
 | 
				
			||||||
    type Item = Int;
 | 
					    type Item = BigUint;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fn next(&mut self) -> Option<Int> {
 | 
					    fn next(&mut self) -> Option<BigUint> {
 | 
				
			||||||
        // Increment our count. This is why we started at zero.
 | 
					        // Increment our count. This is why we started at zero.
 | 
				
			||||||
        self.count += self.step;
 | 
					        self.count += self.step;
 | 
				
			||||||
        Some(self.count.clone())
 | 
					        Some(self.count.clone())
 | 
				
			||||||
@ -78,13 +77,13 @@ fn main() {
 | 
				
			|||||||
        .get_matches();
 | 
					        .get_matches();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let mut cpus = value_t!(args, "jobs", i32).unwrap_or(num_cpus::get() as i32);
 | 
					    let mut cpus = value_t!(args, "jobs", u8).unwrap_or(num_cpus::get() as u8);
 | 
				
			||||||
    if cpus == 0 {
 | 
					    if cpus == 0 {
 | 
				
			||||||
        cpus = num_cpus::get() as i32;
 | 
					        cpus = num_cpus::get() as u8;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    let cpus = cpus;
 | 
					    let cpus = cpus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let max: i32 = value_t!(args, "max", i32).unwrap_or(11i32);
 | 
					    let max = value_t!(args, "max", u8).unwrap_or(11u8);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    println!("threads: {}", cpus);
 | 
					    println!("threads: {}", cpus);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -94,7 +93,7 @@ fn main() {
 | 
				
			|||||||
        thread::spawn(move || {
 | 
					        thread::spawn(move || {
 | 
				
			||||||
            println!("Started thread {}!", thread);
 | 
					            println!("Started thread {}!", thread);
 | 
				
			||||||
            let counter =  Counter::new(cpus-thread, cpus);
 | 
					            let counter =  Counter::new(cpus-thread, cpus);
 | 
				
			||||||
            let mut top: i32 = 0;
 | 
					            let mut top: u8 = 0;
 | 
				
			||||||
            for x in counter {
 | 
					            for x in counter {
 | 
				
			||||||
                let n = x.per_mul();
 | 
					                let n = x.per_mul();
 | 
				
			||||||
                if n > top {
 | 
					                if n > top {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user