Skip to main content

oxilean_codegen/c_backend/
cbinop_traits.rs

1//! # CBinOp - Trait Implementations
2//!
3//! This module contains trait implementations for `CBinOp`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use crate::lcnf::*;
12
13use super::types::CBinOp;
14use std::fmt;
15
16impl fmt::Display for CBinOp {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        match self {
19            CBinOp::Add => write!(f, "+"),
20            CBinOp::Sub => write!(f, "-"),
21            CBinOp::Mul => write!(f, "*"),
22            CBinOp::Div => write!(f, "/"),
23            CBinOp::Mod => write!(f, "%"),
24            CBinOp::Eq => write!(f, "=="),
25            CBinOp::Neq => write!(f, "!="),
26            CBinOp::Lt => write!(f, "<"),
27            CBinOp::Le => write!(f, "<="),
28            CBinOp::Gt => write!(f, ">"),
29            CBinOp::Ge => write!(f, ">="),
30            CBinOp::And => write!(f, "&&"),
31            CBinOp::Or => write!(f, "||"),
32            CBinOp::BitAnd => write!(f, "&"),
33            CBinOp::BitOr => write!(f, "|"),
34            CBinOp::BitXor => write!(f, "^"),
35            CBinOp::Shl => write!(f, "<<"),
36            CBinOp::Shr => write!(f, ">>"),
37        }
38    }
39}