burn_router/ops/
binary.rs1#[allow(missing_docs)]
2#[macro_export(local_inner_macros)]
3macro_rules! binary_float_ops {
4 (
5 $handles:expr, $desc:expr, $ops:expr
6 ) => {{
7 let lhs = $handles.get_float_tensor::<B>(&$desc.lhs);
8 let rhs = $handles.get_float_tensor::<B>(&$desc.rhs);
9 let output = $ops(lhs, rhs);
10
11 $handles.register_float_tensor::<B>(&$desc.out.id, output);
12 }};
13}
14
15#[allow(missing_docs)]
16#[macro_export(local_inner_macros)]
17macro_rules! binary_float_cmp_ops {
18 (
19 $handles:expr, $desc:expr, $ops:expr
20 ) => {{
21 let lhs = $handles.get_float_tensor::<B>(&$desc.lhs);
22 let rhs = $handles.get_float_tensor::<B>(&$desc.rhs);
23 let output = $ops(lhs, rhs);
24
25 $handles.register_bool_tensor::<B>(&$desc.out.id, output);
26 }};
27}
28
29#[allow(missing_docs)]
30#[macro_export(local_inner_macros)]
31macro_rules! binary_int_ops {
32 (
33 $handles:expr, $desc:expr, $ops:expr
34 ) => {{
35 let lhs = $handles.get_int_tensor::<B>(&$desc.lhs);
36 let rhs = $handles.get_int_tensor::<B>(&$desc.rhs);
37 let output = $ops(lhs, rhs);
38
39 $handles.register_int_tensor::<B>(&$desc.out.id, output);
40 }};
41}
42
43#[allow(missing_docs)]
44#[macro_export(local_inner_macros)]
45macro_rules! binary_int_cmp_ops {
46 (
47 $handles:expr, $desc:expr, $ops:expr
48 ) => {{
49 let lhs = $handles.get_int_tensor::<B>(&$desc.lhs);
50 let rhs = $handles.get_int_tensor::<B>(&$desc.rhs);
51 let output = $ops(lhs, rhs);
52
53 $handles.register_bool_tensor::<B>(&$desc.out.id, output);
54 }};
55}
56
57#[allow(missing_docs)]
58#[macro_export(local_inner_macros)]
59macro_rules! binary_bool_ops {
60 (
61 $handles:expr, $desc:expr, $ops:expr
62 ) => {{
63 let lhs = $handles.get_bool_tensor::<B>(&$desc.lhs);
64 let rhs = $handles.get_bool_tensor::<B>(&$desc.rhs);
65 let output = $ops(lhs, rhs);
66
67 $handles.register_bool_tensor::<B>(&$desc.out.id, output);
68 }};
69}