diff options
Diffstat (limited to 'rust-tests')
-rw-r--r-- | rust-tests/Cargo.toml | 9 | ||||
-rw-r--r-- | rust-tests/src/main.rs | 45 |
2 files changed, 54 insertions, 0 deletions
diff --git a/rust-tests/Cargo.toml b/rust-tests/Cargo.toml new file mode 100644 index 00000000..e384da1d --- /dev/null +++ b/rust-tests/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "rust-tests" +version = "0.1.0" +authors = ["Son Ho <hosonmarc@gmail.com>"] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/rust-tests/src/main.rs b/rust-tests/src/main.rs new file mode 100644 index 00000000..f87fa40f --- /dev/null +++ b/rust-tests/src/main.rs @@ -0,0 +1,45 @@ +/// The following code generates the limits for the scalar types + +fn main() { + let ints = &[ + "isize", "i8", "i16", "i32", "i64", "i128", "usize", "u8", "u16", "u32", "u64", "u128", + ]; + // Generate the code to print the limits + for s in ints { + println!( + "println!(\"let {}_min = Z.of_string \\\"{{}}\\\"\", {}::MIN);", + s, s + ); + println!( + "println!(\"let {}_max = Z.of_string \\\"{{}}\\\"\", {}::MAX);", + s, s + ); + } + println!("\n"); + + // Generate the OCaml definitions - this code is generated (comes from the above) + println!("let isize_min = Z.of_string \"{}\"", isize::MIN); + println!("let isize_max = Z.of_string \"{}\"", isize::MAX); + println!("let i8_min = Z.of_string \"{}\"", i8::MIN); + println!("let i8_max = Z.of_string \"{}\"", i8::MAX); + println!("let i16_min = Z.of_string \"{}\"", i16::MIN); + println!("let i16_max = Z.of_string \"{}\"", i16::MAX); + println!("let i32_min = Z.of_string \"{}\"", i32::MIN); + println!("let i32_max = Z.of_string \"{}\"", i32::MAX); + println!("let i64_min = Z.of_string \"{}\"", i64::MIN); + println!("let i64_max = Z.of_string \"{}\"", i64::MAX); + println!("let i128_min = Z.of_string \"{}\"", i128::MIN); + println!("let i128_max = Z.of_string \"{}\"", i128::MAX); + println!("let usize_min = Z.of_string \"{}\"", usize::MIN); + println!("let usize_max = Z.of_string \"{}\"", usize::MAX); + println!("let u8_min = Z.of_string \"{}\"", u8::MIN); + println!("let u8_max = Z.of_string \"{}\"", u8::MAX); + println!("let u16_min = Z.of_string \"{}\"", u16::MIN); + println!("let u16_max = Z.of_string \"{}\"", u16::MAX); + println!("let u32_min = Z.of_string \"{}\"", u32::MIN); + println!("let u32_max = Z.of_string \"{}\"", u32::MAX); + println!("let u64_min = Z.of_string \"{}\"", u64::MIN); + println!("let u64_max = Z.of_string \"{}\"", u64::MAX); + println!("let u128_min = Z.of_string \"{}\"", u128::MIN); + println!("let u128_max = Z.of_string \"{}\"", u128::MAX); +} |