fn primitive_rank<T: ArrowNativeTypeOp>( values: &[T], nulls: Option<&NullBuffer>, options: SortOptions, ) -> Vec<u32>