optimize with bit manipulation

Use bit manipulation techniques to optimize memory usage and computational efficiency in data structures and enums. For flag enums, consistently use bit-shift notation `(1 << n)` to make bit positions explicit and enable efficient bitwise operations. For compact data representation, leverage bitfields within unions to pack multiple boolean flags into...

copy reviewer prompt

Prompt

Reviewer Prompt

Use bit manipulation techniques to optimize memory usage and computational efficiency in data structures and enums. For flag enums, consistently use bit-shift notation (1 << n) to make bit positions explicit and enable efficient bitwise operations. For compact data representation, leverage bitfields within unions to pack multiple boolean flags into minimal memory space.

Example of bit-shift enum notation:

enum eRectCorner {
    CORNER_NONE        = 0,
    CORNER_TOPLEFT     = 1 << 0,
    CORNER_TOPRIGHT    = 1 << 1,
    CORNER_BOTTOMRIGHT = 1 << 2,
    CORNER_BOTTOMLEFT  = 1 << 3
};

Example of bitfield optimization:

union {
    uint16_t all = 0;
    struct {
        bool buffer : 1;
        bool damage : 1;
        bool scale : 1;
        // ... more flags
    };
};

This approach reduces memory footprint, enables efficient bitwise operations for flag combinations, and leverages compiler optimizations for bit manipulation algorithms.

Source discussions