macro_rules! binary_operation {
(
impl $op_trait:ident for ...($TGuarded:ty, $TUnguarded:ty) {
$doc:literal
fn $op_method:ident ($lhs:ident : $lhs_internal:ty, $rhs:ident : $rhs_internal:ty) -> $ret:ty
$implementation:block
}
) => { ... };
(
$op_trait:ident :: $op_method:ident
$doc:literal
fn ($lhs:ident : $LHS:ty, $rhs:ident : $RHS:ty) -> $ret:ty $implementation:block
) => { ... };
}
Expand description
Defines a binary operation for GuardedF64
with the specified trait and method.
This macro generates implementations for various combinations of GuardedF64
, f64
, and UnguardedF64
types, allowing for flexible arithmetic operations while ensuring that the results are checked for validity.
ยงArguments
$op_trait
- The trait representing the binary operation (e.g.,Add
,Sub
, etc.).$op_method
- The method name for the operation (e.g.,add
,sub
, etc.).$implementation
- A block of code that defines how the operation is performed.$doc
- A documentation string that describes the operation and its usage.