relp_num/rational/
macros.rs

1/// Shorthand for creating a rational number in tests.
2#[macro_export]
3macro_rules! R8 {
4    ($value:expr) => {
5        <$crate::Rational8 as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
6    };
7    ($numer:expr, $denom:expr) => {
8        $crate::Rational8::new($numer, $denom).unwrap()
9    };
10}
11
12/// Shorthand for creating a rational number in tests.
13#[macro_export]
14macro_rules! R16 {
15    ($value:expr) => {
16        <$crate::Rational16 as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
17    };
18    ($numer:expr, $denom:expr) => {
19        $crate::Rational16::new($numer, $denom).unwrap()
20    };
21}
22
23/// Shorthand for creating a rational number in tests.
24#[macro_export]
25macro_rules! R32 {
26    ($value:expr) => {
27        <$crate::Rational32 as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
28    };
29    ($numer:expr, $denom:expr) => {
30        $crate::Rational32::new($numer, $denom).unwrap()
31    };
32}
33
34/// Shorthand for creating a rational number in tests.
35#[macro_export]
36macro_rules! R64 {
37    ($value:expr) => {
38        <$crate::Rational64 as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
39    };
40    ($numer:expr, $denom:expr) => {
41        $crate::Rational64::new($numer, $denom).unwrap()
42    };
43}
44
45/// Shorthand for creating a rational number in tests.
46#[macro_export]
47macro_rules! R128 {
48    ($value:expr) => {
49        <$crate::Rational128 as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
50    };
51    ($numer:expr, $denom:expr) => {
52        $crate::Rational128::new($numer, $denom).unwrap()
53    };
54}
55
56/// Shorthand for creating a rational number in tests.
57#[macro_export]
58macro_rules! RB {
59    ($value:expr) => {
60        <$crate::RationalBig as $crate::FromPrimitive>::from_f64($value as f64).unwrap()
61    };
62    ($numer:expr, $denom:expr) => {
63        $crate::RationalBig::new($numer, $denom).unwrap()
64    };
65}