pub(crate) fn make_gamma_lut<T: Default + Copy + 'static + PointeeSizeExpressible + GammaLutInterpolate, const BUCKET: usize, const N: usize, const BIT_DEPTH: usize>( table: &[u16], ) -> Box<[T; BUCKET]>where u32: AsPrimitive<T>, f32: AsPrimitive<T>,