Skip to main content

luaur_code_gen/records/
block_linearization_stats.rs

1#[derive(Debug, Clone, Copy, PartialEq)]
2#[repr(C)]
3pub struct BlockLinearizationStats {
4    pub(crate) const_prop_instruction_count: u32,
5    pub(crate) time_seconds: f64,
6}
7
8impl BlockLinearizationStats {
9    pub fn block_linearization_stats_operator_add(
10        &self,
11        other: &BlockLinearizationStats,
12    ) -> BlockLinearizationStats {
13        let mut result: BlockLinearizationStats = *self;
14        result.block_linearization_stats_operator_add_assign(other);
15        result
16    }
17}
18
19impl core::ops::Add for BlockLinearizationStats {
20    type Output = Self;
21
22    #[inline]
23    fn add(self, rhs: Self) -> Self::Output {
24        self.block_linearization_stats_operator_add(&rhs)
25    }
26}
27
28impl core::ops::Add<&BlockLinearizationStats> for BlockLinearizationStats {
29    type Output = Self;
30
31    #[inline]
32    fn add(self, rhs: &BlockLinearizationStats) -> Self::Output {
33        self.block_linearization_stats_operator_add(rhs)
34    }
35}
36
37impl Default for BlockLinearizationStats {
38    fn default() -> Self {
39        Self {
40            const_prop_instruction_count: 0,
41            time_seconds: 0.0,
42        }
43    }
44}