{ "fixtureArrays": { "axis0_f32_hash_sorted_duplicate_rows_input_x": [27.25, 46, -4.125, -24, 13.5, 27.5, -13.375, -32.125, 61.125, 25, -18.125, 21.625, 62.25, -35.75, -48.375, 47.125, -45, 13.25, 54.125, 37.875, 41.25, 4, -63.5, 50.75, -0.5, 12.125, -27.375, -7.75, -49.75, 20.25, 42.625, -59, 40.125, -40.25, -19.25, 6.25, 48.25, 28.625, 58.875, -61.25, -28.5, 20.5, -52, 15.75, 30.875, -56.5, -15.875, -0.75, -54.25, -31, 19.125, -42.5, -62.375, 44.875, -3, -42.75, -41.375, 6.5, -55.375, 2.875, -57.875, -46.125, -14.5, -6.375, -33.25, 35.625, -21.75, -8.875, -1.875, -36.875, 9.875, 55.25, -20.375, 5.125, 26.125, -25.125, 56.625, 63.625, 57.75, -49.5, -21.5, 11, -38, -60.125, -35.5, 14.625, -50.875, -47.25, -56.75, -14.75, 48.5, -28.75, -43.875, 60, 16.875, -29.875, -10, -34.375, 0.625, -22.875, 53, 49.625, 29.75, 34.25, -17, 39, 55.5, 18, 33.125, 43.75, -11.125, 32, 8.75, 23.875, 41.5, 36.75, 34.5, 7.625, -7.5, -53.125, 22.75, -5.25, -26.25, 1.75, 51.875, -39.125, 62.5, -12.25], "axis_nan_ordered_y_float32_nan_head_later_inner_sorted0_input_x": [5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0, 1, 0, "NaN", 9, 3, 0, 5, 0], "axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0_input_x": ["NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, "NaN", 1, -1, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5, 3, 5, 5], "axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0_input_x": [1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9, 1, "NaN", 2, 0, 3, 9], "axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0_input_x": [1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5, "NaN", 3, 0, 5], "compact_incomplete_first_chunk33": [7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -3], "metadata_scrambled_cycle65": [0, 37, 9, 46, 18, 55, 27, 64, 36, 8, 45, 17, 54, 26, 63, 35, 7, 44, 16, 53, 25, 62, 34, 6, 43, 15, 52, 24, 61, 33, 5, 42, 14, 51, 23, 60, 32, 4, 41, 13, 50, 22, 59, 31, 3, 40, 12, 49, 21, 58, 30, 2, 39, 11, 48, 20, 57, 29, 1, 38, 10, 47, 19, 56, 28], "ort_axis1_unsorted_f32_input_x": [1, 1, 0, 1, 2, 1, 0, 1, 1, 1, 0, 1, 2, 1, 0, 1], "scalar_hash_bool_finite_mask7_flat_sorted0_input_x": [1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1], "scalar_hash_float32_finite_mask0_flat_sorted0_input_x": [5, 0, 1, -3, 5, 0, 2, 5, 0, 1, -3, 5, 0, 2, 5, 0, 1, -3, 5, 0, 2, 5, 0, 1, -3, 5, 0, 2, 5, 0, 1, -3, 5], "scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices": [4, 1, 2, 0, 4, 1, 3, 4, 1, 2, 0, 4, 1, 3, 4, 1, 2, 0, 4, 1, 3, 4, 1, 2, 0, 4, 1, 3, 4, 1, 2, 0, 4], "scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices": [0, 1, 2, 3, 0, 1, 4, 0, 1, 2, 3, 0, 1, 4, 0, 1, 2, 3, 0, 1, 4, 0, 1, 2, 3, 0, 1, 4, 0, 1, 2, 3, 0], "scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x": [5, "NaN", 1, "NaN", 3, -2, "NaN", 5, "NaN", 1, "NaN", 3, -2, "NaN", 5, "NaN", 1, "NaN", 3, -2, "NaN", 5, "NaN", 1, "NaN", 3, -2, "NaN", 5, "NaN", 1, "NaN", 3], "scalar_hash_float32_later_nan_mask7_axis_sorted1_output_inverse_indices": [3, 3, 1, 1, 2, 0, 0, 3, 0, 1, 0, 2, 0, 0, 3, 0, 1, 0, 2, 0, 0, 3, 0, 1, 0, 2, 0, 0, 3, 0, 1, 0, 2], "scalar_hash_float32_later_nan_mask7_flat_sorted0_output_inverse_indices": [0, 0, 1, 1, 2, 3, 3, 0, 3, 1, 3, 2, 3, 3, 0, 3, 1, 3, 2, 3, 3, 0, 3, 1, 3, 2, 3, 3, 0, 3, 1, 3, 2], "scalar_hash_float32_leading_nan_mask7_axis_sorted0_input_x": ["NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN", 5, 1, -2, "NaN"], "scalar_hash_hybrid_tile1_input_x": [7, 2, 7, 5, -1, 0, 9, 7, 2, 7, 5, -1, 0, 9, 7, 2, 7, 5, -1, 0, 9, 7, 2, 7, 5, -1, 0, 9, 7, 2, 7, 5, -1, 0, 9], "scalar_hash_int16_finite_mask7_axis_sorted1_output_inverse_indices": [0, 4, 1, 2, 0, 3, 0, 4, 1, 2, 0, 3, 0, 4, 1, 2, 0, 3, 0, 4, 1, 2, 0, 3, 0, 4, 1, 2, 0, 3, 0, 4, 1], "scalar_hash_int16_finite_mask7_flat_sorted0_input_x": [-32768, 32767, -1, 0, -32768, 7, -32768, 32767, -1, 0, -32768, 7, -32768, 32767, -1, 0, -32768, 7, -32768, 32767, -1, 0, -32768, 7, -32768, 32767, -1, 0, -32768, 7, -32768, 32767, -1], "scalar_hash_int32_finite_mask7_flat_sorted0_input_x": [-1, -2147483648, 2147483647, 0, -1, 7, -1, -2147483648, 2147483647, 0, -1, 7, -1, -2147483648, 2147483647, 0, -1, 7, -1, -2147483648, 2147483647, 0, -1, 7, -1, -2147483648, 2147483647, 0, -1, 7, -1, -2147483648, 2147483647], "scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices": [0, 1, 2, 3, 0, 4, 0, 1, 2, 3, 0, 4, 0, 1, 2, 3, 0, 4, 0, 1, 2, 3, 0, 4, 0, 1, 2, 3, 0, 4, 0, 1, 2], "scalar_hash_int8_finite_mask7_flat_sorted0_input_x": [-128, 127, -1, 0, -128, 7, -128, 127, -1, 0, -128, 7, -128, 127, -1, 0, -128, 7, -128, 127, -1, 0, -128, 7, -128, 127, -1, 0, -128, 7, -128, 127, -1], "scalar_hash_prefix_chunks_sparse_heads_n1023_sorted0_input_x": [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1], "scalar_hash_prefix_chunks_sparse_heads_n1024_sorted0_input_x": [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1], "scalar_hash_prefix_chunks_sparse_heads_n1025_sorted0_input_x": [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1], "scalar_hash_scan_float32_n255_sorted0_input_x": [0, 37, 74, 111, 148, 185, 222, 5, 42, 79, 116, 153, 190, 227, 10, 47, 84, 121, 158, 195, 232, 15, 52, 89, 126, 163, 200, 237, 20, 57, 94, 131, 168, 205, 242, 25, 62, 99, 136, 173, 210, 247, 30, 67, 104, 141, 178, 215, 252, 35, 72, 109, 146, 183, 220, 3, 40, 77, 114, 151, 188, 225, 8, 45, 82, 119, 156, 193, 230, 13, 50, 87, 124, 161, 198, 235, 18, 55, 92, 129, 166, 203, 240, 23, 60, 97, 134, 171, 208, 245, 28, 65, 102, 139, 176, 213, 250, 33, 70, 107, 144, 181, 218, 1, 38, 75, 112, 149, 186, 223, 6, 43, 80, 117, 154, 191, 228, 11, 48, 85, 122, 159, 196, 233, 16, 53, 90, 127, 164, 201, 238, 21, 58, 95, 132, 169, 206, 243, 26, 63, 100, 137, 174, 211, 248, 31, 68, 105, 142, 179, 216, 253, 36, 73, 110, 147, 184, 221, 4, 41, 78, 115, 152, 189, 226, 9, 46, 83, 120, 157, 194, 231, 14, 51, 88, 125, 162, 199, 236, 19, 56, 93, 130, 167, 204, 241, 24, 61, 98, 135, 172, 209, 246, 29, 66, 103, 140, 177, 214, 251, 34, 71, 108, 145, 182, 219, 2, 39, 76, 113, 150, 187, 224, 7, 44, 81, 118, 155, 192, 229, 12, 49, 86, 123, 160, 197, 234, 17, 54, 91, 128, 165, 202, 239, 22, 59, 96, 133, 170, 207, 244, 27, 64, 101, 138, 175, 212, 249, 32, 69, 106, 143, 180, 217, 0], "scalar_hash_scan_float32_n256_sorted0_input_x": [0, 37, 74, 111, 148, 185, 222, 4, 41, 78, 115, 152, 189, 226, 8, 45, 82, 119, 156, 193, 230, 12, 49, 86, 123, 160, 197, 234, 16, 53, 90, 127, 164, 201, 238, 20, 57, 94, 131, 168, 205, 242, 24, 61, 98, 135, 172, 209, 246, 28, 65, 102, 139, 176, 213, 250, 32, 69, 106, 143, 180, 217, 254, 36, 73, 110, 147, 184, 221, 3, 40, 77, 114, 151, 188, 225, 7, 44, 81, 118, 155, 192, 229, 11, 48, 85, 122, 159, 196, 233, 15, 52, 89, 126, 163, 200, 237, 19, 56, 93, 130, 167, 204, 241, 23, 60, 97, 134, 171, 208, 245, 27, 64, 101, 138, 175, 212, 249, 31, 68, 105, 142, 179, 216, 253, 35, 72, 109, 146, 183, 220, 2, 39, 76, 113, 150, 187, 224, 6, 43, 80, 117, 154, 191, 228, 10, 47, 84, 121, 158, 195, 232, 14, 51, 88, 125, 162, 199, 236, 18, 55, 92, 129, 166, 203, 240, 22, 59, 96, 133, 170, 207, 244, 26, 63, 100, 137, 174, 211, 248, 30, 67, 104, 141, 178, 215, 252, 34, 71, 108, 145, 182, 219, 1, 38, 75, 112, 149, 186, 223, 5, 42, 79, 116, 153, 190, 227, 9, 46, 83, 120, 157, 194, 231, 13, 50, 87, 124, 161, 198, 235, 17, 54, 91, 128, 165, 202, 239, 21, 58, 95, 132, 169, 206, 243, 25, 62, 99, 136, 173, 210, 247, 29, 66, 103, 140, 177, 214, 251, 33, 70, 107, 144, 181, 218, 0], "scalar_hash_scan_float32_n257_sorted0_input_x": [0, 37, 74, 111, 148, 185, 222, 3, 40, 77, 114, 151, 188, 225, 6, 43, 80, 117, 154, 191, 228, 9, 46, 83, 120, 157, 194, 231, 12, 49, 86, 123, 160, 197, 234, 15, 52, 89, 126, 163, 200, 237, 18, 55, 92, 129, 166, 203, 240, 21, 58, 95, 132, 169, 206, 243, 24, 61, 98, 135, 172, 209, 246, 27, 64, 101, 138, 175, 212, 249, 30, 67, 104, 141, 178, 215, 252, 33, 70, 107, 144, 181, 218, 255, 36, 73, 110, 147, 184, 221, 2, 39, 76, 113, 150, 187, 224, 5, 42, 79, 116, 153, 190, 227, 8, 45, 82, 119, 156, 193, 230, 11, 48, 85, 122, 159, 196, 233, 14, 51, 88, 125, 162, 199, 236, 17, 54, 91, 128, 165, 202, 239, 20, 57, 94, 131, 168, 205, 242, 23, 60, 97, 134, 171, 208, 245, 26, 63, 100, 137, 174, 211, 248, 29, 66, 103, 140, 177, 214, 251, 32, 69, 106, 143, 180, 217, 254, 35, 72, 109, 146, 183, 220, 1, 38, 75, 112, 149, 186, 223, 4, 41, 78, 115, 152, 189, 226, 7, 44, 81, 118, 155, 192, 229, 10, 47, 84, 121, 158, 195, 232, 13, 50, 87, 124, 161, 198, 235, 16, 53, 90, 127, 164, 201, 238, 19, 56, 93, 130, 167, 204, 241, 22, 59, 96, 133, 170, 207, 244, 25, 62, 99, 136, 173, 210, 247, 28, 65, 102, 139, 176, 213, 250, 31, 68, 105, 142, 179, 216, 253, 34, 71, 108, 145, 182, 219, 0], "scalar_hash_scan_float32_n31_sorted0_input_x": [0, 7, 14, 21, 28, 5, 12, 19, 26, 3, 10, 17, 24, 1, 8, 15, 22, 29, 6, 13, 20, 27, 4, 11, 18, 25, 2, 9, 16, 23, 0], "scalar_hash_scan_float32_n32_sorted0_input_x": [0, 6, 12, 18, 24, 30, 5, 11, 17, 23, 29, 4, 10, 16, 22, 28, 3, 9, 15, 21, 27, 2, 8, 14, 20, 26, 1, 7, 13, 19, 25, 0], "scalar_hash_scan_float32_n33_sorted0_input_x": [0, 5, 10, 15, 20, 25, 30, 3, 8, 13, 18, 23, 28, 1, 6, 11, 16, 21, 26, 31, 4, 9, 14, 19, 24, 29, 2, 7, 12, 17, 22, 27, 0], "scalar_hash_uint32_finite_mask7_axis_sorted1_output_inverse_indices": [4, 0, 3, 1, 4, 2, 4, 0, 3, 1, 4, 2, 4, 0, 3, 1, 4, 2, 4, 0, 3, 1, 4, 2, 4, 0, 3, 1, 4, 2, 4, 0, 3], "scalar_hash_uint32_finite_mask7_flat_sorted0_input_x": [4294967295, 0, 2147483648, 7, 4294967295, 2147483647, 4294967295, 0, 2147483648, 7, 4294967295, 2147483647, 4294967295, 0, 2147483648, 7, 4294967295, 2147483647, 4294967295, 0, 2147483648, 7, 4294967295, 2147483647, 4294967295, 0, 2147483648, 7, 4294967295, 2147483647, 4294967295, 0, 2147483648], "scalar_hash_uint8_finite_mask7_flat_sorted0_input_x": [255, 0, 128, 7, 255, 127, 255, 0, 128, 7, 255, 127, 255, 0, 128, 7, 255, 127, 255, 0, 128, 7, 255, 127, 255, 0, 128, 7, 255, 127, 255, 0, 128], "serial_sorted_dense_duplicates_int32_input_x": [37, -5, 12, 99, -73, 0, 41, 8, -21, 64, 3, -90, 55, 17, -2, 76, 29, -48, 83, 6, -33, 92, 14, -67, 50, 22, -9, 70, 35, -58, 88, 1, -26, 95, 19, -81, 46, 27, -14, 61, 33, -44, 79, 10, -39, 53, 24, -86], "single_class_axis1_outer2_inner3_mask0_input_x": [7, 2, 5, 7, 2, 5, 7, 2, 5, 7, 2, 5, 7, 2, 5, 11, 3, 2, 11, 3, 2, 11, 3, 2, 11, 3, 2, 11, 3, 2], "flat_global_crossover_int32_n4097_u2049_sorted0_input_x": [2048, 2047, 2046, 2045, 2044, 2043, 2042, 2041, 2040, 2039, 2038, 2037, 2036, 2035, 2034, 2033, 2032, 2031, 2030, 2029, 2028, 2027, 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979, 1978, 1977, 1976, 1975, 1974, 1973, 1972, 1971, 1970, 1969, 1968, 1967, 1966, 1965, 1964, 1963, 1962, 1961, 1960, 1959, 1958, 1957, 1956, 1955, 1954, 1953, 1952, 1951, 1950, 1949, 1948, 1947, 1946, 1945, 1944, 1943, 1942, 1941, 1940, 1939, 1938, 1937, 1936, 1935, 1934, 1933, 1932, 1931, 1930, 1929, 1928, 1927, 1926, 1925, 1924, 1923, 1922, 1921, 1920, 1919, 1918, 1917, 1916, 1915, 1914, 1913, 1912, 1911, 1910, 1909, 1908, 1907, 1906, 1905, 1904, 1903, 1902, 1901, 1900, 1899, 1898, 1897, 1896, 1895, 1894, 1893, 1892, 1891, 1890, 1889, 1888, 1887, 1886, 1885, 1884, 1883, 1882, 1881, 1880, 1879, 1878, 1877, 1876, 1875, 1874, 1873, 1872, 1871, 1870, 1869, 1868, 1867, 1866, 1865, 1864, 1863, 1862, 1861, 1860, 1859, 1858, 1857, 1856, 1855, 1854, 1853, 1852, 1851, 1850, 1849, 1848, 1847, 1846, 1845, 1844, 1843, 1842, 1841, 1840, 1839, 1838, 1837, 1836, 1835, 1834, 1833, 1832, 1831, 1830, 1829, 1828, 1827, 1826, 1825, 1824, 1823, 1822, 1821, 1820, 1819, 1818, 1817, 1816, 1815, 1814, 1813, 1812, 1811, 1810, 1809, 1808, 1807, 1806, 1805, 1804, 1803, 1802, 1801, 1800, 1799, 1798, 1797, 1796, 1795, 1794, 1793, 1792, 1791, 1790, 1789, 1788, 1787, 1786, 1785, 1784, 1783, 1782, 1781, 1780, 1779, 1778, 1777, 1776, 1775, 1774, 1773, 1772, 1771, 1770, 1769, 1768, 1767, 1766, 1765, 1764, 1763, 1762, 1761, 1760, 1759, 1758, 1757, 1756, 1755, 1754, 1753, 1752, 1751, 1750, 1749, 1748, 1747, 1746, 1745, 1744, 1743, 1742, 1741, 1740, 1739, 1738, 1737, 1736, 1735, 1734, 1733, 1732, 1731, 1730, 1729, 1728, 1727, 1726, 1725, 1724, 1723, 1722, 1721, 1720, 1719, 1718, 1717, 1716, 1715, 1714, 1713, 1712, 1711, 1710, 1709, 1708, 1707, 1706, 1705, 1704, 1703, 1702, 1701, 1700, 1699, 1698, 1697, 1696, 1695, 1694, 1693, 1692, 1691, 1690, 1689, 1688, 1687, 1686, 1685, 1684, 1683, 1682, 1681, 1680, 1679, 1678, 1677, 1676, 1675, 1674, 1673, 1672, 1671, 1670, 1669, 1668, 1667, 1666, 1665, 1664, 1663, 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653, 1652, 1651, 1650, 1649, 1648, 1647, 1646, 1645, 1644, 1643, 1642, 1641, 1640, 1639, 1638, 1637, 1636, 1635, 1634, 1633, 1632, 1631, 1630, 1629, 1628, 1627, 1626, 1625, 1624, 1623, 1622, 1621, 1620, 1619, 1618, 1617, 1616, 1615, 1614, 1613, 1612, 1611, 1610, 1609, 1608, 1607, 1606, 1605, 1604, 1603, 1602, 1601, 1600, 1599, 1598, 1597, 1596, 1595, 1594, 1593, 1592, 1591, 1590, 1589, 1588, 1587, 1586, 1585, 1584, 1583, 1582, 1581, 1580, 1579, 1578, 1577, 1576, 1575, 1574, 1573, 1572, 1571, 1570, 1569, 1568, 1567, 1566, 1565, 1564, 1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555, 1554, 1553, 1552, 1551, 1550, 1549, 1548, 1547, 1546, 1545, 1544, 1543, 1542, 1541, 1540, 1539, 1538, 1537, 1536, 1535, 1534, 1533, 1532, 1531, 1530, 1529, 1528, 1527, 1526, 1525, 1524, 1523, 1522, 1521, 1520, 1519, 1518, 1517, 1516, 1515, 1514, 1513, 1512, 1511, 1510, 1509, 1508, 1507, 1506, 1505, 1504, 1503, 1502, 1501, 1500, 1499, 1498, 1497, 1496, 1495, 1494, 1493, 1492, 1491, 1490, 1489, 1488, 1487, 1486, 1485, 1484, 1483, 1482, 1481, 1480, 1479, 1478, 1477, 1476, 1475, 1474, 1473, 1472, 1471, 1470, 1469, 1468, 1467, 1466, 1465, 1464, 1463, 1462, 1461, 1460, 1459, 1458, 1457, 1456, 1455, 1454, 1453, 1452, 1451, 1450, 1449, 1448, 1447, 1446, 1445, 1444, 1443, 1442, 1441, 1440, 1439, 1438, 1437, 1436, 1435, 1434, 1433, 1432, 1431, 1430, 1429, 1428, 1427, 1426, 1425, 1424, 1423, 1422, 1421, 1420, 1419, 1418, 1417, 1416, 1415, 1414, 1413, 1412, 1411, 1410, 1409, 1408, 1407, 1406, 1405, 1404, 1403, 1402, 1401, 1400, 1399, 1398, 1397, 1396, 1395, 1394, 1393, 1392, 1391, 1390, 1389, 1388, 1387, 1386, 1385, 1384, 1383, 1382, 1381, 1380, 1379, 1378, 1377, 1376, 1375, 1374, 1373, 1372, 1371, 1370, 1369, 1368, 1367, 1366, 1365, 1364, 1363, 1362, 1361, 1360, 1359, 1358, 1357, 1356, 1355, 1354, 1353, 1352, 1351, 1350, 1349, 1348, 1347, 1346, 1345, 1344, 1343, 1342, 1341, 1340, 1339, 1338, 1337, 1336, 1335, 1334, 1333, 1332, 1331, 1330, 1329, 1328, 1327, 1326, 1325, 1324, 1323, 1322, 1321, 1320, 1319, 1318, 1317, 1316, 1315, 1314, 1313, 1312, 1311, 1310, 1309, 1308, 1307, 1306, 1305, 1304, 1303, 1302, 1301, 1300, 1299, 1298, 1297, 1296, 1295, 1294, 1293, 1292, 1291, 1290, 1289, 1288, 1287, 1286, 1285, 1284, 1283, 1282, 1281, 1280, 1279, 1278, 1277, 1276, 1275, 1274, 1273, 1272, 1271, 1270, 1269, 1268, 1267, 1266, 1265, 1264, 1263, 1262, 1261, 1260, 1259, 1258, 1257, 1256, 1255, 1254, 1253, 1252, 1251, 1250, 1249, 1248, 1247, 1246, 1245, 1244, 1243, 1242, 1241, 1240, 1239, 1238, 1237, 1236, 1235, 1234, 1233, 1232, 1231, 1230, 1229, 1228, 1227, 1226, 1225, 1224, 1223, 1222, 1221, 1220, 1219, 1218, 1217, 1216, 1215, 1214, 1213, 1212, 1211, 1210, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 1202, 1201, 1200, 1199, 1198, 1197, 1196, 1195, 1194, 1193, 1192, 1191, 1190, 1189, 1188, 1187, 1186, 1185, 1184, 1183, 1182, 1181, 1180, 1179, 1178, 1177, 1176, 1175, 1174, 1173, 1172, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1162, 1161, 1160, 1159, 1158, 1157, 1156, 1155, 1154, 1153, 1152, 1151, 1150, 1149, 1148, 1147, 1146, 1145, 1144, 1143, 1142, 1141, 1140, 1139, 1138, 1137, 1136, 1135, 1134, 1133, 1132, 1131, 1130, 1129, 1128, 1127, 1126, 1125, 1124, 1123, 1122, 1121, 1120, 1119, 1118, 1117, 1116, 1115, 1114, 1113, 1112, 1111, 1110, 1109, 1108, 1107, 1106, 1105, 1104, 1103, 1102, 1101, 1100, 1099, 1098, 1097, 1096, 1095, 1094, 1093, 1092, 1091, 1090, 1089, 1088, 1087, 1086, 1085, 1084, 1083, 1082, 1081, 1080, 1079, 1078, 1077, 1076, 1075, 1074, 1073, 1072, 1071, 1070, 1069, 1068, 1067, 1066, 1065, 1064, 1063, 1062, 1061, 1060, 1059, 1058, 1057, 1056, 1055, 1054, 1053, 1052, 1051, 1050, 1049, 1048, 1047, 1046, 1045, 1044, 1043, 1042, 1041, 1040, 1039, 1038, 1037, 1036, 1035, 1034, 1033, 1032, 1031, 1030, 1029, 1028, 1027, 1026, 1025, 1024, 1023, 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], "output_span_int32_n257_sorted0_input_x": [257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], "output_span_int32_n1025_sorted0_input_x": [1025, 1024, 1023, 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], "output_span_int32_n2048_sorted0_input_x": [2048, 2047, 2046, 2045, 2044, 2043, 2042, 2041, 2040, 2039, 2038, 2037, 2036, 2035, 2034, 2033, 2032, 2031, 2030, 2029, 2028, 2027, 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979, 1978, 1977, 1976, 1975, 1974, 1973, 1972, 1971, 1970, 1969, 1968, 1967, 1966, 1965, 1964, 1963, 1962, 1961, 1960, 1959, 1958, 1957, 1956, 1955, 1954, 1953, 1952, 1951, 1950, 1949, 1948, 1947, 1946, 1945, 1944, 1943, 1942, 1941, 1940, 1939, 1938, 1937, 1936, 1935, 1934, 1933, 1932, 1931, 1930, 1929, 1928, 1927, 1926, 1925, 1924, 1923, 1922, 1921, 1920, 1919, 1918, 1917, 1916, 1915, 1914, 1913, 1912, 1911, 1910, 1909, 1908, 1907, 1906, 1905, 1904, 1903, 1902, 1901, 1900, 1899, 1898, 1897, 1896, 1895, 1894, 1893, 1892, 1891, 1890, 1889, 1888, 1887, 1886, 1885, 1884, 1883, 1882, 1881, 1880, 1879, 1878, 1877, 1876, 1875, 1874, 1873, 1872, 1871, 1870, 1869, 1868, 1867, 1866, 1865, 1864, 1863, 1862, 1861, 1860, 1859, 1858, 1857, 1856, 1855, 1854, 1853, 1852, 1851, 1850, 1849, 1848, 1847, 1846, 1845, 1844, 1843, 1842, 1841, 1840, 1839, 1838, 1837, 1836, 1835, 1834, 1833, 1832, 1831, 1830, 1829, 1828, 1827, 1826, 1825, 1824, 1823, 1822, 1821, 1820, 1819, 1818, 1817, 1816, 1815, 1814, 1813, 1812, 1811, 1810, 1809, 1808, 1807, 1806, 1805, 1804, 1803, 1802, 1801, 1800, 1799, 1798, 1797, 1796, 1795, 1794, 1793, 1792, 1791, 1790, 1789, 1788, 1787, 1786, 1785, 1784, 1783, 1782, 1781, 1780, 1779, 1778, 1777, 1776, 1775, 1774, 1773, 1772, 1771, 1770, 1769, 1768, 1767, 1766, 1765, 1764, 1763, 1762, 1761, 1760, 1759, 1758, 1757, 1756, 1755, 1754, 1753, 1752, 1751, 1750, 1749, 1748, 1747, 1746, 1745, 1744, 1743, 1742, 1741, 1740, 1739, 1738, 1737, 1736, 1735, 1734, 1733, 1732, 1731, 1730, 1729, 1728, 1727, 1726, 1725, 1724, 1723, 1722, 1721, 1720, 1719, 1718, 1717, 1716, 1715, 1714, 1713, 1712, 1711, 1710, 1709, 1708, 1707, 1706, 1705, 1704, 1703, 1702, 1701, 1700, 1699, 1698, 1697, 1696, 1695, 1694, 1693, 1692, 1691, 1690, 1689, 1688, 1687, 1686, 1685, 1684, 1683, 1682, 1681, 1680, 1679, 1678, 1677, 1676, 1675, 1674, 1673, 1672, 1671, 1670, 1669, 1668, 1667, 1666, 1665, 1664, 1663, 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653, 1652, 1651, 1650, 1649, 1648, 1647, 1646, 1645, 1644, 1643, 1642, 1641, 1640, 1639, 1638, 1637, 1636, 1635, 1634, 1633, 1632, 1631, 1630, 1629, 1628, 1627, 1626, 1625, 1624, 1623, 1622, 1621, 1620, 1619, 1618, 1617, 1616, 1615, 1614, 1613, 1612, 1611, 1610, 1609, 1608, 1607, 1606, 1605, 1604, 1603, 1602, 1601, 1600, 1599, 1598, 1597, 1596, 1595, 1594, 1593, 1592, 1591, 1590, 1589, 1588, 1587, 1586, 1585, 1584, 1583, 1582, 1581, 1580, 1579, 1578, 1577, 1576, 1575, 1574, 1573, 1572, 1571, 1570, 1569, 1568, 1567, 1566, 1565, 1564, 1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555, 1554, 1553, 1552, 1551, 1550, 1549, 1548, 1547, 1546, 1545, 1544, 1543, 1542, 1541, 1540, 1539, 1538, 1537, 1536, 1535, 1534, 1533, 1532, 1531, 1530, 1529, 1528, 1527, 1526, 1525, 1524, 1523, 1522, 1521, 1520, 1519, 1518, 1517, 1516, 1515, 1514, 1513, 1512, 1511, 1510, 1509, 1508, 1507, 1506, 1505, 1504, 1503, 1502, 1501, 1500, 1499, 1498, 1497, 1496, 1495, 1494, 1493, 1492, 1491, 1490, 1489, 1488, 1487, 1486, 1485, 1484, 1483, 1482, 1481, 1480, 1479, 1478, 1477, 1476, 1475, 1474, 1473, 1472, 1471, 1470, 1469, 1468, 1467, 1466, 1465, 1464, 1463, 1462, 1461, 1460, 1459, 1458, 1457, 1456, 1455, 1454, 1453, 1452, 1451, 1450, 1449, 1448, 1447, 1446, 1445, 1444, 1443, 1442, 1441, 1440, 1439, 1438, 1437, 1436, 1435, 1434, 1433, 1432, 1431, 1430, 1429, 1428, 1427, 1426, 1425, 1424, 1423, 1422, 1421, 1420, 1419, 1418, 1417, 1416, 1415, 1414, 1413, 1412, 1411, 1410, 1409, 1408, 1407, 1406, 1405, 1404, 1403, 1402, 1401, 1400, 1399, 1398, 1397, 1396, 1395, 1394, 1393, 1392, 1391, 1390, 1389, 1388, 1387, 1386, 1385, 1384, 1383, 1382, 1381, 1380, 1379, 1378, 1377, 1376, 1375, 1374, 1373, 1372, 1371, 1370, 1369, 1368, 1367, 1366, 1365, 1364, 1363, 1362, 1361, 1360, 1359, 1358, 1357, 1356, 1355, 1354, 1353, 1352, 1351, 1350, 1349, 1348, 1347, 1346, 1345, 1344, 1343, 1342, 1341, 1340, 1339, 1338, 1337, 1336, 1335, 1334, 1333, 1332, 1331, 1330, 1329, 1328, 1327, 1326, 1325, 1324, 1323, 1322, 1321, 1320, 1319, 1318, 1317, 1316, 1315, 1314, 1313, 1312, 1311, 1310, 1309, 1308, 1307, 1306, 1305, 1304, 1303, 1302, 1301, 1300, 1299, 1298, 1297, 1296, 1295, 1294, 1293, 1292, 1291, 1290, 1289, 1288, 1287, 1286, 1285, 1284, 1283, 1282, 1281, 1280, 1279, 1278, 1277, 1276, 1275, 1274, 1273, 1272, 1271, 1270, 1269, 1268, 1267, 1266, 1265, 1264, 1263, 1262, 1261, 1260, 1259, 1258, 1257, 1256, 1255, 1254, 1253, 1252, 1251, 1250, 1249, 1248, 1247, 1246, 1245, 1244, 1243, 1242, 1241, 1240, 1239, 1238, 1237, 1236, 1235, 1234, 1233, 1232, 1231, 1230, 1229, 1228, 1227, 1226, 1225, 1224, 1223, 1222, 1221, 1220, 1219, 1218, 1217, 1216, 1215, 1214, 1213, 1212, 1211, 1210, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 1202, 1201, 1200, 1199, 1198, 1197, 1196, 1195, 1194, 1193, 1192, 1191, 1190, 1189, 1188, 1187, 1186, 1185, 1184, 1183, 1182, 1181, 1180, 1179, 1178, 1177, 1176, 1175, 1174, 1173, 1172, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1162, 1161, 1160, 1159, 1158, 1157, 1156, 1155, 1154, 1153, 1152, 1151, 1150, 1149, 1148, 1147, 1146, 1145, 1144, 1143, 1142, 1141, 1140, 1139, 1138, 1137, 1136, 1135, 1134, 1133, 1132, 1131, 1130, 1129, 1128, 1127, 1126, 1125, 1124, 1123, 1122, 1121, 1120, 1119, 1118, 1117, 1116, 1115, 1114, 1113, 1112, 1111, 1110, 1109, 1108, 1107, 1106, 1105, 1104, 1103, 1102, 1101, 1100, 1099, 1098, 1097, 1096, 1095, 1094, 1093, 1092, 1091, 1090, 1089, 1088, 1087, 1086, 1085, 1084, 1083, 1082, 1081, 1080, 1079, 1078, 1077, 1076, 1075, 1074, 1073, 1072, 1071, 1070, 1069, 1068, 1067, 1066, 1065, 1064, 1063, 1062, 1061, 1060, 1059, 1058, 1057, 1056, 1055, 1054, 1053, 1052, 1051, 1050, 1049, 1048, 1047, 1046, 1045, 1044, 1043, 1042, 1041, 1040, 1039, 1038, 1037, 1036, 1035, 1034, 1033, 1032, 1031, 1030, 1029, 1028, 1027, 1026, 1025, 1024, 1023, 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], "axis_merge_float32_outer1_u17_tile16_nan_fallback_input_x": [0, 0, 17, -0, -0, 16, 0, 0, 15, -0, -0, 14, 0, 0, 13, -0, -0, 12, 0, 0, 11, -0, -0, 10, 0, 0, 9, -0, -0, 8, 0, 0, 7, -0, -0, 6, 0, 0, 5, -0, -0, 4, 0, 0, 3, -0, -0, 2, 0, 0, 1, -0, -0, 17, 0, 0, 16, -0, -0, 15, 0, 0, 14, -0, -0, 13, 0, 0, 12, -0, -0, 11, 0, 0, 10, -0, -0, 9, 0, 0, 8, -0, -0, 7, 0, 0, 6, -0, -0, 5, 0, 0, 4, -0, -0, 3, 0, 0, 2, -0, -0, 1, 0, 0, 17, -0, -0, 16, 0, 0, 15, -0, -0, 14, 0, 0, 13, -0, -0, 12, 0, 0, 11, -0, -0, 10, 0, 0, 9, -0, -0, 8, 0, 0, 7, -0, -0, 6, 0, 0, 5, -0, -0, 4, 0, 0, 3, -0, -0, 2, 0, 0, 1, -0, -0, 17, 0, 0, 16, -0, -0, 15, 0, 0, 14, -0, -0, 13, 0, 0, 12, -0, -0, 11, 0, 0, 10, -0, -0, 9, 0, 0, 8, -0, -0, 7, 0, 0, 6, -0, -0, 5, 0, 0, 4, -0, -0, 3, "NaN", 0, 1] }, "cases": [ { "name": "sorted_int32", "inputs": { "x": { "dtype": "int32", "shape": [8], "data": { "kind": "values", "values": [3, 1, 3, 2, 1, -1, 2, 4] } } }, "outputs": { "y": { "dtype": "int32", "shape": [5] } } }, { "name": "first_seen_uint8_overflow", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "uint8", "shape": [7], "data": { "kind": "values", "values": [5, 6, 5, 7, 8, 9, 10] } } }, "outputs": { "y": { "dtype": "uint8", "shape": [6] } } }, { "name": "sorted_f32", "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [2.5, -1.0, 2.5, 0.0, -1.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] } } }, { "name": "f32_subnormal_distinct_from_zero", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted", "notes": "Subnormal finite values are distinct from zero and preserve first-seen order when sorted=0." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [5], "data": { "kind": "values", "values": [0.0, 1e-40, 0.0, -1e-40, 1e-40] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1e-40, -1e-40] } } } }, { "name": "f32_sorted_subnormal_distinct_from_zero", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Sorted", "notes": "Sorted Unique must keep negative subnormal, zero, and positive subnormal as distinct ordered buckets." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [5], "data": { "kind": "values", "values": [0.0, 1e-40, -1e-40, 0.0, 1e-40] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [-1e-40, 0.0, 1e-40] } } } }, { "name": "ort_unsorted_nan_equivalence", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted", "notes": "Additional case checked against ONNX Runtime's CPU provider: ordered-map lower_bound makes NaN comparator-equivalent to its candidate bucket at insertion, so later finite values still deduplicate normally." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [5], "data": { "kind": "values", "values": [2.0, "NaN", 2.0, "NaN", 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [2.0, 3.0] } } } }, { "name": "ort_backend_unsorted_first_seen_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted_MatchOnnxTest" }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } } }, { "name": "ort_flatten_unsorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted" }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [1.0, 4.0, 1.0, 2.0, 2.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } } }, { "name": "ort_flatten_sorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Sorted" }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [1.0, 4.0, 1.0, 2.0, 2.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } } }, { "name": "ort_empty_input_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.EmptyInput" }, "inputs": { "x": { "dtype": "float32", "shape": [0], "data": { "kind": "values", "values": [] } } }, "outputs": { "y": { "dtype": "float32", "shape": [0], "tolerance": 0 } } }, { "name": "length1_f32_backend", "inputs": { "x": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1], "tolerance": 0 } } }, { "name": "all_duplicates_exact_output", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [5], "data": { "kind": "values", "values": [-7.0, -7.0, -7.0, -7.0, -7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1], "tolerance": 0 } } }, { "name": "int8_signed_sorted_order", "inputs": { "x": { "dtype": "int8", "shape": [8], "data": { "kind": "values", "values": [3, -1, -128, 3, 127, -1, 0, -128] } } }, "outputs": { "y": { "dtype": "int8", "shape": [5], "tolerance": 0 } } }, { "name": "ort_no_optional_output_int8_sorted", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.NoOptionalOutput", "notes": "The fixture requests only Y, the standard required output, with its exact data-dependent shape." }, "inputs": { "x": { "dtype": "int8", "shape": [8], "data": { "kind": "values", "values": [1, 4, -1, 2, 2, 0, -1, 4] } } }, "outputs": { "y": { "dtype": "int8", "shape": [5], "tolerance": 0 } } }, { "name": "ort_axis0_unsorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis0_Unsorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [4, 2], "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 1.0, 1.0, 0.0] } } } }, { "name": "ort_axis0_sorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis0_Sorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [4, 2], "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 0.0, 1.0, 1.0] } } } }, { "name": "ort_axis1_unsorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis1_Unsorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 4, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_axis1_unsorted_f32_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 1.0, 0.0, 1.0, 2.0, 1.0, 1.0, 1.0, 0.0, 1.0, 2.0, 1.0] } } } }, { "name": "ort_axis1_sorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis1_Sorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 4, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_axis1_unsorted_f32_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3, 2], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 1.0, 2.0, 1.0, 0.0, 1.0, 1.0, 1.0, 2.0, 1.0] } } } }, { "name": "ort_axis2_unsorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis2_Unsorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 2, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_axis1_unsorted_f32_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 1.0, 0.0, 2.0, 1.0, 0.0, 1.0, 1.0, 0.0, 2.0, 1.0, 0.0] } } } }, { "name": "ort_axis2_sorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis2_Sorted", "notes": "The fixture supplies the exact data-dependent Y shape and requests no optional metadata outputs." }, "attrs": { "axis": 2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_axis1_unsorted_f32_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 2.0] } } } }, { "name": "ort_negative_axis_last_sorted_f32", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Axis2_Sorted", "notes": "Same semantic case as ORT's positive axis=2 coverage, expressed with the ONNX-valid negative last-axis spelling and an exact data-dependent Y shape." }, "attrs": { "axis": -1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_axis1_unsorted_f32_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 2.0] } } } }, { "name": "onnx_backend_unique_length_1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_unique_length_1", "notes": "The fixture supplies the exact data-dependent Y shape. Optional ONNX int64 metadata outputs are omitted here; requested metadata is represented as uint32 where values are representable." } }, { "name": "onnx_backend_unique_not_sorted_without_axis", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_unique_not_sorted_without_axis", "notes": "The fixture supplies the exact data-dependent Y shape. Optional ONNX int64 metadata outputs are omitted here; requested metadata is represented as uint32 where values are representable." } }, { "name": "onnx_backend_unique_sorted_without_axis", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [6], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_unique_sorted_without_axis", "notes": "The fixture supplies the exact data-dependent Y shape. Optional ONNX int64 metadata outputs are omitted here; requested metadata is represented as uint32 where values are representable." } }, { "name": "serial_sorted_dense_duplicates_int32", "provenance": { "notes": "2048 elements cycling 48 distinct values exercise the deduplication early exit and sorted exchange sort with an exact 48-element result." }, "inputs": { "x": { "dtype": "int32", "shape": [2048], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/serial_sorted_dense_duplicates_int32_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [48], "tolerance": 0 } } }, { "name": "serial_first_seen_order_f32_1024", "attrs": { "sorted": 0 }, "provenance": { "notes": "First-seen order is preserved over 1024 elements with 32 distinct values and an exact 32-element result." }, "inputs": { "x": { "dtype": "float32", "shape": [1024], "data": { "kind": "cycle", "values": [0.5, -1.25, 3.0, 7.75, -0.5, 2.25, 9.0, -4.5, 1.5, 6.25, -8.0, 0.25, 5.5, -2.75, 4.0, 8.5, -6.25, 1.75, 7.25, -3.5, 2.5, 9.75, -0.75, 5.25, -7.5, 3.25, 6.75, -1.5, 4.75, 8.25, -5.75, 0.75] } } }, "outputs": { "y": { "dtype": "float32", "shape": [32], "tolerance": 0 } } }, { "name": "serial_f32_subnormal_distinct_from_zero", "attrs": { "sorted": 0 }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted", "notes": "A 4,096-element cycle of zero and signed subnormal values verifies that the serial float comparator keeps finite subnormals distinct from zero and emits three first-seen buckets." }, "inputs": { "x": { "dtype": "float32", "shape": [4096], "data": { "kind": "cycle", "values": [0.0, 1e-40, 0.0, -1e-40] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1e-40, -1e-40] } } } }, { "name": "serial_sorted_f32_32k_subnormal", "attrs": { "sorted": 1 }, "provenance": { "notes": "32768 f32 elements cycling six distinct values, including positive and negative subnormals, exercise the exact ordered-map float path at scale. Subnormals remain bit-distinct from zero and from each other, and sorted output uses the IEEE total-order key." }, "inputs": { "x": { "dtype": "float32", "shape": [32768], "data": { "kind": "cycle", "values": [0.0, 1e-40, -1e-40, 2.5, -3.5, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [6], "tolerance": 0 } } }, { "name": "serial_unsorted_first_seen_f32_32k_subnormal", "attrs": { "sorted": 0 }, "provenance": { "notes": "A 32,768-element subnormal cycle verifies that the serial float path orders output buckets by representative input index when sorted is disabled." }, "inputs": { "x": { "dtype": "float32", "shape": [32768], "data": { "kind": "cycle", "values": [0.0, 1e-40, -1e-40, 2.5, -3.5, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [6], "tolerance": 0 } } }, { "name": "serial_f32_32k_nan_lower_bound", "attrs": { "sorted": 0 }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/unique_op_test.cc", "test": "Unique.Flatten_Unsorted", "notes": "NaN equivalence on the exact ordered-map float path at large input size: each NaN resolves to the lower-bound bucket headed by 2 and forms no new bucket." }, "inputs": { "x": { "dtype": "float32", "shape": [32768], "data": { "kind": "cycle", "values": [2.0, "NaN", 3.0, "NaN", 5.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [2.0, 3.0, 5.0] } } } }, { "name": "hash_sorted_int32_32k", "attrs": { "sorted": 1 }, "provenance": { "notes": "A 32,768-element int32 input cycling 48 distinct values exercises sorted parallel hash deduplication with an exact integer result." }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/serial_sorted_dense_duplicates_int32_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [48], "tolerance": 0 } } }, { "name": "hash_unsorted_first_seen_int32_32k", "attrs": { "sorted": 0 }, "provenance": { "notes": "32768 int32 elements cycling 48 distinct values, first-seen order: the hash dedup folds in atomicMin(index), so the compacted order matches the appearance order of the parallel/serial paths exactly." }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/serial_sorted_dense_duplicates_int32_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [48], "tolerance": 0 } } }, { "name": "hash_sentinel_value_minus_one_int32_64k", "attrs": { "sorted": 1 }, "provenance": { "notes": "65536 int32 elements whose distinct set includes -1 (bitcast == 0xffffffff, the hash table's EMPTY sentinel). Exercises the dedicated `special` min-index slot the hash dedup uses for the one value that cannot be a hash key." }, "inputs": { "x": { "dtype": "int32", "shape": [65536], "data": { "kind": "cycle", "values": [-1, 7, -1, 3, 100, -50, -1, 42, 7, 3, -2147483648, 2147483647, 0, -1, 13, 100] } } }, "outputs": { "y": { "dtype": "int32", "shape": [10], "tolerance": 0 } } }, { "name": "hash_uint8_sorted_32k", "attrs": { "sorted": 1 }, "provenance": { "notes": "32768 uint8 elements cycling 12 distinct values: exercises the hash dedup's unsigned-key path (dtypes.T == u32 carried width) at the >= 32768 floor." }, "inputs": { "x": { "dtype": "uint8", "shape": [32768], "data": { "kind": "cycle", "values": [5, 200, 17, 5, 255, 0, 128, 17, 64, 200, 3, 250, 0, 5] } } }, "outputs": { "y": { "dtype": "uint8", "shape": [9], "tolerance": 0 } } }, { "name": "hash_uint32_few_distinct_64k", "attrs": { "sorted": 1 }, "provenance": { "notes": "65536 uint32 elements with only 6 distinct values (heavy duplicates) including 0xffffffff (the EMPTY sentinel): few-distinct stress for the hash dedup atomicMin contention plus the unsigned special-slot path." }, "inputs": { "x": { "dtype": "uint32", "shape": [65536], "data": { "kind": "cycle", "values": [4294967295, 0, 7, 4294967295, 1000000, 42, 7, 0] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [5], "tolerance": 0 } } }, { "name": "axis0_f32_subnormal_collapse_unsorted", "attrs": { "axis": 0, "sorted": 0 }, "provenance": { "notes": "Spec-valid axis-mode deduplication over a [N,2] tensor. Raw-bit float comparisons keep finite subnormals distinct from zero even on FTZ GPUs; the pinned output is cross-checked with ORT." }, "inputs": { "x": { "dtype": "float32", "shape": [5, 2], "data": { "kind": "values", "values": [0.0, 5.0, 1e-40, 5.0, -1e-40, 5.0, 0.0, 5.0, 2.0, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4, 2], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 5.0, 1e-40, 5.0, -1e-40, 5.0, 2.0, 7.0] } } } }, { "name": "axis0_f32_subnormal_collapse_sorted", "attrs": { "axis": 0, "sorted": 1 }, "provenance": { "notes": "Raw-bit equality and total-order keys preserve -1e-40 < 0 < 1e-40 when arithmetic operations flush subnormals to zero." }, "inputs": { "x": { "dtype": "float32", "shape": [5, 2], "data": { "kind": "values", "values": [0.0, 5.0, 1e-40, 5.0, -1e-40, 5.0, 0.0, 5.0, 2.0, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4, 2], "tolerance": 0, "data": { "kind": "values", "values": [-1e-40, 5.0, 0.0, 5.0, 1e-40, 5.0, 2.0, 7.0] } } } }, { "name": "hash_int8_signed_negatives_32k", "attrs": { "sorted": 1 }, "provenance": { "notes": "Hash deduplication over 32,768 int8 elements must sort 12 distinct values, including -128, 127, and other negatives. Expected values follow the operator's sorting rule." }, "inputs": { "x": { "dtype": "int8", "shape": [32768], "data": { "kind": "cycle", "values": [5, -1, -128, 3, 127, -1, 0, -128, 42, -64, 100, -100, 7, 17] } } }, "outputs": { "y": { "dtype": "int8", "shape": [12], "tolerance": 0 } } }, { "name": "parallel_uint32_sentinel_first_seen_4k", "attrs": { "sorted": 0 }, "provenance": { "notes": "Parallel deduplication over 4,096 uint32 elements must preserve first-seen order, including 0xffffffff. Expected values follow the operator's ordering rule." }, "inputs": { "x": { "dtype": "uint32", "shape": [4096], "data": { "kind": "cycle", "values": [4294967295, 0, 7, 1000000, 4294967295, 42, 0, 13, 7, 999] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "flat_f32_all_distinct_4096", "provenance": { "notes": "4096 fully distinct values exercise the exact large-output serial float path and its ordered representative set." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [4096], "data": { "kind": "linspace", "start": -4096.0, "end": 4095.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [4096], "tolerance": 0 } } }, { "name": "axis0_f32_all_distinct_2500", "provenance": { "notes": "2500 fully distinct scalar rows exercise exact axis-mode output and bit-preserving slice comparison at a large axis size." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2500, 1], "data": { "kind": "linspace", "start": -5000.0, "end": 4999.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [2500, 1], "tolerance": 0 } } }, { "name": "serial_f32_32k_signed_zero_single_bucket", "provenance": { "notes": "32768 f32 elements containing both +0.0 and -0.0 plus finite values verify that exact serial equality canonicalizes signed zero into one bucket." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [32768], "data": { "kind": "cycle", "values": [0.0, 0.0, 2.5, -3.5, 7.0, 0.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } } }, { "name": "large_y_int32_sorted_2501_distinct", "provenance": { "notes": "6000 int32 values deduplicate to an exact 2501-element sorted result, exercising the large-output global-scratch sort and signed integer order across zero." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [6000], "data": { "kind": "linspace", "start": -1200, "end": 1300 } } }, "outputs": { "y": { "dtype": "int32", "shape": [2501] } } }, { "name": "large_y_int32_unsorted_8192_distinct", "provenance": { "notes": "8192 distinct int32 values exercise the large-output unsorted compaction path without allocating or touching bitonic-sort scratch." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [8192], "data": { "kind": "linspace", "start": -4096, "end": 4095 } } }, "outputs": { "y": { "dtype": "int32", "shape": [8192] } } }, { "name": "f32_sorted_padding_heavy", "provenance": { "notes": "A padding-heavy sorted float case with about 40 distinct values verifies max-key padding and raw-bit float ordering, including negatives and signed zero." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [400], "data": { "kind": "cycle", "values": [3.5, -1.0, 0.0, 2.5, -7.25, 100.0, -100.0, 0.5, -0.5, 42.0, -42.0, 1.0, -1.5, 88.75, -88.75, 6.0, -6.0, 13.5, -13.5, 21.0, -21.0, 7.0, -7.0, 55.5, -55.5, 9.0, -9.0, 64.25, -64.25, 4.0, -4.0, 17.0, -17.0, 30.0, -30.0, 2.0, -2.0, 11.0, -11.0, 99.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [40] } } }, { "name": "uint32_sorted_unsigned_order", "provenance": { "notes": "The exact 30-element result spans values above 2^31 through 0xffffffff and verifies unsigned ordering rather than a signed interpretation of raw bits." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "uint32", "shape": [300], "data": { "kind": "cycle", "values": [10, 4000000000, 5, 2147483648, 0, 3000000000, 100, 2147483647, 42, 4294967295, 7, 1, 2500000000, 99, 2147483649, 3, 500, 4000000001, 8, 2, 123456, 4294967294, 55, 2147483650, 9, 777, 3500000000, 6, 4, 1000000] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [30] } } }, { "name": "int32_unsorted_first_occurrence", "provenance": { "notes": "The exact 30-element unsorted result preserves first-occurrence order while round-tripping signed int32 values through raw-bit scratch." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [300], "data": { "kind": "cycle", "values": [37, -5, 12, 99, -73, 0, 41, 8, -21, 64, 3, -90, 55, 17, -2, 76, 29, -48, 83, 6, -33, 92, 14, -67, 50, 22, -9, 70, 35, -58] } } }, "outputs": { "y": { "dtype": "int32", "shape": [30] } } }, { "name": "axis0_large_y_f32_sorted_2200_distinct", "provenance": { "notes": "The exact serial float axis path handles 2200 distinct scalar slices with its representative order in global storage. This keeps float behavior aligned with ORT's non-transitive NaN comparator without exceeding workgroup-storage limits." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2200, 1], "data": { "kind": "linspace", "start": -500.0, "end": 500.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [2200, 1] } } }, { "name": "axis0_large_y_int32_unsorted_2100_distinct", "provenance": { "notes": "An axis length of 2,100 with sorted=0 requires multi-chunk parallel compaction without a sort network. Because each slice has one element, the distinct values must be emitted in first-occurrence order." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [2100, 1], "data": { "kind": "linspace", "start": -4000, "end": 4000 } } }, "outputs": { "y": { "dtype": "int32", "shape": [2100, 1] } } }, { "name": "axis_hash_split_scatter_sorted_all_distinct", "provenance": { "notes": "The hash-backed axis path compacts, sorts, and scatters all 4096 distinct scalar rows into the exact output shape." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [4096, 1], "data": { "kind": "linspace", "start": -2048, "end": 2047 } } }, "outputs": { "y": { "dtype": "int32", "shape": [4096, 1], "tolerance": 0 } } }, { "name": "axis_hash_split_scatter_unsorted_four_distinct", "provenance": { "notes": "Four distinct scalar rows exercise grid-parallel axis scatter and must be emitted in first-occurrence order into an exact four-row output." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [2048, 1], "data": { "kind": "cycle", "values": [9, -2, 7, 9, 42, -2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [4, 1], "tolerance": 0 } } }, { "name": "axis_hash_int32_inner2_duplicate_rows_sorted", "provenance": { "notes": "An axis length of 2,048 exercises exact hash deduplication for two-element rows. Repeated rows must share a bucket, first-occurrence representatives must survive, and sorted output must be lexicographic over complete rows." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [2048, 2], "data": { "kind": "cycle", "values": [2, 1, 0, 3, 2, 1, -1, 4] } } }, "outputs": { "y": { "dtype": "int32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [-1, 4, 0, 3, 2, 1] } } } }, { "name": "hash_int32_sorted_16_distinct", "provenance": { "notes": "A 32768-element input with 16 distinct signed values exercises hash-backed compaction and sorting with an exact result." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": [37, -5, 12, 99, -73, 0, 41, 8, -21, 64, 3, -90, 55, 17, -2, 76] } } }, "outputs": { "y": { "dtype": "int32", "shape": [16] } } }, { "name": "hash_int32_sorted_16k_4096_distinct", "provenance": { "notes": "A 16K-element input with exactly 4096 distinct integers exercises the narrow int32 large-output hash threshold and signed sorting." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [16384], "data": { "kind": "linspace", "start": 0, "end": 4095 } } }, "outputs": { "y": { "dtype": "int32", "shape": [4096] } } }, { "name": "hash_int32_sorted_262k_2049_distinct_variable_subgroup", "provenance": { "notes": "Large repeated integer input with output just above the local-sort capacity checks exact sorted results on both the parallel and key-only hash-collect device tiers." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [262144], "data": { "kind": "linspace", "start": 0, "end": 2048 } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049], "tolerance": 0 } } }, { "name": "exact_output_33_unsorted_f32_serial", "provenance": { "notes": "Thirty-three distinct float values exercise exact-output first-occurrence ordering on the serial float path." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "linspace", "start": -16.0, "end": 16.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [33], "tolerance": 0 } } }, { "name": "rank7_axis_last", "attrs": { "axis": 6, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 1, 2, 1, 2, 4], "data": { "kind": "constant", "value": 3.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1, 2, 1, 2, 1], "tolerance": 0 } } }, { "name": "axis0_y1025_storage_order_serial", "provenance": { "notes": "A 1025-row exact float output exercises axis_serial with storage-backed representative order, so its capacity is independent of maxComputeWorkgroupStorageSize." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [1025, 1], "data": { "kind": "linspace", "start": -1024.0, "end": 1024.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1025, 1], "tolerance": 0 } } }, { "name": "axis0_rows65537_above_hash_ceiling", "provenance": { "notes": "A 65,537-row input cycling 2,049 distinct values exercises large-axis hash deduplication and sorted output." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [65537, 1], "data": { "kind": "linspace", "start": 0, "end": 2048 } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049, 1], "tolerance": 0 } } }, { "name": "rank8_axis_last", "attrs": { "axis": 7, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 1, 2, 1, 2, 2, 4], "data": { "kind": "cycle", "values": [1.0, 2.0, 3.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1, 2, 1, 2, 2, 3], "tolerance": 0 } } }, { "name": "axis0_uint32_sorted_order", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises unsigned slice ordering through the bounded parallel axis compaction path, including values above int32 range." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "uint32", "shape": [6, 1], "data": { "kind": "values", "values": [4000000000, 5, 2147483648, 5, 0, 4000000000] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [4, 1], "tolerance": 0, "data": { "kind": "values", "values": [0, 5, 2147483648, 4000000000] } } } }, { "name": "axis_empty_y_only", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "An empty selected axis has zero unique slices and therefore a legal zero-sized Y axis." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [0, 2], "data": { "kind": "values", "values": [] } } }, "outputs": { "y": { "dtype": "int32", "shape": [0, 2], "tolerance": 0 } } }, { "name": "axis_empty_all_metadata", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Zero-length axis mode requests every standard optional metadata output with its exact empty shape." }, "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [2, 0, 3], "data": { "kind": "values", "values": [] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 0, 3], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [0], "tolerance": 0, "data": { "kind": "values", "values": [] } }, "inverse_indices": { "dtype": "uint32", "shape": [0], "tolerance": 0, "data": { "kind": "values", "values": [] } }, "counts": { "dtype": "uint32", "shape": [0], "tolerance": 0, "data": { "kind": "values", "values": [] } } } }, { "name": "axis_nan_ordered_map_unsorted_all_metadata", "provenance": { "source": "onnxruntime/core/providers/cpu/tensor/unique.cc", "notes": "ORT's ordered slice comparator stops at the first unequal coordinate. A NaN there makes the key equivalent to the lower-bound bucket and ignores the remaining suffix." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [4, 2], "data": { "kind": "values", "values": [5.0, 0.0, 1.0, 0.0, "NaN", 9.0, 3.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 0.0, 1.0, 0.0, 3.0, 0.0] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 3] } }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 1, 2] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 2, 1] } } } }, { "name": "axis_nan_ordered_map_sorted_all_metadata", "provenance": { "source": "onnxruntime/core/providers/cpu/tensor/unique.cc", "notes": "The same NaN lower-bound equivalence is retained while sorted output follows the ordered map's comparator order." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [4, 2], "data": { "kind": "values", "values": [5.0, 0.0, 1.0, 0.0, "NaN", 9.0, 3.0, 0.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 0.0, 3.0, 0.0, 5.0, 0.0] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [2, 0, 0, 1] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [2, 1, 1] } } } }, { "name": "flat_nan_ordered_map_unsorted_all_metadata", "provenance": { "source": "onnxruntime/core/providers/cpu/tensor/unique.cc", "notes": "Flat Unique uses the same stateful lower_bound rule: NaN maps to the smallest bucket present at its insertion point, not unconditionally to output bucket zero." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [5.0, 1.0, "NaN", 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 3] } }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 1, 2] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 2, 1] } } } }, { "name": "flat_nan_ordered_map_sorted_all_metadata", "provenance": { "source": "onnxruntime/core/providers/cpu/tensor/unique.cc", "notes": "Sorted flat output keeps the ordered-map bucket accounting while emitting comparator order." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [5.0, 1.0, "NaN", 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 3.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [2, 0, 0, 1] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [2, 1, 1] } } } }, { "name": "flat_nan_ordered_map_insertion_state_all_metadata", "provenance": { "source": "onnxruntime/core/providers/cpu/tensor/unique.cc", "notes": "With NaN inserted before the later minimum, lower_bound associates it with 5 rather than retroactively moving it to the later 1 bucket." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [0, 2, 3] } }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [0, 0, 1, 2] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [2, 1, 1] } } } }, { "name": "metadata_flat_all_int32", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises every optional output on the non-float flattened comparator path." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [5], "data": { "kind": "values", "values": [3, 1, 3, 2, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 2, 3] } }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [2, 0, 2, 1, 0] } }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [2, 1, 2] } } } }, { "name": "metadata_flat_indices_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0 } } }, { "name": "metadata_axis_negative_indices", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "metadata_flat_inverse_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "inverse_indices": { "dtype": "uint32", "shape": [6], "tolerance": 0 } } }, { "name": "metadata_axis_negative_inverse", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "inverse_indices": { "dtype": "uint32", "shape": [3], "tolerance": 0 } } }, { "name": "metadata_flat_counts_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0 } } }, { "name": "metadata_axis_negative_counts", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "metadata_flat_indices_inverse_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [6], "tolerance": 0 } } }, { "name": "metadata_axis_negative_indices_inverse", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [3], "tolerance": 0 } } }, { "name": "metadata_flat_indices_counts_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0 } } }, { "name": "metadata_axis_negative_indices_counts", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "metadata_flat_inverse_counts_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "inverse_indices": { "dtype": "uint32", "shape": [6], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0 } } }, { "name": "metadata_axis_negative_inverse_counts", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "inverse_indices": { "dtype": "uint32", "shape": [3], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "metadata_flat_all_nd_input", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination while flattening an N-D input." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 3], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 4.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4] }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [6], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0 } } }, { "name": "metadata_axis_negative_all", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises the requested standard optional output combination and normalizes axis=-2 to axis 0 for a rank-2 input." }, "attrs": { "axis": -2, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3] }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [3], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "float16_sorted_subnormal_and_signed_zero", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Covers the standard float16 type with bit-preserving subnormal ordering and signed-zero equality." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [5], "data": { "kind": "values", "values": [0.0, -0.0, 5.960464477539063e-8, -5.960464477539063e-8, 0.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [3], "tolerance": 0, "data": { "kind": "values", "values": [-5.960464477539063e-8, 0.0, 5.960464477539063e-8] } } } }, { "name": "float16_nan_ordered_map_all_metadata", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Exercises float16 NaN lower-bound equivalence and every standard optional metadata output." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [4], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, 3.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [3], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [3], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [4], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [3], "tolerance": 0 } } }, { "name": "float16_axis_unsorted_duplicate_rows", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Covers standard float16 axis-mode deduplication and first-occurrence output order." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [3, 2], "data": { "kind": "values", "values": [2.0, 1.0, 1.0, 3.0, 2.0, 1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 2], "tolerance": 0 } } }, { "name": "int16_sorted_extremes", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Covers the standard int16 type at both representable extremes." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int16", "shape": [6], "data": { "kind": "values", "values": [32767, -32768, -1, 0, 32767, -32768] } } }, "outputs": { "y": { "dtype": "int16", "shape": [4], "tolerance": 0 } } }, { "name": "bool_unsorted_all_metadata", "provenance": { "source": "https://onnx.ai/onnx/operators/onnx__Unique.html", "notes": "Covers the standard bool type, first-occurrence order, and every optional metadata output." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "bool", "shape": [5], "data": { "kind": "values", "values": [1, 0, 1, 1, 0] } } }, "outputs": { "y": { "dtype": "bool", "shape": [2], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0 } } }, { "name": "axis0_f32_hash_sorted_duplicate_rows", "provenance": { "notes": "Float rows on the parallel axis hash route: 2560 rows cycling 64 distinct two-element patterns, deduplicated and lexicographically sorted through the canonical-bit comparators." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2560, 2], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/axis0_f32_hash_sorted_duplicate_rows_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [64, 2], "tolerance": 0 } } }, { "name": "axis0_f32_hash_unsorted_first_occurrence", "provenance": { "notes": "A 2,560-row float input cycling 64 distinct two-element rows must emit them in first-occurrence order through the hash compaction scan." }, "attrs": { "axis": 0, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2560, 2], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/axis0_f32_hash_sorted_duplicate_rows_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [64, 2], "tolerance": 0 } } }, { "name": "axis0_f32_hash_sorted_zero_collapse_floor2048", "provenance": { "notes": "A [2048, 1] float32 tensor with axis=0 cycles a 32-value pattern 64 times; -0.0 (first) and 0.0 (later in the pattern) collapse to one signed-zero entry among 31 distinct values, sorted ascending." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2048, 1], "data": { "kind": "cycle", "values": [-0.0, -14.5125, -3.325, -4.6375, 10.4875, -5.95, 0.3, 16.7375, 4.2375, -10.8875, 12.8, 18.05, 7.8625, 14.1125, 5.55, -15.825, -8.2625, 6.55, -6.95, 0.0, -13.2, 2.925, -18.45, -9.575, -0.7, 1.6125, -2.0125, 9.175, -17.1375, -12.2, 11.8, 15.425] } } }, "outputs": { "y": { "dtype": "float32", "shape": [31, 1], "tolerance": 0 } } }, { "name": "float16_axis0_hash_sorted", "provenance": { "notes": "f16 on the float axis hash route: 48 half-exact scalars exercise the 16-bit canonical key (vec2 pack, 16-bit sign fold) through hash, sort, and scatter." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [2560, 1], "data": { "kind": "cycle", "values": [-3.0, 1.75, -3.5, 0.5, 1.25, -2.75, -5.0, 1.0, -3.25, -4.25, 0.75, -4.5, -1.75, -1.0, -0.75, -5.25, 2.0, 5.75, 2.75, 2.5, 3.75, -5.75, -0.5, 3.5, -4.0, -2.0, -1.25, -5.5, 5.0, -2.25, 2.25, 4.75, 3.0, -6.0, -4.75, 5.5, 4.0, 1.5, -3.75, 4.25, 3.25, -0.25, 5.25, -1.5, -2.5, 0.25, 0.0, 4.5] } } }, "outputs": { "y": { "dtype": "float16", "shape": [48, 1], "tolerance": 0 } } }, { "name": "axis1_f32_hash_sorted_outer2", "provenance": { "notes": "outer > 1 on the float axis hash route: axis 1 of a [2, 2560] tensor makes every slice span two strided elements, exercising the outer loop of the canonical slice comparators." }, "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 2560], "data": { "kind": "cycle", "values": [-50.0, 5.5, 25.0, -47.0, -36.5, 43.0, 46.0, -5.0, 35.5, 31.0, -20.0, 8.5, -2.0, -12.5, -29.0, 38.5, -39.5, 47.5, -14.0, 16.0, -32.0, 20.5, 13.0, -42.5, -24.5, -35.0, -9.5, 1.0, -44.0, -21.5, 32.5, 10.0, 17.5, -27.5, 23.5, 2.5, -6.5, 40.0, 28.0, -17.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 40], "tolerance": 0 } } }, { "name": "parallel_metadata_indices_int32_sorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests first indices from the parallel integer-dedup route." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] } } }, { "name": "parallel_metadata_inverse_int32_unsorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests the inverse map from the parallel integer-dedup route." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [512] } } }, { "name": "parallel_metadata_counts_int32_sorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests counts from the parallel integer-dedup route." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "parallel_metadata_indices_inverse_int32_unsorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests first indices and the inverse map from the parallel integer-dedup route." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "inverse_indices": { "dtype": "uint32", "shape": [512] } } }, { "name": "parallel_metadata_indices_counts_int32_sorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests first indices and counts from the parallel integer-dedup route." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "parallel_metadata_inverse_counts_int32_unsorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests the inverse map and counts from the parallel integer-dedup route." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [512] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "parallel_metadata_all_int32_sorted", "provenance": { "notes": "A scrambled 65-value cycle over 512 elements gives uneven counts and makes first-occurrence order differ from sorted order. This case requests first indices, the inverse map, and counts from the parallel integer-dedup route." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "inverse_indices": { "dtype": "uint32", "shape": [512] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "hash_metadata_inverse_int32_unsorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests the inverse map." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [32768] } } }, { "name": "hash_metadata_counts_int32_sorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests counts." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "hash_metadata_all_int32_unsorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests first indices, the inverse map, and counts." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "inverse_indices": { "dtype": "uint32", "shape": [32768] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "hash_metadata_indices_int32_sorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests first indices." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] } } }, { "name": "hash_metadata_indices_inverse_int32_unsorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests first indices and the inverse map." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "inverse_indices": { "dtype": "uint32", "shape": [32768] } } }, { "name": "hash_metadata_indices_counts_int32_sorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests first indices and counts." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [65] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "hash_metadata_inverse_counts_int32_unsorted", "provenance": { "notes": "The smallest hash-route input uses a scrambled 65-value cycle, giving uneven counts and distinct first-occurrence and sorted orders. This case requests the inverse map and counts." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [32768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/metadata_scrambled_cycle65" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [65], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [32768] }, "counts": { "dtype": "uint32", "shape": [65] } } }, { "name": "axis0_f32_rows70000_above_hash_ceiling", "provenance": { "notes": "A 70,000-row float input cycling eight one-element rows exercises large-axis hash deduplication and lexicographic sorted output." }, "attrs": { "axis": 0, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [70000, 1], "data": { "kind": "cycle", "values": [-4.0, -2.5, -1.0, 0.0, 1.5, 2.0, 3.25, 8.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [8, 1], "tolerance": 0 } } }, { "name": "flat_i32_70000_distinct_above_ceiling", "provenance": { "notes": "A flat 70,000-element input with every value distinct exercises large-output parallel deduplication and sorted emission." }, "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [70000], "data": { "kind": "linspace", "start": -35000, "end": 34999 } } }, "outputs": { "y": { "dtype": "int32", "shape": [70000], "tolerance": 0 } } }, { "name": "flat_i32_above_input_length_ceiling", "provenance": { "notes": "A 1,049,600-element class-label stream cycling six values exercises large-input parallel deduplication and first-occurrence output." }, "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1049600], "data": { "kind": "cycle", "values": [7, -3, 0, 11, -3, 42, 7, 5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [6], "tolerance": 0 } } }, { "name": "hash_float32_sorted0_leading_nan_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": ["NaN", 5.0, 1.0, "NaN", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1], "tolerance": 0, "allowNaN": true } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles [NaN, 5.0, 1.0, NaN, -Infinity], starting with a NaN; every later element collapses into that leading NaN, leaving a single-element NaN output." } }, { "name": "hash_float32_sorted0_later_nan_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [5.0, "NaN", 1.0, 3.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles [5.0, NaN, 1.0, 3.0, NaN, 1.0]; NaN never starts a new unique value once a real value exists, so the three real values appear in first-occurrence order: 5.0, 1.0, then 3.0." } }, { "name": "hash_float32_sorted0_negative_zero_first_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [-0.0, 0.0, 1e-40, -1e-40, "Infinity", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles negative zero, positive zero, a subnormal magnitude (1e-40) and its negation, and both infinities; the two zeros collapse into one entry using the first-seen negative sign, giving five distinct values in first-occurrence order." } }, { "name": "hash_float32_sorted0_positive_zero_first_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [0.0, -0.0, -1e-40, 1e-40, "-Infinity", "Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles positive zero, negative zero, a subnormal magnitude (1e-40) and its negation, and both infinities; the two zeros collapse into one entry using the first-seen positive sign, giving five distinct values in first-occurrence order." } }, { "name": "hash_float32_sorted0_infinity_duplicates_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": ["Infinity", "-Infinity", 2.0, -3.0, "Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles positive infinity, negative infinity, 2.0, and -3.0, with positive infinity repeated each period; the duplicate infinities collapse into one entry, giving four distinct values in first-occurrence order." } }, { "name": "hash_float32_sorted1_leading_nan_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": ["NaN", 5.0, 1.0, "NaN", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1], "tolerance": 0, "allowNaN": true } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles [NaN, 5.0, 1.0, NaN, -Infinity], starting with a NaN; every later element collapses into that leading NaN, leaving a single-element NaN output." } }, { "name": "hash_float32_sorted1_later_nan_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [5.0, "NaN", 1.0, 3.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles [5.0, NaN, 1.0, 3.0, NaN, 1.0]; because NaN never creates a new entry once a real value exists, only the three distinct real values 1.0, 3.0, and 5.0 appear, in ascending order." } }, { "name": "hash_float32_sorted1_negative_zero_first_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [-0.0, 0.0, 1e-40, -1e-40, "Infinity", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles negative zero, positive zero, a subnormal magnitude (1e-40) and its negation, and both infinities; the two zeros collapse into one entry using the first-seen negative sign, giving five distinct values in ascending order." } }, { "name": "hash_float32_sorted1_positive_zero_first_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": [0.0, -0.0, -1e-40, 1e-40, "-Infinity", "Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles positive zero, negative zero, a subnormal magnitude (1e-40) and its negation, and both infinities; the two zeros collapse into one entry using the first-seen positive sign, giving five distinct values in ascending order." } }, { "name": "hash_float32_sorted1_infinity_duplicates_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "cycle", "values": ["Infinity", "-Infinity", 2.0, -3.0, "Infinity"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float32 input cycles positive infinity, negative infinity, 2.0, and -3.0, with positive infinity repeated each period; the duplicate infinities collapse into one entry, giving four distinct values in ascending order." } }, { "name": "hash_float16_sorted0_leading_nan_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": ["NaN", 5.0, 1.0, "NaN", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1], "tolerance": 0, "allowNaN": true } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles [NaN, 5.0, 1.0, NaN, -Infinity], starting with a NaN; every later element collapses into that leading NaN, leaving a single-element NaN output." } }, { "name": "hash_float16_sorted0_later_nan_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [5.0, "NaN", 1.0, 3.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [3], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles [5.0, NaN, 1.0, 3.0, NaN, 1.0]; NaN never starts a new unique value once a real value exists, so the three real values appear in first-occurrence order: 5.0, 1.0, then 3.0." } }, { "name": "hash_float16_sorted0_negative_zero_first_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [-0.0, 0.0, 5.960464477539063e-8, -5.960464477539063e-8, "Infinity", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles negative zero, positive zero, the smallest float16 subnormal and its negation, and both infinities; the two zeros collapse into one entry using the first-seen negative sign, giving five distinct values in first-occurrence order." } }, { "name": "hash_float16_sorted0_positive_zero_first_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [0.0, -0.0, -5.960464477539063e-8, 5.960464477539063e-8, "-Infinity", "Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles positive zero, negative zero, the smallest float16 subnormal and its negation, and both infinities; the two zeros collapse into one entry using the first-seen positive sign, giving five distinct values in first-occurrence order." } }, { "name": "hash_float16_sorted0_infinity_duplicates_tail33", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": ["Infinity", "-Infinity", 2.0, -3.0, "Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles positive infinity, negative infinity, 2.0, and -3.0, with positive infinity repeated each period; the duplicate infinities collapse into one entry, giving four distinct values in first-occurrence order." } }, { "name": "hash_float16_sorted1_leading_nan_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": ["NaN", 5.0, 1.0, "NaN", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1], "tolerance": 0, "allowNaN": true } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles [NaN, 5.0, 1.0, NaN, -Infinity], starting with a NaN; every later element collapses into that leading NaN, leaving a single-element NaN output." } }, { "name": "hash_float16_sorted1_later_nan_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [5.0, "NaN", 1.0, 3.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [3], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles [5.0, NaN, 1.0, 3.0, NaN, 1.0]; because NaN never creates a new entry once a real value exists, only the three distinct real values 1.0, 3.0, and 5.0 appear, in ascending order." } }, { "name": "hash_float16_sorted1_negative_zero_first_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [-0.0, 0.0, 5.960464477539063e-8, -5.960464477539063e-8, "Infinity", "-Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles negative zero, positive zero, the smallest float16 subnormal and its negation, and both infinities; the two zeros collapse into one entry using the first-seen negative sign, giving five distinct values in ascending order." } }, { "name": "hash_float16_sorted1_positive_zero_first_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": [0.0, -0.0, -5.960464477539063e-8, 5.960464477539063e-8, "-Infinity", "Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles positive zero, negative zero, the smallest float16 subnormal and its negation, and both infinities; the two zeros collapse into one entry using the first-seen positive sign, giving five distinct values in ascending order." } }, { "name": "hash_float16_sorted1_infinity_duplicates_tail33", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "cycle", "values": ["Infinity", "-Infinity", 2.0, -3.0, "Infinity"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0 } }, "tunables": { "HASH_MIN_INPUT": 32 }, "provenance": { "notes": "A 33-element float16 input cycles positive infinity, negative infinity, 2.0, and -3.0, with positive infinity repeated each period; the duplicate infinities collapse into one entry, giving four distinct values in ascending order." } }, { "name": "hash_float32_sorted0_compact_first_chunk_incomplete_tail33", "provenance": { "notes": "With 32 invocations, the first compact chunk contains only the representative 7. The distinct final -3 must be consumed from the second chunk before sorting or preserving appearance order." }, "attrs": { "sorted": 0 }, "tunables": { "WORKGROUP_SIZE": 32, "HASH_MIN_INPUT": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/compact_incomplete_first_chunk33" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [7.0, -3.0] } } } }, { "name": "hash_float32_sorted1_compact_first_chunk_incomplete_tail33", "provenance": { "notes": "With 32 invocations, the first compact chunk contains only the representative 7. The distinct final -3 must be consumed from the second chunk before sorting or preserving appearance order." }, "attrs": { "sorted": 1 }, "tunables": { "WORKGROUP_SIZE": 32, "HASH_MIN_INPUT": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/compact_incomplete_first_chunk33" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, 7.0] } } } }, { "name": "hash_float16_sorted0_compact_first_chunk_incomplete_tail33", "provenance": { "notes": "With 32 invocations, the first compact chunk contains only the representative 7. The distinct final -3 must be consumed from the second chunk before sorting or preserving appearance order." }, "attrs": { "sorted": 0 }, "tunables": { "WORKGROUP_SIZE": 32, "HASH_MIN_INPUT": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/compact_incomplete_first_chunk33" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [7.0, -3.0] } } } }, { "name": "hash_float16_sorted1_compact_first_chunk_incomplete_tail33", "provenance": { "notes": "With 32 invocations, the first compact chunk contains only the representative 7. The distinct final -3 must be consumed from the second chunk before sorting or preserving appearance order." }, "attrs": { "sorted": 1 }, "tunables": { "WORKGROUP_SIZE": 32, "HASH_MIN_INPUT": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/compact_incomplete_first_chunk33" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, 7.0] } } } }, { "name": "hybrid_sort_i32_extremes_sentinel_duplicates", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int32", "shape": [8], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648] } } }, "outputs": { "y": { "dtype": "int32", "shape": [5], "data": { "kind": "values", "values": [-2147483648, -1, 0, 9, 2147483647] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element int32 input with INT32_MIN, INT32_MAX, and duplicate -1, 9, and INT32_MIN values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hybrid_sort_u32_real_max_before_padding", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "uint32", "shape": [8], "data": { "kind": "values", "values": [4294967295, 0, 2147483648, 4, 1, 4294967295, 0, 4] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [5], "data": { "kind": "values", "values": [0, 1, 4, 2147483648, 4294967295] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element uint32 input with UINT32_MAX, the int32/uint32 boundary value 2,147,483,648, and duplicate UINT32_MAX, 0, and 4 values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hybrid_sort_i32_underfilled_capacity_zero_tail", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int32", "shape": [12], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648, 9, 9, 0, -1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [7], "data": { "kind": "values", "values": [-2147483648, -1, 0, 9, 2147483647, 0, 0] }, "tolerance": 0 } }, "provenance": { "notes": "A bounded integer input includes duplicate and padded records. Exact integer outputs pin sentinel, padding, and first-occurrence behavior." } }, { "name": "hash_global_nonpower_tile_i32_extremes_sentinel_duplicates", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 3 }, "inputs": { "x": { "dtype": "int32", "shape": [8], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648] } } }, "outputs": { "y": { "dtype": "int32", "shape": [5], "data": { "kind": "values", "values": [-2147483648, -1, 0, 9, 2147483647] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element int32 input with INT32_MIN, INT32_MAX, and duplicate -1, 9, and INT32_MIN values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hash_global_nonpower_tile_u32_real_max_before_padding", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 3 }, "inputs": { "x": { "dtype": "uint32", "shape": [8], "data": { "kind": "values", "values": [4294967295, 0, 2147483648, 4, 1, 4294967295, 0, 4] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [5], "data": { "kind": "values", "values": [0, 1, 4, 2147483648, 4294967295] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element uint32 input with UINT32_MAX, the int32/uint32 boundary value 2,147,483,648, and duplicate UINT32_MAX, 0, and 4 values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hash_global_unsorted_first_seen_sentinel_zero_tail", "attrs": { "sorted": 0 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "int32", "shape": [12], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648, 9, 9, 0, -1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [7], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, 0, 0] }, "tolerance": 0 } }, "provenance": { "notes": "A bounded integer input includes duplicate and padded records. Exact integer outputs pin sentinel, padding, and first-occurrence behavior. Unsorted output preserves appearance order, not numeric order, and zero-fills excess capacity." } }, { "name": "hybrid_sort_network_tile1", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [8], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648] } } }, "outputs": { "y": { "dtype": "int32", "shape": [5], "data": { "kind": "values", "values": [-2147483648, -1, 0, 9, 2147483647] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element int32 input with INT32_MIN, INT32_MAX, and duplicate -1, 9, and INT32_MIN values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hybrid_sort_network_tile2", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 1, "LOCAL_SORT_CROSSOVER": 1, "HASH_SORT_MAX_CAPACITY": 1, "SORT_WORKGROUP": 32, "WORKGROUP_SIZE": 32, "GLOBAL_SORT_TILE": 2 }, "inputs": { "x": { "dtype": "int32", "shape": [8], "data": { "kind": "values", "values": [-1, 2147483647, -2147483648, 9, 0, -1, 9, -2147483648] } } }, "outputs": { "y": { "dtype": "int32", "shape": [5], "data": { "kind": "values", "values": [-2147483648, -1, 0, 9, 2147483647] }, "tolerance": 0 } }, "provenance": { "notes": "An 8-element int32 input with INT32_MIN, INT32_MAX, and duplicate -1, 9, and INT32_MIN values produces a sorted 5-element unique output whose length equals the unique count, with no padding." } }, { "name": "hybrid_sort_default_tile512_sorted513_signed_boundary", "attrs": { "sorted": 1 }, "tunables": { "HASH_MIN_INPUT": 32, "LOCAL_SORT_CROSSOVER": 32, "HASH_SORT_MAX_CAPACITY": 32 }, "inputs": { "x": { "dtype": "int32", "shape": [513], "data": { "kind": "linspace", "start": 256, "end": -256 } } }, "outputs": { "y": { "dtype": "int32", "shape": [513], "tolerance": 0, "data": { "kind": "linspace", "start": -256, "end": 256 } } }, "provenance": { "notes": "A compact integer input spans a 512-record boundary. 513 distinct descending signed values cross two 512-record padded sort tiles and exercise the final real/padding boundary." } }, { "name": "axis_scalar_hash_float32_finite_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_finite_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_later_nan_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, "NaN", 3.0, -2.0, "NaN", 5.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [8], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_later_nan_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, "NaN", 3.0, -2.0, "NaN", 5.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [8], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_leading_nan_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 5, 1], "data": { "kind": "values", "values": ["NaN", 5.0, 1.0, "NaN", -2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0, "allowNaN": true }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_leading_nan_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 5, 1], "data": { "kind": "values", "values": ["NaN", 5.0, 1.0, "NaN", -2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0, "allowNaN": true }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_local_sort_below_crossover_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "provenance": { "notes": "A [1, 7, 1] float32 tensor's axis=-2 (dimension 1) holds 7 scalar slices with duplicate 5.0 and 1.0 pairs; the 5 unique slices are ascending, and inverse_indices maps every original slice back to its correct entry." }, "tunables": { "LOCAL_SORT_CROSSOVER": 6, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_zero_subnormal_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 9, 1], "data": { "kind": "values", "values": [-0.0, 0.0, 1.401298464324817e-45, -1.401298464324817e-45, 1.401298464324817e-45, "Infinity", "-Infinity", 1.0, -1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 7, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [9], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_zero_subnormal_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 9, 1], "data": { "kind": "values", "values": [-0.0, 0.0, 1.401298464324817e-45, -1.401298464324817e-45, 1.401298464324817e-45, "Infinity", "-Infinity", 1.0, -1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 7, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [9], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_zero_reverse_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 7, 1], "data": { "kind": "values", "values": [0.0, -0.0, -1.401298464324817e-45, 1.401298464324817e-45, 1.0, -1.0, "NaN"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float32_zero_reverse_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 7, 1], "data": { "kind": "values", "values": [0.0, -0.0, -1.401298464324817e-45, 1.401298464324817e-45, 1.0, -1.0, "NaN"] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_finite_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_finite_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_later_nan_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 8, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, "NaN", 3.0, -2.0, "NaN", 5.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 4, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [8], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_later_nan_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 8, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0, "NaN", 3.0, -2.0, "NaN", 5.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 4, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [8], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_leading_nan_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 5, 1], "data": { "kind": "values", "values": ["NaN", 5.0, 1.0, "NaN", -2.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0, "allowNaN": true }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_leading_nan_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 5, 1], "data": { "kind": "values", "values": ["NaN", 5.0, 1.0, "NaN", -2.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0, "allowNaN": true }, "inverse_indices": { "dtype": "uint32", "shape": [5], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_local_sort_below_crossover_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "provenance": { "notes": "A [1, 7, 1] float16 tensor's axis=-2 (dimension 1) holds 7 scalar slices with duplicate 5.0 and 1.0 pairs; the 5 unique slices are ascending, and inverse_indices maps every original slice back to its correct entry." }, "tunables": { "LOCAL_SORT_CROSSOVER": 6, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 7, 1], "data": { "kind": "values", "values": [5.0, 1.0, 5.0, 3.0, -2.0, 1.0, 7.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_zero_subnormal_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 9, 1], "data": { "kind": "values", "values": [-0.0, 0.0, 5.960464477539063e-8, -5.960464477539063e-8, 5.960464477539063e-8, "Infinity", "-Infinity", 1.0, -1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 7, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [9], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_zero_subnormal_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 9, 1], "data": { "kind": "values", "values": [-0.0, 0.0, 5.960464477539063e-8, -5.960464477539063e-8, 5.960464477539063e-8, "Infinity", "-Infinity", 1.0, -1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 7, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [9], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_zero_reverse_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 7, 1], "data": { "kind": "values", "values": [0.0, -0.0, -5.960464477539063e-8, 5.960464477539063e-8, 1.0, -1.0, "NaN"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "axis_scalar_hash_float16_zero_reverse_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 7, 1], "data": { "kind": "values", "values": [0.0, -0.0, -5.960464477539063e-8, 5.960464477539063e-8, 1.0, -1.0, "NaN"] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [7], "tolerance": 0 } } }, { "name": "scalar_hash_float32_finite_mask0_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask0_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask1_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask1_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask2_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask2_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask3_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask3_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask4_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask4_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask5_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask5_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask6_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask6_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask0_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask0_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask1_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask1_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask2_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask2_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask3_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask3_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask4_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask4_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask5_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask5_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask6_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask6_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5.0, -0.0, 1.0, -3.0, 2.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 6] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [10, 9, 5, 5, 4] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask0_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-3.0, -0.0, 1.0, 2.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [3, 1, 2, 6, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_finite_mask2_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [5, 9, 5, 4, 10] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int32_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [-1, -2147483648, 2147483647, 0, 7] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 6, 5, 5] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int32_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-2147483648, -1, 0, 7, 2147483647] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [1, 0, 3, 5, 2] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": [1, 0, 4, 2, 1, 3, 1, 0, 4, 2, 1, 3, 1, 0, 4, 2, 1, 3, 1, 0, 4, 2, 1, 3, 1, 0, 4, 2, 1, 3, 1, 0, 4] } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [6, 11, 5, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_uint32_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "uint32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint32_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [4294967295, 0, 2147483648, 7, 2147483647] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 6, 5, 5] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_uint32_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "uint32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint32_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "uint32", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [0, 7, 2147483647, 2147483648, 4294967295] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 5, 2, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint32_finite_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [6, 5, 5, 6, 11] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int16_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int16_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int16", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [-32768, 32767, -1, 0, 7] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 6, 5, 5] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int16_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int16_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int16", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-32768, -1, 0, 7, 32767] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 2, 3, 5, 1] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int16_finite_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 5, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int8_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int8", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int8_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int8", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [-128, 127, -1, 0, 7] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 6, 5, 5] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_int8_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "int8", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int8_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int8", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [-128, -1, 0, 7, 127] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 2, 3, 5, 1] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int16_finite_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 5, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_uint8_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "uint8", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint8_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "uint8", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [255, 0, 128, 7, 127] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 2, 3, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_int32_finite_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [11, 6, 6, 5, 5] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_uint8_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "uint8", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint8_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "uint8", "shape": [1, 5, 1], "tolerance": 0, "data": { "kind": "values", "values": [0, 7, 127, 128, 255] } }, "indices": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 5, 2, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_uint32_finite_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [5], "tolerance": 0, "data": { "kind": "values", "values": [6, 5, 5, 6, 11] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_bool_finite_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "bool", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_bool_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "bool", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [1, 0] } }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [0, 1] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": [0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0] } }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [22, 11] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_bool_finite_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "bool", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_bool_finite_mask7_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "bool", "shape": [1, 2, 1], "tolerance": 0, "data": { "kind": "values", "values": [0, 1] } }, "indices": { "dtype": "uint32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [1, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_bool_finite_mask7_flat_sorted0_input_x" } } }, "counts": { "dtype": "uint32", "shape": [2], "tolerance": 0, "data": { "kind": "values", "values": [11, 22] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_later_nan_mask4_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0, -2.0] } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [6, 6, 5, 16] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_later_nan_mask4_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [-2.0, 1.0, 3.0, 5.0] } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [16, 6, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_later_nan_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0, -2.0] } }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [0, 2, 4, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [6, 6, 5, 16] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_later_nan_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [-2.0, 1.0, 3.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5, 2, 4, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [16, 6, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_leading_nan_mask5_axis_sorted0", "attrs": { "sorted": 0, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_leading_nan_mask7_axis_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN"] }, "allowNaN": true }, "indices": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [0] } }, "counts": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [33] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float32_leading_nan_mask5_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_leading_nan_mask7_axis_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN"] }, "allowNaN": true }, "indices": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [0] } }, "counts": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [33] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_later_nan_mask4_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0, -2.0] } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [6, 6, 5, 16] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_later_nan_mask4_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [-2.0, 1.0, 3.0, 5.0] } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [16, 6, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_later_nan_mask7_flat_sorted0", "attrs": { "sorted": 0 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0, 3.0, -2.0] } }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [0, 2, 4, 5] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask7_flat_sorted0_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [6, 6, 5, 16] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_later_nan_mask7_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask4_flat_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [-2.0, 1.0, 3.0, 5.0] } }, "indices": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [5, 2, 4, 0] } }, "inverse_indices": { "dtype": "uint32", "shape": [33], "tolerance": 0, "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_later_nan_mask7_axis_sorted1_output_inverse_indices" } } }, "counts": { "dtype": "uint32", "shape": [4], "tolerance": 0, "data": { "kind": "values", "values": [16, 6, 5, 6] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_leading_nan_mask5_axis_sorted0", "attrs": { "sorted": 0, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_leading_nan_mask7_axis_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN"] }, "allowNaN": true }, "indices": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [0] } }, "counts": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [33] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "scalar_hash_float16_leading_nan_mask5_axis_sorted1", "attrs": { "sorted": 1, "axis": -2 }, "tunables": { "PARALLEL_SCAN_MIN_CHUNKS": 0, "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_float32_leading_nan_mask7_axis_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN"] }, "allowNaN": true }, "indices": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [0] } }, "counts": { "dtype": "uint32", "shape": [1], "tolerance": 0, "data": { "kind": "values", "values": [33] } } }, "provenance": { "notes": "Exact ordered-insertion expectations for all scalar output masks. Integer -1/max uint32 exercises EMPTY side storage; float signed zero retains its first representative. Leading NaN exercises the exact one-class contract." } }, { "name": "axis_nan_ordered_y_float32_nan_head_later_inner_sorted0", "attrs": { "axis": 0, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_head_later_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 0.0, 1.0, 0.0, 3.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0", "attrs": { "axis": 0, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, "NaN", 2.0, 0.0, 3.0, 9.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0", "attrs": { "axis": -1, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 1.0, 0.0, 5.0, 3.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0", "attrs": { "axis": -1, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN", 3.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_head_later_inner_sorted1", "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_head_later_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 0.0, 3.0, 0.0, 5.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted1", "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, "NaN", 2.0, 0.0, 3.0, 9.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted1", "attrs": { "axis": -1, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 0.0, 3.0, 5.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted1", "attrs": { "axis": -1, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN", 3.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_head_later_inner_sorted0", "attrs": { "axis": 0, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_head_later_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 0.0, 1.0, 0.0, 3.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_suffix_ignored_by_head_inner_sorted0", "attrs": { "axis": 0, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, "NaN", 2.0, 0.0, 3.0, 9.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_suffix_later_outer_sorted0", "attrs": { "axis": -1, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 3], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 1.0, 0.0, 5.0, 3.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_leading_single_bucket_outer_sorted0", "attrs": { "axis": -1, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN", 3.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_head_later_inner_sorted1", "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_head_later_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 0.0, 3.0, 0.0, 5.0, 0.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_suffix_ignored_by_head_inner_sorted1", "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [33, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_ignored_by_head_inner_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [3, 2], "tolerance": 0, "data": { "kind": "values", "values": [1.0, "NaN", 2.0, 0.0, 3.0, 9.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_suffix_later_outer_sorted1", "attrs": { "axis": -1, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_suffix_later_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 1.0, 0.0, 3.0, 5.0] } } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "axis_nan_ordered_y_float16_nan_leading_single_bucket_outer_sorted1", "attrs": { "axis": -1, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [2, 33], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_nan_ordered_y_float32_nan_leading_single_bucket_outer_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 1], "tolerance": 0, "data": { "kind": "values", "values": ["NaN", 3.0] }, "allowNaN": true } }, "provenance": { "notes": "Y-only multi-element axis ordered-map reference with NaN at the deciding coordinate, after an earlier decisive coordinate, or in the initial representative. Outer/inner layouts preserve the same lexicographic slice values." } }, { "name": "scalar_hash_scan_float32_n31_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 31, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n31_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 30, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 7.0, 14.0, 21.0, 28.0, 5.0, 12.0, 19.0, 26.0, 3.0, 10.0, 17.0, 24.0, 1.0, 8.0, 15.0, 22.0, 29.0, 6.0, 13.0, 20.0, 27.0, 4.0, 11.0, 18.0, 25.0, 2.0, 9.0, 16.0, 23.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 31, 1] holds 31 scalar slices along axis -2: integers 0 through 29 once each, plus a repeated 0, producing 30 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n31_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 31, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n31_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 30, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 31, 1] holds 31 scalar slices along axis -2: integers 0 through 29 once each, plus a repeated 0, producing 30 unique slices in ascending order." } }, { "name": "scalar_hash_scan_float32_n32_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 32, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n32_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 31, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 6.0, 12.0, 18.0, 24.0, 30.0, 5.0, 11.0, 17.0, 23.0, 29.0, 4.0, 10.0, 16.0, 22.0, 28.0, 3.0, 9.0, 15.0, 21.0, 27.0, 2.0, 8.0, 14.0, 20.0, 26.0, 1.0, 7.0, 13.0, 19.0, 25.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 32, 1] holds 32 scalar slices along axis -2: integers 0 through 30 once each, plus a repeated 0, producing 31 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n32_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 32, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n32_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 31, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 32, 1] holds 32 scalar slices along axis -2: integers 0 through 30 once each, plus a repeated 0, producing 31 unique slices in ascending order." } }, { "name": "scalar_hash_scan_float32_n33_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n33_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 32, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 33, 1] holds 33 scalar slices along axis -2: integers 0 through 31 once each, plus a repeated 0, producing 32 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n33_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 33, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n33_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 32, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 33, 1] holds 33 scalar slices along axis -2: integers 0 through 31 once each, plus a repeated 0, producing 32 unique slices in ascending order." } }, { "name": "scalar_hash_scan_float32_n255_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 255, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n255_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 254, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 37.0, 74.0, 111.0, 148.0, 185.0, 222.0, 5.0, 42.0, 79.0, 116.0, 153.0, 190.0, 227.0, 10.0, 47.0, 84.0, 121.0, 158.0, 195.0, 232.0, 15.0, 52.0, 89.0, 126.0, 163.0, 200.0, 237.0, 20.0, 57.0, 94.0, 131.0, 168.0, 205.0, 242.0, 25.0, 62.0, 99.0, 136.0, 173.0, 210.0, 247.0, 30.0, 67.0, 104.0, 141.0, 178.0, 215.0, 252.0, 35.0, 72.0, 109.0, 146.0, 183.0, 220.0, 3.0, 40.0, 77.0, 114.0, 151.0, 188.0, 225.0, 8.0, 45.0, 82.0, 119.0, 156.0, 193.0, 230.0, 13.0, 50.0, 87.0, 124.0, 161.0, 198.0, 235.0, 18.0, 55.0, 92.0, 129.0, 166.0, 203.0, 240.0, 23.0, 60.0, 97.0, 134.0, 171.0, 208.0, 245.0, 28.0, 65.0, 102.0, 139.0, 176.0, 213.0, 250.0, 33.0, 70.0, 107.0, 144.0, 181.0, 218.0, 1.0, 38.0, 75.0, 112.0, 149.0, 186.0, 223.0, 6.0, 43.0, 80.0, 117.0, 154.0, 191.0, 228.0, 11.0, 48.0, 85.0, 122.0, 159.0, 196.0, 233.0, 16.0, 53.0, 90.0, 127.0, 164.0, 201.0, 238.0, 21.0, 58.0, 95.0, 132.0, 169.0, 206.0, 243.0, 26.0, 63.0, 100.0, 137.0, 174.0, 211.0, 248.0, 31.0, 68.0, 105.0, 142.0, 179.0, 216.0, 253.0, 36.0, 73.0, 110.0, 147.0, 184.0, 221.0, 4.0, 41.0, 78.0, 115.0, 152.0, 189.0, 226.0, 9.0, 46.0, 83.0, 120.0, 157.0, 194.0, 231.0, 14.0, 51.0, 88.0, 125.0, 162.0, 199.0, 236.0, 19.0, 56.0, 93.0, 130.0, 167.0, 204.0, 241.0, 24.0, 61.0, 98.0, 135.0, 172.0, 209.0, 246.0, 29.0, 66.0, 103.0, 140.0, 177.0, 214.0, 251.0, 34.0, 71.0, 108.0, 145.0, 182.0, 219.0, 2.0, 39.0, 76.0, 113.0, 150.0, 187.0, 224.0, 7.0, 44.0, 81.0, 118.0, 155.0, 192.0, 229.0, 12.0, 49.0, 86.0, 123.0, 160.0, 197.0, 234.0, 17.0, 54.0, 91.0, 128.0, 165.0, 202.0, 239.0, 22.0, 59.0, 96.0, 133.0, 170.0, 207.0, 244.0, 27.0, 64.0, 101.0, 138.0, 175.0, 212.0, 249.0, 32.0, 69.0, 106.0, 143.0, 180.0, 217.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 255, 1] holds 255 scalar slices along axis -2: integers 0 through 253 once each, plus a repeated 0, producing 254 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n255_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 255, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n255_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 254, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 212.0, 213.0, 214.0, 215.0, 216.0, 217.0, 218.0, 219.0, 220.0, 221.0, 222.0, 223.0, 224.0, 225.0, 226.0, 227.0, 228.0, 229.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 236.0, 237.0, 238.0, 239.0, 240.0, 241.0, 242.0, 243.0, 244.0, 245.0, 246.0, 247.0, 248.0, 249.0, 250.0, 251.0, 252.0, 253.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 255, 1] holds 255 scalar slices along axis -2: integers 0 through 253 once each, plus a repeated 0, producing 254 unique slices in ascending order." } }, { "name": "scalar_hash_scan_float32_n256_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 256, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n256_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 255, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 37.0, 74.0, 111.0, 148.0, 185.0, 222.0, 4.0, 41.0, 78.0, 115.0, 152.0, 189.0, 226.0, 8.0, 45.0, 82.0, 119.0, 156.0, 193.0, 230.0, 12.0, 49.0, 86.0, 123.0, 160.0, 197.0, 234.0, 16.0, 53.0, 90.0, 127.0, 164.0, 201.0, 238.0, 20.0, 57.0, 94.0, 131.0, 168.0, 205.0, 242.0, 24.0, 61.0, 98.0, 135.0, 172.0, 209.0, 246.0, 28.0, 65.0, 102.0, 139.0, 176.0, 213.0, 250.0, 32.0, 69.0, 106.0, 143.0, 180.0, 217.0, 254.0, 36.0, 73.0, 110.0, 147.0, 184.0, 221.0, 3.0, 40.0, 77.0, 114.0, 151.0, 188.0, 225.0, 7.0, 44.0, 81.0, 118.0, 155.0, 192.0, 229.0, 11.0, 48.0, 85.0, 122.0, 159.0, 196.0, 233.0, 15.0, 52.0, 89.0, 126.0, 163.0, 200.0, 237.0, 19.0, 56.0, 93.0, 130.0, 167.0, 204.0, 241.0, 23.0, 60.0, 97.0, 134.0, 171.0, 208.0, 245.0, 27.0, 64.0, 101.0, 138.0, 175.0, 212.0, 249.0, 31.0, 68.0, 105.0, 142.0, 179.0, 216.0, 253.0, 35.0, 72.0, 109.0, 146.0, 183.0, 220.0, 2.0, 39.0, 76.0, 113.0, 150.0, 187.0, 224.0, 6.0, 43.0, 80.0, 117.0, 154.0, 191.0, 228.0, 10.0, 47.0, 84.0, 121.0, 158.0, 195.0, 232.0, 14.0, 51.0, 88.0, 125.0, 162.0, 199.0, 236.0, 18.0, 55.0, 92.0, 129.0, 166.0, 203.0, 240.0, 22.0, 59.0, 96.0, 133.0, 170.0, 207.0, 244.0, 26.0, 63.0, 100.0, 137.0, 174.0, 211.0, 248.0, 30.0, 67.0, 104.0, 141.0, 178.0, 215.0, 252.0, 34.0, 71.0, 108.0, 145.0, 182.0, 219.0, 1.0, 38.0, 75.0, 112.0, 149.0, 186.0, 223.0, 5.0, 42.0, 79.0, 116.0, 153.0, 190.0, 227.0, 9.0, 46.0, 83.0, 120.0, 157.0, 194.0, 231.0, 13.0, 50.0, 87.0, 124.0, 161.0, 198.0, 235.0, 17.0, 54.0, 91.0, 128.0, 165.0, 202.0, 239.0, 21.0, 58.0, 95.0, 132.0, 169.0, 206.0, 243.0, 25.0, 62.0, 99.0, 136.0, 173.0, 210.0, 247.0, 29.0, 66.0, 103.0, 140.0, 177.0, 214.0, 251.0, 33.0, 70.0, 107.0, 144.0, 181.0, 218.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 256, 1] holds 256 scalar slices along axis -2: integers 0 through 254 once each, plus a repeated 0, producing 255 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n256_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 256, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n256_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 255, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 212.0, 213.0, 214.0, 215.0, 216.0, 217.0, 218.0, 219.0, 220.0, 221.0, 222.0, 223.0, 224.0, 225.0, 226.0, 227.0, 228.0, 229.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 236.0, 237.0, 238.0, 239.0, 240.0, 241.0, 242.0, 243.0, 244.0, 245.0, 246.0, 247.0, 248.0, 249.0, 250.0, 251.0, 252.0, 253.0, 254.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 256, 1] holds 256 scalar slices along axis -2: integers 0 through 254 once each, plus a repeated 0, producing 255 unique slices in ascending order." } }, { "name": "scalar_hash_scan_float32_n257_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 257, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 256, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 37.0, 74.0, 111.0, 148.0, 185.0, 222.0, 3.0, 40.0, 77.0, 114.0, 151.0, 188.0, 225.0, 6.0, 43.0, 80.0, 117.0, 154.0, 191.0, 228.0, 9.0, 46.0, 83.0, 120.0, 157.0, 194.0, 231.0, 12.0, 49.0, 86.0, 123.0, 160.0, 197.0, 234.0, 15.0, 52.0, 89.0, 126.0, 163.0, 200.0, 237.0, 18.0, 55.0, 92.0, 129.0, 166.0, 203.0, 240.0, 21.0, 58.0, 95.0, 132.0, 169.0, 206.0, 243.0, 24.0, 61.0, 98.0, 135.0, 172.0, 209.0, 246.0, 27.0, 64.0, 101.0, 138.0, 175.0, 212.0, 249.0, 30.0, 67.0, 104.0, 141.0, 178.0, 215.0, 252.0, 33.0, 70.0, 107.0, 144.0, 181.0, 218.0, 255.0, 36.0, 73.0, 110.0, 147.0, 184.0, 221.0, 2.0, 39.0, 76.0, 113.0, 150.0, 187.0, 224.0, 5.0, 42.0, 79.0, 116.0, 153.0, 190.0, 227.0, 8.0, 45.0, 82.0, 119.0, 156.0, 193.0, 230.0, 11.0, 48.0, 85.0, 122.0, 159.0, 196.0, 233.0, 14.0, 51.0, 88.0, 125.0, 162.0, 199.0, 236.0, 17.0, 54.0, 91.0, 128.0, 165.0, 202.0, 239.0, 20.0, 57.0, 94.0, 131.0, 168.0, 205.0, 242.0, 23.0, 60.0, 97.0, 134.0, 171.0, 208.0, 245.0, 26.0, 63.0, 100.0, 137.0, 174.0, 211.0, 248.0, 29.0, 66.0, 103.0, 140.0, 177.0, 214.0, 251.0, 32.0, 69.0, 106.0, 143.0, 180.0, 217.0, 254.0, 35.0, 72.0, 109.0, 146.0, 183.0, 220.0, 1.0, 38.0, 75.0, 112.0, 149.0, 186.0, 223.0, 4.0, 41.0, 78.0, 115.0, 152.0, 189.0, 226.0, 7.0, 44.0, 81.0, 118.0, 155.0, 192.0, 229.0, 10.0, 47.0, 84.0, 121.0, 158.0, 195.0, 232.0, 13.0, 50.0, 87.0, 124.0, 161.0, 198.0, 235.0, 16.0, 53.0, 90.0, 127.0, 164.0, 201.0, 238.0, 19.0, 56.0, 93.0, 130.0, 167.0, 204.0, 241.0, 22.0, 59.0, 96.0, 133.0, 170.0, 207.0, 244.0, 25.0, 62.0, 99.0, 136.0, 173.0, 210.0, 247.0, 28.0, 65.0, 102.0, 139.0, 176.0, 213.0, 250.0, 31.0, 68.0, 105.0, 142.0, 179.0, 216.0, 253.0, 34.0, 71.0, 108.0, 145.0, 182.0, 219.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 257, 1] holds 257 scalar slices along axis -2: integers 0 through 255 once each, plus a repeated 0, producing 256 unique slices in first-occurrence order." } }, { "name": "scalar_hash_scan_float32_n257_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 256, "SORT_WORKGROUP": 256, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 257, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_scan_float32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 256, 1], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 212.0, 213.0, 214.0, 215.0, 216.0, 217.0, 218.0, 219.0, 220.0, 221.0, 222.0, 223.0, 224.0, 225.0, 226.0, 227.0, 228.0, 229.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 236.0, 237.0, 238.0, 239.0, 240.0, 241.0, 242.0, 243.0, 244.0, 245.0, 246.0, 247.0, 248.0, 249.0, 250.0, 251.0, 252.0, 253.0, 254.0, 255.0] } } }, "provenance": { "notes": "A rank-4 float32 tensor of shape [1, 1, 257, 1] holds 257 scalar slices along axis -2: integers 0 through 255 once each, plus a repeated 0, producing 256 unique slices in ascending order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1023_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1023, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1023_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [5, 3, 7, 1] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1023, 1] holds 1023 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in first-occurrence order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1023_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1023, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1023_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 5, 7] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1023, 1] holds 1023 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in ascending order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1024_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1024, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1024_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [5, 3, 7, 1] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1024, 1] holds 1024 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in first-occurrence order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1024_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1024, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1024_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 5, 7] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1024, 1] holds 1024 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in ascending order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1025_sorted0", "attrs": { "axis": -2, "sorted": 0 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1025, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [5, 3, 7, 1] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1025, 1] holds 1025 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in first-occurrence order." } }, { "name": "scalar_hash_prefix_chunks_sparse_heads_n1025_sorted1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 512, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 1025, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_prefix_chunks_sparse_heads_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 1], "tolerance": 0, "data": { "kind": "values", "values": [1, 3, 5, 7] } } }, "provenance": { "notes": "A rank-4 int32 tensor of shape [1, 1, 1025, 1] holds 1025 axis=-2 scalar slices, all value 5 except singletons 3, 7, and 1 at positions 32, 64, and the final index; the four distinct values yield a 4-element output in ascending order." } }, { "name": "scalar_hash_hybrid_tile1", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 1, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 35, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_hybrid_tile1_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 6, 1], "tolerance": 0, "data": { "kind": "values", "values": [-1, 0, 2, 5, 7, 9] } } }, "provenance": { "notes": "A rank-4 int32 [1, 1, 35, 1] tensor holds 35 axis=-2 scalar slices cycling [7, 2, 7, 5, -1, 0, 9]; the repeated 7 collapses, giving 6 unique slices in ascending order." } }, { "name": "scalar_hash_hybrid_tile2", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 2, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 35, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_hybrid_tile1_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 6, 1], "tolerance": 0, "data": { "kind": "values", "values": [-1, 0, 2, 5, 7, 9] } } }, "provenance": { "notes": "A rank-4 int32 [1, 1, 35, 1] tensor holds 35 axis=-2 scalar slices cycling [7, 2, 7, 5, -1, 0, 9]; the repeated 7 collapses, giving 6 unique slices in ascending order." } }, { "name": "scalar_hash_hybrid_tile4", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 4, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 35, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_hybrid_tile1_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 6, 1], "tolerance": 0, "data": { "kind": "values", "values": [-1, 0, 2, 5, 7, 9] } } }, "provenance": { "notes": "A rank-4 int32 [1, 1, 35, 1] tensor holds 35 axis=-2 scalar slices cycling [7, 2, 7, 5, -1, 0, 9]; the repeated 7 collapses, giving 6 unique slices in ascending order." } }, { "name": "scalar_hash_hybrid_tile32", "attrs": { "axis": -2, "sorted": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32, "GLOBAL_SORT_TILE": 32, "PARALLEL_SCAN_MIN_CHUNKS": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1, 1, 35, 1], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/scalar_hash_hybrid_tile1_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 6, 1], "tolerance": 0, "data": { "kind": "values", "values": [-1, 0, 2, 5, 7, 9] } } }, "provenance": { "notes": "A rank-4 int32 [1, 1, 35, 1] tensor holds 35 axis=-2 scalar slices cycling [7, 2, 7, 5, -1, 0, 9]; the repeated 7 collapses, giving 6 unique slices in ascending order." } }, { "name": "scalar_hash_y_float32_axis_scalar_later_nan_sorted0", "attrs": { "sorted": 0, "axis": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0] } } }, "provenance": { "notes": "A [1, 3, 1] float32 tensor's axis=1 holds scalar slices 5.0, NaN, 1.0; the NaN does not introduce a new unique value, leaving a 2-slice first-occurrence output of [5.0, 1.0]." } }, { "name": "scalar_hash_y_float32_axis_scalar_later_nan_sorted1", "attrs": { "sorted": 1, "axis": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 5.0] } } }, "provenance": { "notes": "A [1, 3, 1] float32 tensor's axis=1 holds scalar slices 5.0, NaN, 1.0; the NaN does not introduce a new unique value, leaving a 2-slice ascending output of [1.0, 5.0]." } }, { "name": "scalar_hash_y_float16_axis_scalar_later_nan_sorted0", "attrs": { "sorted": 0, "axis": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 3, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 1], "tolerance": 0, "data": { "kind": "values", "values": [5.0, 1.0] } } }, "provenance": { "notes": "A [1, 3, 1] float16 tensor's axis=1 holds scalar slices 5.0, NaN, 1.0; the NaN does not introduce a new unique value, leaving a 2-slice first-occurrence output of [5.0, 1.0]." } }, { "name": "scalar_hash_y_float16_axis_scalar_later_nan_sorted1", "attrs": { "sorted": 1, "axis": 1 }, "tunables": { "LOCAL_SORT_CROSSOVER": 1, "HASH_MIN_INPUT": 1, "WORKGROUP_SIZE": 32, "SORT_WORKGROUP": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 3, 1], "data": { "kind": "values", "values": [5.0, "NaN", 1.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 1], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 5.0] } } }, "provenance": { "notes": "A [1, 3, 1] float16 tensor's axis=1 holds scalar slices 5.0, NaN, 1.0; the NaN does not introduce a new unique value, leaving a 2-slice ascending output of [1.0, 5.0]." } }, { "name": "single_class_axis1_outer2_inner3_mask0", "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 5, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/single_class_axis1_outer2_inner3_mask0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask1", "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 5, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/single_class_axis1_outer2_inner3_mask0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask2", "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask3", "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask4", "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 5, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/single_class_axis1_outer2_inner3_mask0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [5] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask5", "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 5, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/single_class_axis1_outer2_inner3_mask0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [5] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask6", "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [1] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "single_class_axis1_outer2_inner3_mask7", "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "data": { "kind": "values", "values": [7.0, 2.0, 5.0, 11.0, 3.0, 2.0] }, "tolerance": 0 }, "indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 }, "inverse_indices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [0] }, "tolerance": 0 }, "counts": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [1] }, "tolerance": 0 } }, "provenance": { "notes": "The required one-class output extent proves every full axis slice belongs to its first representative; nonuniform coordinates check outer/inner copy indexing." } }, { "name": "scalar_f32_metadata_mask7_sorted0_n16385_u13", "attrs": { "axis": 1, "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 16385, 1], "data": { "kind": "cycle", "values": [5.0, 2.0, 7.0, 1.0, 3.0, 11.0, 0.0, 4.0, 6.0, 8.0, 9.0, 10.0, 12.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 13, 1] }, "indices": { "dtype": "uint32", "shape": [13] }, "inverse_indices": { "dtype": "uint32", "shape": [16385] }, "counts": { "dtype": "uint32", "shape": [13] } }, "provenance": { "notes": "A [1, 16385, 1] float32 tensor's axis=1 holds 16,385 scalar slices cycling the 13 integers 0 through 12 in shuffled order; the indices, inverse_indices and counts outputs are checked for the resulting 13-slice first-occurrence output." } }, { "name": "scalar_f32_metadata_mask7_sorted1_n16385_u13", "attrs": { "axis": 1, "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 16385, 1], "data": { "kind": "cycle", "values": [5.0, 2.0, 7.0, 1.0, 3.0, 11.0, 0.0, 4.0, 6.0, 8.0, 9.0, 10.0, 12.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 13, 1] }, "indices": { "dtype": "uint32", "shape": [13] }, "inverse_indices": { "dtype": "uint32", "shape": [16385] }, "counts": { "dtype": "uint32", "shape": [13] } }, "provenance": { "notes": "A [1, 16385, 1] float32 tensor's axis=1 holds 16,385 scalar slices cycling the 13 integers 0 through 12 in shuffled order; the indices, inverse_indices and counts outputs are checked for the resulting 13-slice ascending output." } }, { "name": "single_class_f32_n65537_mask7", "inputs": { "x": { "dtype": "float32", "shape": [65537], "data": { "kind": "constant", "value": 3.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1] }, "indices": { "dtype": "uint32", "shape": [1] }, "inverse_indices": { "dtype": "uint32", "shape": [65537] }, "counts": { "dtype": "uint32", "shape": [1] } }, "provenance": { "notes": "A 65,537-element float32 input is entirely the constant 3.0, collapsing to a single unique value; indices, inverse_indices, and counts outputs all reflect that one class of 65,537 occurrences." } }, { "name": "flat_global_crossover_i32_n2049_u2049_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [2049], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/flat_global_crossover_int32_n4097_u2049_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049], "tolerance": 0 } }, "provenance": { "notes": "A 2,049-element int32 input is a descending permutation of integers 0 through 2,048 with no duplicates; the first-occurrence output reproduces that same descending order across all 2,049 values." } }, { "name": "flat_global_crossover_i32_n2049_u2049_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [2049], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/flat_global_crossover_int32_n4097_u2049_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049], "tolerance": 0 } }, "provenance": { "notes": "A 2,049-element int32 input is a descending permutation of integers 0 through 2,048 with no duplicates; the ascending output reorders the same 2,049 distinct values from 0 to 2,048." } }, { "name": "flat_global_crossover_int32_n4097_u2049_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [4097], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/flat_global_crossover_int32_n4097_u2049_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049], "tolerance": 0 } }, "provenance": { "notes": "A 4,097-element int32 input repeats a descending 0-to-2,048 permutation, then repeats its first 2,048 values again; value 0 appears once and the other 2,048 values appear twice, giving a 2,049-value first-occurrence output in the original descending order." } }, { "name": "flat_global_crossover_int32_n4097_u2049_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [4097], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/flat_global_crossover_int32_n4097_u2049_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2049], "tolerance": 0 } }, "provenance": { "notes": "A 4,097-element int32 input repeats a descending 0-to-2,048 permutation, then repeats its first 2,048 values again; value 0 appears once and the other 2,048 values appear twice, giving a 2,049-value ascending output from 0 to 2,048." } }, { "name": "output_span_int32_n257_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [257], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [257], "tolerance": 0 } }, "provenance": { "notes": "A 257-element int32 input is a descending permutation of 1 through 257 with no duplicates; the first-occurrence output reproduces the same 257 values in that descending order." } }, { "name": "output_span_int32_n257_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [257], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [257], "tolerance": 0 } }, "provenance": { "notes": "A 257-element int32 input is a descending permutation of 1 through 257 with no duplicates; the ascending output reorders the same 257 values from 1 to 257." } }, { "name": "output_span_float32_n257_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [257], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [257], "tolerance": 0 } }, "provenance": { "notes": "A 257-element float32 input is a descending permutation of 1 through 257 with no duplicates; the first-occurrence output reproduces the same 257 values in that descending order." } }, { "name": "output_span_float32_n257_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [257], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n257_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [257], "tolerance": 0 } }, "provenance": { "notes": "A 257-element float32 input is a descending permutation of 1 through 257 with no duplicates; the ascending output reorders the same 257 values from 1 to 257." } }, { "name": "output_span_int32_n1025_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [1025], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1025], "tolerance": 0 } }, "provenance": { "notes": "A 1025-element int32 input is a descending permutation of 1 through 1025 with no duplicates; the first-occurrence output reproduces the same 1025 values in that descending order." } }, { "name": "output_span_int32_n1025_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [1025], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1025], "tolerance": 0 } }, "provenance": { "notes": "A 1025-element int32 input is a descending permutation of 1 through 1025 with no duplicates; the ascending output reorders the same 1025 values from 1 to 1025." } }, { "name": "output_span_float32_n1025_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [1025], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1025], "tolerance": 0 } }, "provenance": { "notes": "A 1025-element float32 input is a descending permutation of 1 through 1025 with no duplicates; the first-occurrence output reproduces the same 1025 values in that descending order." } }, { "name": "output_span_float32_n1025_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [1025], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n1025_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1025], "tolerance": 0 } }, "provenance": { "notes": "A 1025-element float32 input is a descending permutation of 1 through 1025 with no duplicates; the ascending output reorders the same 1025 values from 1 to 1025." } }, { "name": "output_span_int32_n2048_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "int32", "shape": [2048], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n2048_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2048], "tolerance": 0 } }, "provenance": { "notes": "A 2048-element int32 input is a descending permutation of 1 through 2048 with no duplicates; the first-occurrence output reproduces the same 2048 values in that descending order." } }, { "name": "output_span_int32_n2048_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "int32", "shape": [2048], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/output_span_int32_n2048_sorted0_input_x" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2048], "tolerance": 0 } }, "provenance": { "notes": "A 2048-element int32 input is a descending permutation of 1 through 2048 with no duplicates; the ascending output reorders the same 2048 values from 1 to 2048." } }, { "name": "float_hash_work_boundary_float32_n15_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [15], "data": { "kind": "linspace", "start": 14.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [15], "tolerance": 0 } }, "provenance": { "notes": "15 distinct float32 values descending from 14 to 0; sorted=0 must keep their descending first-occurrence order." } }, { "name": "float_hash_work_boundary_float32_n15_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [15], "data": { "kind": "linspace", "start": 14.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [15], "tolerance": 0 } }, "provenance": { "notes": "15 distinct float32 values descending from 14 to 0; sorted=1 must return them in ascending order." } }, { "name": "float_hash_work_boundary_float32_n16_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [16], "data": { "kind": "linspace", "start": 15.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [16], "tolerance": 0 } }, "provenance": { "notes": "16 distinct float32 values descending from 15 to 0; sorted=0 must keep their descending first-occurrence order." } }, { "name": "float_hash_work_boundary_float32_n16_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float32", "shape": [16], "data": { "kind": "linspace", "start": 15.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [16], "tolerance": 0 } }, "provenance": { "notes": "16 distinct float32 values descending from 15 to 0; sorted=1 must return them in ascending order." } }, { "name": "float_hash_work_boundary_float16_n15_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [15], "data": { "kind": "linspace", "start": 14.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float16", "shape": [15], "tolerance": 0 } }, "provenance": { "notes": "15 distinct float16 values descending from 14 to 0; sorted=0 must keep their descending first-occurrence order." } }, { "name": "float_hash_work_boundary_float16_n15_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [15], "data": { "kind": "linspace", "start": 14.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float16", "shape": [15], "tolerance": 0 } }, "provenance": { "notes": "15 distinct float16 values descending from 14 to 0; sorted=1 must return them in ascending order." } }, { "name": "float_hash_work_boundary_float16_n16_sorted0", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float16", "shape": [16], "data": { "kind": "linspace", "start": 15.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float16", "shape": [16], "tolerance": 0 } }, "provenance": { "notes": "16 distinct float16 values descending from 15 to 0; sorted=0 must keep their descending first-occurrence order." } }, { "name": "float_hash_work_boundary_float16_n16_sorted1", "attrs": { "sorted": 1 }, "inputs": { "x": { "dtype": "float16", "shape": [16], "data": { "kind": "linspace", "start": 15.0, "end": 0.0 } } }, "outputs": { "y": { "dtype": "float16", "shape": [16], "tolerance": 0 } }, "provenance": { "notes": "16 distinct float16 values descending from 15 to 0; sorted=1 must return them in ascending order." } }, { "name": "axis_merge_float32_outer1_u15_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [67, 3], "data": { "kind": "values", "values": [0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0, -0.0, -0.0, 8.0, 0.0, 0.0, 7.0, -0.0, -0.0, 6.0, 0.0, 0.0, 5.0, -0.0, -0.0, 4.0, 0.0, 0.0, 3.0, -0.0, -0.0, 2.0, 0.0, 0.0, 1.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0, -0.0, -0.0, 8.0, 0.0, 0.0, 7.0, -0.0, -0.0, 6.0, 0.0, 0.0, 5.0, -0.0, -0.0, 4.0, 0.0, 0.0, 3.0, -0.0, -0.0, 2.0, 0.0, 0.0, 1.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [15, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float32_outer1_u16_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [67, 3], "data": { "kind": "values", "values": [0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [16, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float32_outer1_u17_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [67, 3], "data": { "kind": "values", "values": [0.0, 0.0, 17.0, -0.0, -0.0, 16.0, 0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0, -0.0, -0.0, 8.0, 0.0, 0.0, 7.0, -0.0, -0.0, 6.0, 0.0, 0.0, 5.0, -0.0, -0.0, 4.0, 0.0, 0.0, 3.0, -0.0, -0.0, 2.0, 0.0, 0.0, 1.0, -0.0, -0.0, 17.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 17.0, -0.0, -0.0, 16.0, 0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0, -0.0, -0.0, 8.0, 0.0, 0.0, 7.0, -0.0, -0.0, 6.0, 0.0, 0.0, 5.0, -0.0, -0.0, 4.0, 0.0, 0.0, 3.0, -0.0, -0.0, 2.0, 0.0, 0.0, 1.0, -0.0, -0.0, 17.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [17, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float16_outer1_u33_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [67, 3], "data": { "kind": "values", "values": [0.0, 0.0, 33.0, -0.0, -0.0, 32.0, 0.0, 0.0, 31.0, -0.0, -0.0, 30.0, 0.0, 0.0, 29.0, -0.0, -0.0, 28.0, 0.0, 0.0, 27.0, -0.0, -0.0, 26.0, 0.0, 0.0, 25.0, -0.0, -0.0, 24.0, 0.0, 0.0, 23.0, -0.0, -0.0, 22.0, 0.0, 0.0, 21.0, -0.0, -0.0, 20.0, 0.0, 0.0, 19.0, -0.0, -0.0, 18.0, 0.0, 0.0, 17.0, -0.0, -0.0, 16.0, 0.0, 0.0, 15.0, -0.0, -0.0, 14.0, 0.0, 0.0, 13.0, -0.0, -0.0, 12.0, 0.0, 0.0, 11.0, -0.0, -0.0, 10.0, 0.0, 0.0, 9.0, -0.0, -0.0, 8.0, 0.0, 0.0, 7.0, -0.0, -0.0, 6.0, 0.0, 0.0, 5.0, -0.0, -0.0, 4.0, 0.0, 0.0, 3.0, -0.0, -0.0, 2.0, 0.0, 0.0, 1.0, -0.0, -0.0, 33.0, 0.0, 0.0, 32.0, -0.0, -0.0, 31.0, 0.0, 0.0, 30.0, -0.0, -0.0, 29.0, 0.0, 0.0, 28.0, -0.0, -0.0, 27.0, 0.0, 0.0, 26.0, -0.0, -0.0, 25.0, 0.0, 0.0, 24.0, -0.0, -0.0, 23.0, 0.0, 0.0, 22.0, -0.0, -0.0, 21.0, 0.0, 0.0, 20.0, -0.0, -0.0, 19.0, 0.0, 0.0, 18.0, -0.0, -0.0, 17.0, 0.0, 0.0, 16.0, -0.0, -0.0, 15.0, 0.0, 0.0, 14.0, -0.0, -0.0, 13.0, 0.0, 0.0, 12.0, -0.0, -0.0, 11.0, 0.0, 0.0, 10.0, -0.0, -0.0, 9.0, 0.0, 0.0, 8.0, -0.0, -0.0, 7.0, 0.0, 0.0, 6.0, -0.0, -0.0, 5.0, 0.0, 0.0, 4.0, -0.0, -0.0, 3.0, 0.0, 0.0, 2.0, -0.0, -0.0, 1.0, 0.0, 0.0, 33.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [33, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_int32_outer1_u33_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "int32", "shape": [67, 3], "data": { "kind": "values", "values": [0, 0, 33, 0, 0, 32, 0, 0, 31, 0, 0, 30, 0, 0, 29, 0, 0, 28, 0, 0, 27, 0, 0, 26, 0, 0, 25, 0, 0, 24, 0, 0, 23, 0, 0, 22, 0, 0, 21, 0, 0, 20, 0, 0, 19, 0, 0, 18, 0, 0, 17, 0, 0, 16, 0, 0, 15, 0, 0, 14, 0, 0, 13, 0, 0, 12, 0, 0, 11, 0, 0, 10, 0, 0, 9, 0, 0, 8, 0, 0, 7, 0, 0, 6, 0, 0, 5, 0, 0, 4, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 33, 0, 0, 32, 0, 0, 31, 0, 0, 30, 0, 0, 29, 0, 0, 28, 0, 0, 27, 0, 0, 26, 0, 0, 25, 0, 0, 24, 0, 0, 23, 0, 0, 22, 0, 0, 21, 0, 0, 20, 0, 0, 19, 0, 0, 18, 0, 0, 17, 0, 0, 16, 0, 0, 15, 0, 0, 14, 0, 0, 13, 0, 0, 12, 0, 0, 11, 0, 0, 10, 0, 0, 9, 0, 0, 8, 0, 0, 7, 0, 0, 6, 0, 0, 5, 0, 0, 4, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 33] } } }, "outputs": { "y": { "dtype": "int32", "shape": [33, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_uint32_outer1_u65_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "uint32", "shape": [67, 3], "data": { "kind": "values", "values": [0, 0, 65, 0, 0, 64, 0, 0, 63, 0, 0, 62, 0, 0, 61, 0, 0, 60, 0, 0, 59, 0, 0, 58, 0, 0, 57, 0, 0, 56, 0, 0, 55, 0, 0, 54, 0, 0, 53, 0, 0, 52, 0, 0, 51, 0, 0, 50, 0, 0, 49, 0, 0, 48, 0, 0, 47, 0, 0, 46, 0, 0, 45, 0, 0, 44, 0, 0, 43, 0, 0, 42, 0, 0, 41, 0, 0, 40, 0, 0, 39, 0, 0, 38, 0, 0, 37, 0, 0, 36, 0, 0, 35, 0, 0, 34, 0, 0, 33, 0, 0, 32, 0, 0, 31, 0, 0, 30, 0, 0, 29, 0, 0, 28, 0, 0, 27, 0, 0, 26, 0, 0, 25, 0, 0, 24, 0, 0, 23, 0, 0, 22, 0, 0, 21, 0, 0, 20, 0, 0, 19, 0, 0, 18, 0, 0, 17, 0, 0, 16, 0, 0, 15, 0, 0, 14, 0, 0, 13, 0, 0, 12, 0, 0, 11, 0, 0, 10, 0, 0, 9, 0, 0, 8, 0, 0, 7, 0, 0, 6, 0, 0, 5, 0, 0, 4, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 65, 0, 0, 64] } } }, "outputs": { "y": { "dtype": "uint32", "shape": [65, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float32_outer3_u33_tile16_tied_prefix", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 1, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 67, 5], "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, -0.0, -0.0, -0.0, -0.0, 32.0, 0.0, 0.0, 0.0, 0.0, 31.0, -0.0, -0.0, -0.0, -0.0, 30.0, 0.0, 0.0, 0.0, 0.0, 29.0, -0.0, -0.0, -0.0, -0.0, 28.0, 0.0, 0.0, 0.0, 0.0, 27.0, -0.0, -0.0, -0.0, -0.0, 26.0, 0.0, 0.0, 0.0, 0.0, 25.0, -0.0, -0.0, -0.0, -0.0, 24.0, 0.0, 0.0, 0.0, 0.0, 23.0, -0.0, -0.0, -0.0, -0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 21.0, -0.0, -0.0, -0.0, -0.0, 20.0, 0.0, 0.0, 0.0, 0.0, 19.0, -0.0, -0.0, -0.0, -0.0, 18.0, 0.0, 0.0, 0.0, 0.0, 17.0, -0.0, -0.0, -0.0, -0.0, 16.0, 0.0, 0.0, 0.0, 0.0, 15.0, -0.0, -0.0, -0.0, -0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 13.0, -0.0, -0.0, -0.0, -0.0, 12.0, 0.0, 0.0, 0.0, 0.0, 11.0, -0.0, -0.0, -0.0, -0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 9.0, -0.0, -0.0, -0.0, -0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 7.0, -0.0, -0.0, -0.0, -0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 5.0, -0.0, -0.0, -0.0, -0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 3.0, -0.0, -0.0, -0.0, -0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, -0.0, -0.0, -0.0, -0.0, 33.0, 0.0, 0.0, 0.0, 0.0, 32.0, -0.0, -0.0, -0.0, -0.0, 31.0, 0.0, 0.0, 0.0, 0.0, 30.0, -0.0, -0.0, -0.0, -0.0, 29.0, 0.0, 0.0, 0.0, 0.0, 28.0, -0.0, -0.0, -0.0, -0.0, 27.0, 0.0, 0.0, 0.0, 0.0, 26.0, -0.0, -0.0, -0.0, -0.0, 25.0, 0.0, 0.0, 0.0, 0.0, 24.0, -0.0, -0.0, -0.0, -0.0, 23.0, 0.0, 0.0, 0.0, 0.0, 22.0, -0.0, -0.0, -0.0, -0.0, 21.0, 0.0, 0.0, 0.0, 0.0, 20.0, -0.0, -0.0, -0.0, -0.0, 19.0, 0.0, 0.0, 0.0, 0.0, 18.0, -0.0, -0.0, -0.0, -0.0, 17.0, 0.0, 0.0, 0.0, 0.0, 16.0, -0.0, -0.0, -0.0, -0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 14.0, -0.0, -0.0, -0.0, -0.0, 13.0, 0.0, 0.0, 0.0, 0.0, 12.0, -0.0, -0.0, -0.0, -0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 10.0, -0.0, -0.0, -0.0, -0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 8.0, -0.0, -0.0, -0.0, -0.0, 7.0, 0.0, 0.0, 0.0, 0.0, 6.0, -0.0, -0.0, -0.0, -0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 4.0, -0.0, -0.0, -0.0, -0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, -0.0, -0.0, -0.0, -0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 33.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 33, 5], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float32_outer1_u17_tile16_nan_fallback", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float32", "shape": [67, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_merge_float32_outer1_u17_tile16_nan_fallback_input_x" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [17, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "axis_merge_float16_outer1_u17_tile16_nan_fallback", "provenance": { "notes": "Exact tied-prefix ordering with duplicate rows, padding and non-power-of-two dimensions. Odd and even merge counts and the single-tile case are covered. Floating rows include signed zero." }, "attrs": { "axis": 0, "sorted": 1 }, "tunables": { "GLOBAL_SORT_TILE": 16, "LOCAL_SORT_CROSSOVER": 64, "WORKGROUP_SIZE": 32 }, "inputs": { "x": { "dtype": "float16", "shape": [67, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/axis_merge_float32_outer1_u17_tile16_nan_fallback_input_x" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [17, 3], "tolerance": 0, "relTolerance": 0 } } }, { "name": "float32_local_hash_long_tail_sorted", "provenance": { "notes": "More than one full workgroup of duplicate float keys, including a partial final workgroup, exercises workgroup-local publication into the global hash table." }, "inputs": { "x": { "dtype": "float32", "shape": [32769], "data": { "kind": "cycle", "values": [-4.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 8.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [8], "tolerance": 0, "relTolerance": 0 } } }, { "name": "float32_local_hash_long_tail_unsorted", "attrs": { "sorted": 0 }, "inputs": { "x": { "dtype": "float32", "shape": [32769], "data": { "kind": "cycle", "values": [-4.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 8.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [8], "tolerance": 0, "relTolerance": 0 } } } ] }