singe-npp 0.1.0-alpha.8

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

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

use super::{
    ImagePipeline, WarpAffineBackImage, WarpAffineImage, WarpAffineQuadImage,
    WarpPerspectiveBackImage, WarpPerspectiveImage, WarpPerspectiveQuadImage,
};

impl_warp_for_layout!(
    i32,
    C1,
    geometry::warp_affine_i32_c1,
    geometry::warp_affine_back_i32_c1,
    geometry::warp_affine_quad_i32_c1,
    geometry::warp_perspective_i32_c1,
    geometry::warp_perspective_back_i32_c1,
    geometry::warp_perspective_quad_i32_c1
);
impl_warp_for_layout!(
    i32,
    C3,
    geometry::warp_affine_i32_c3,
    geometry::warp_affine_back_i32_c3,
    geometry::warp_affine_quad_i32_c3,
    geometry::warp_perspective_i32_c3,
    geometry::warp_perspective_back_i32_c3,
    geometry::warp_perspective_quad_i32_c3
);
impl_warp_for_layout!(
    i32,
    C4,
    geometry::warp_affine_i32_c4,
    geometry::warp_affine_back_i32_c4,
    geometry::warp_affine_quad_i32_c4,
    geometry::warp_perspective_i32_c4,
    geometry::warp_perspective_back_i32_c4,
    geometry::warp_perspective_quad_i32_c4
);
impl_warp_for_layout!(
    i32,
    AC4,
    geometry::warp_affine_i32_ac4,
    geometry::warp_affine_back_i32_ac4,
    geometry::warp_affine_quad_i32_ac4,
    geometry::warp_perspective_i32_ac4,
    geometry::warp_perspective_back_i32_ac4,
    geometry::warp_perspective_quad_i32_ac4
);
impl_affine_perspective_for_layout!(
    f16,
    C1,
    geometry::warp_affine_f16_c1,
    geometry::warp_perspective_f16_c1
);
impl_affine_perspective_for_layout!(
    f16,
    C3,
    geometry::warp_affine_f16_c3,
    geometry::warp_perspective_f16_c3
);
impl_affine_perspective_for_layout!(
    f16,
    C4,
    geometry::warp_affine_f16_c4,
    geometry::warp_perspective_f16_c4
);
impl_warp_affine_image!(f64, C1, geometry::warp_affine_f64_c1);
impl_warp_affine_image!(f64, C3, geometry::warp_affine_f64_c3);
impl_warp_affine_image!(f64, C4, geometry::warp_affine_f64_c4);
impl_warp_affine_image!(f64, AC4, geometry::warp_affine_f64_ac4);