pub(crate) fn make_transform_3x4<T: Copy + AsPrimitive<f32> + Default + PointeeSizeExpressible + 'static + Send + Sync, const GRID_SIZE: usize, const BIT_DEPTH: usize>(
layout: Layout,
lut: Vec<f32>,
options: TransformOptions,
color_space: DataColorSpace,
is_linear: bool,
) -> Arc<dyn TransformExecutor<T> + Sync + Send>where
f32: AsPrimitive<T>,
u32: AsPrimitive<T>,
(): LutBarycentricReduction<T, u8> + LutBarycentricReduction<T, u16>,