vulkan-int 0.5.4

empowering everyone to clamp integers in a memey way
Documentation
use
    std::
        {
            ops::
                {
                    Add,
                    Sub,
                    Mul,
                    Div
                }
        };

pub
    use
        std::
            ops::
                Deref;

mod macros;
mod clamp;

#[
    cfg(
        test
    )
]

mod tests;
    
#[
    derive(
        Debug
    )
]

#[
    repr(
        transparent
    )
]

pub
    struct VulkanInt {
        value:
            i8
    }

impl
    VulkanInt {
        fn new(
            value:
                isize
        ) ->
            VulkanInt {
                VulkanInt {
                    value:
                        clamp::
                            clamp(
                                value,
                                
                                -54 ..= 54
                            )
                                as i8
                }
            }
    }

impl
    Deref for
        VulkanInt {
            type Target =
                i8;
            
            fn deref(
                self:
                    &VulkanInt
            ) ->
                &Self::Target {
                    &self
                        .value
                }
        }

vulkan_int_operation_impl!(
    Add, add, +
);

vulkan_int_operation_impl!(
    Sub, sub, -
);

vulkan_int_operation_impl!(
    Mul, mul, *
);

vulkan_int_operation_impl!(
    Div, div, /
);