pub(crate) fn make_lut_transform<T: Copy + Default + AsPrimitive<f32> + Send + Sync + AsPrimitive<usize> + PointeeSizeExpressible + GammaLutInterpolate, const BIT_DEPTH: usize, const LINEAR_CAP: usize, const GAMMA_LUT: usize>(
src_layout: Layout,
source: &ColorProfile,
dst_layout: Layout,
dest: &ColorProfile,
options: TransformOptions,
) -> Result<Arc<dyn TransformExecutor<T> + Send + Sync>, CmsError>where
f32: AsPrimitive<T>,
u32: AsPrimitive<T>,
(): LutBarycentricReduction<T, u8> + LutBarycentricReduction<T, u16>,