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::{C1, C3, C4, ChannelLayout, ImageView},
    },
};

use super::super::ImagePipeline;
use super::*;

#[path = "statistics_masked_dispatch_impls.rs"]
mod masked_dispatch_impls;

impl_scalar_statistic_image!(
    u8,
    C1,
    statistics::sum_u8_c1,
    statistics::mean_u8_c1,
    statistics::norm_inf_u8_c1,
    statistics::norm_l1_u8_c1,
    statistics::norm_l2_u8_c1
);

impl_scalar_statistic_image!(
    u16,
    C1,
    statistics::sum_u16_c1,
    statistics::mean_u16_c1,
    statistics::norm_inf_u16_c1,
    statistics::norm_l1_u16_c1,
    statistics::norm_l2_u16_c1
);

impl_scalar_statistic_image!(
    i16,
    C1,
    statistics::sum_i16_c1,
    statistics::mean_i16_c1,
    statistics::norm_inf_i16_c1,
    statistics::norm_l1_i16_c1,
    statistics::norm_l2_i16_c1
);

impl_scalar_statistic_image!(
    f32,
    C1,
    statistics::sum_f32_c1,
    statistics::mean_f32_c1,
    statistics::norm_inf_f32_c1,
    statistics::norm_l1_f32_c1,
    statistics::norm_l2_f32_c1
);

impl_scalar_statistic_image!(
    u8,
    C3,
    statistics::sum_u8_c3,
    statistics::mean_u8_c3,
    statistics::norm_inf_u8_c3,
    statistics::norm_l1_u8_c3,
    statistics::norm_l2_u8_c3
);

impl_scalar_statistic_image!(
    u16,
    C3,
    statistics::sum_u16_c3,
    statistics::mean_u16_c3,
    statistics::norm_inf_u16_c3,
    statistics::norm_l1_u16_c3,
    statistics::norm_l2_u16_c3
);

impl_scalar_statistic_image!(
    i16,
    C3,
    statistics::sum_i16_c3,
    statistics::mean_i16_c3,
    statistics::norm_inf_i16_c3,
    statistics::norm_l1_i16_c3,
    statistics::norm_l2_i16_c3
);

impl_scalar_statistic_image!(
    f32,
    C3,
    statistics::sum_f32_c3,
    statistics::mean_f32_c3,
    statistics::norm_inf_f32_c3,
    statistics::norm_l1_f32_c3,
    statistics::norm_l2_f32_c3
);

impl_scalar_statistic_image!(
    u8,
    C4,
    statistics::sum_u8_c4,
    statistics::mean_u8_c4,
    statistics::norm_inf_u8_c4,
    statistics::norm_l1_u8_c4,
    statistics::norm_l2_u8_c4
);

impl_scalar_statistic_image!(
    u16,
    C4,
    statistics::sum_u16_c4,
    statistics::mean_u16_c4,
    statistics::norm_inf_u16_c4,
    statistics::norm_l1_u16_c4,
    statistics::norm_l2_u16_c4
);

impl_scalar_statistic_image!(
    i16,
    C4,
    statistics::sum_i16_c4,
    statistics::mean_i16_c4,
    statistics::norm_inf_i16_c4,
    statistics::norm_l1_i16_c4,
    statistics::norm_l2_i16_c4
);

impl_scalar_statistic_image!(
    f32,
    C4,
    statistics::sum_f32_c4,
    statistics::mean_f32_c4,
    statistics::norm_inf_f32_c4,
    statistics::norm_l1_f32_c4,
    statistics::norm_l2_f32_c4
);