singe-npp 0.1.0-alpha.8

Safe Rust wrappers for NVIDIA Performance Primitives library (NPP).
Documentation
use singe_cuda::memory::DeviceMemory;

use crate::{
    context::StreamContext,
    error::Result,
    image::{
        statistics,
        view::{AC4, C1, C3, C4, ImageView, ImageViewMut},
    },
};

use super::super::ImagePipeline;
use super::{CountInRangeImage, EveryStatisticImage};

impl_count_in_range_image!(u8, C1, u8, 1, statistics::count_in_range_u8_c1);
impl_count_in_range_image!(f32, C1, f32, 1, statistics::count_in_range_f32_c1);
impl_count_in_range_image!(u8, C3, [u8; 3], 3, statistics::count_in_range_u8_c3);
impl_count_in_range_image!(f32, C3, [f32; 3], 3, statistics::count_in_range_f32_c3);
impl_count_in_range_image!(u8, AC4, [u8; 3], 3, statistics::count_in_range_u8_ac4);
impl_count_in_range_image!(f32, AC4, [f32; 3], 3, statistics::count_in_range_f32_ac4);

impl_every_statistic_image!(
    u8,
    C1,
    statistics::max_every_u8_c1,
    statistics::min_every_u8_c1
);
impl_every_statistic_image!(
    u16,
    C1,
    statistics::max_every_u16_c1,
    statistics::min_every_u16_c1
);
impl_every_statistic_image!(
    i16,
    C1,
    statistics::max_every_i16_c1,
    statistics::min_every_i16_c1
);
impl_every_statistic_image!(
    f32,
    C1,
    statistics::max_every_f32_c1,
    statistics::min_every_f32_c1
);
impl_every_statistic_image!(
    u8,
    C3,
    statistics::max_every_u8_c3,
    statistics::min_every_u8_c3
);
impl_every_statistic_image!(
    u16,
    C3,
    statistics::max_every_u16_c3,
    statistics::min_every_u16_c3
);
impl_every_statistic_image!(
    i16,
    C3,
    statistics::max_every_i16_c3,
    statistics::min_every_i16_c3
);
impl_every_statistic_image!(
    f32,
    C3,
    statistics::max_every_f32_c3,
    statistics::min_every_f32_c3
);
impl_every_statistic_image!(
    u8,
    C4,
    statistics::max_every_u8_c4,
    statistics::min_every_u8_c4
);
impl_every_statistic_image!(
    u16,
    C4,
    statistics::max_every_u16_c4,
    statistics::min_every_u16_c4
);
impl_every_statistic_image!(
    i16,
    C4,
    statistics::max_every_i16_c4,
    statistics::min_every_i16_c4
);
impl_every_statistic_image!(
    f32,
    C4,
    statistics::max_every_f32_c4,
    statistics::min_every_f32_c4
);
impl_every_statistic_image!(
    u8,
    AC4,
    statistics::max_every_u8_ac4,
    statistics::min_every_u8_ac4
);
impl_every_statistic_image!(
    u16,
    AC4,
    statistics::max_every_u16_ac4,
    statistics::min_every_u16_ac4
);
impl_every_statistic_image!(
    i16,
    AC4,
    statistics::max_every_i16_ac4,
    statistics::min_every_i16_ac4
);
impl_every_statistic_image!(
    f32,
    AC4,
    statistics::max_every_f32_ac4,
    statistics::min_every_f32_ac4
);