fastnum/decimal/macros/
signals.rs1#[macro_export]
13macro_rules! signals {
14 [ $(! $tts: tt),* ] => {{
15 const __SIGNALS: $crate::decimal::Signals = signals!(@ [$($tts),*]);
16 __SIGNALS
17 }};
18 (@ []) => {
19 $crate::decimal::Signals::EMPTY
20 };
21 (@ CP) => {
22 $crate::decimal::Signals::OP_CLAMPED
23 };
24 (@ DBZ) => {
25 $crate::decimal::Signals::OP_DIV_BY_ZERO
26 };
27 (@ INEXACT) => {
28 $crate::decimal::Signals::OP_INEXACT
29 };
30 (@ INV) => {
31 $crate::decimal::Signals::OP_INVALID
32 };
33 (@ OFW) => {
34 $crate::decimal::Signals::OP_OVERFLOW
35 };
36 (@ ROUND) => {
37 $crate::decimal::Signals::OP_ROUNDED
38 };
39 (@ SN) => {
40 $crate::decimal::Signals::OP_SUBNORMAL
41 };
42 (@ UFW) => {
43 $crate::decimal::Signals::OP_UNDERFLOW
44 };
45 (@ [$t:tt]) => {
46 signals!(@ $t)
47 };
48 (@ [$t:tt, $($tts:tt),*]) => {
49 signals!(@ $t).combine(signals!(@ [$($tts),*]))
50 };
51}