competitive/tools/
assign_ops.rs1#[macro_export]
2macro_rules! add_assign {
3 ($l:expr, $r:expr) => {{
4 let r = $r;
5 $l += r;
6 }};
7}
8
9#[macro_export]
10macro_rules! sub_assign {
11 ($l:expr, $r:expr) => {{
12 let r = $r;
13 $l -= r;
14 }};
15}
16
17#[macro_export]
18macro_rules! mul_assign {
19 ($l:expr, $r:expr) => {{
20 let r = $r;
21 $l *= r;
22 }};
23}
24
25#[macro_export]
26macro_rules! div_assign {
27 ($l:expr, $r:expr) => {{
28 let r = $r;
29 $l /= r;
30 }};
31}
32
33#[macro_export]
34macro_rules! rem_assign {
35 ($l:expr, $r:expr) => {{
36 let r = $r;
37 $l %= r;
38 }};
39}
40
41#[macro_export]
42macro_rules! bitand_assign {
43 ($l:expr, $r:expr) => {{
44 let r = $r;
45 $l &= r;
46 }};
47}
48
49#[macro_export]
50macro_rules! bitor_assign {
51 ($l:expr, $r:expr) => {{
52 let r = $r;
53 $l |= r;
54 }};
55}
56
57#[macro_export]
58macro_rules! bitxor_assign {
59 ($l:expr, $r:expr) => {{
60 let r = $r;
61 $l ^= r;
62 }};
63}
64
65#[macro_export]
66macro_rules! shl_assign {
67 ($l:expr, $r:expr) => {{
68 let r = $r;
69 $l <<= r;
70 }};
71}
72
73#[macro_export]
74macro_rules! shr_assign {
75 ($l:expr, $r:expr) => {{
76 let r = $r;
77 $l >>= r;
78 }};
79}