)]}'
{
  "commit": "f3b46fb7d4b8f5fb3fc459860038f0ed8b02bba5",
  "tree": "e4f0801f136f2dedc9e87b3b27de9619e96feb84",
  "parents": [
    "808338ea5aaf5f4c36a7e7d6af8e67a9f98b2bbc"
  ],
  "author": {
    "name": "Alexis Placet",
    "email": "placet.alexis@protonmail.com",
    "time": "Mon Sep 21 12:35:41 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 21 12:35:41 2026 +0200"
  },
  "message": "GH-49677 [Python][C++][Compute] Add search sorted compute kernel (#49679)\n\n### Rationale for this change\nAdd the implemenation of the search sorted compute kernel based on the numpy function: https://numpy.org/doc/stable/reference/generated/numpy.searchsorted.html\n\n### What changes are included in this PR?\nImplementation of the C++ kernel + Python API.\nTests in C++ and Python\n\n### Are these changes tested?\nYes\n\n### Are there any user-facing changes?\nNo breaking change\n\n* GitHub Issue: #49677\n\nLead-authored-by: Alexis Placet \u003c2400067+Alex-PLACET@users.noreply.github.com\u003e\nCo-authored-by: Alexis Placet \u003calexis.placet.dev@pm.me\u003e\nCo-authored-by: Antoine Pitrou \u003cantoine@python.org\u003e\nCo-authored-by: Copilot \u003ccopilot@github.com\u003e\nSigned-off-by: Antoine Pitrou \u003cantoine@python.org\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f6671fe9597fa8660040f44d8a2b83524e197164",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/CMakeLists.txt",
      "new_id": "d2b3eac7792e3818875f07056d5f128c35da3c54",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "1266819bdb311fba93293680ac29ae97e174a1e6",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/array/array_binary.cc",
      "new_id": "e0f1938687d6a28da08f688a47ec389dce91d270",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/array/array_binary.cc"
    },
    {
      "type": "modify",
      "old_id": "57b2eda69add0932da4e59226a4e5839e7218216",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/api_vector.cc",
      "new_id": "048b6a8fe7b8e6aac2fdba64a99873f1e6b79012",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/api_vector.cc"
    },
    {
      "type": "modify",
      "old_id": "2de7137cacdbd10b2bea64346b0e6a7a2c021850",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/api_vector.h",
      "new_id": "b55ed9e7be4922208fb6a3a3ee8693b8e71ed37f",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/api_vector.h"
    },
    {
      "type": "modify",
      "old_id": "d88835da04ac9cc12466c7a752213735b0ebd53b",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/initialize.cc",
      "new_id": "ec531e8d490f692cca53a4cd9738f4eeeecc1f7d",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/initialize.cc"
    },
    {
      "type": "modify",
      "old_id": "15955b5ef883137472066087454bbda1b9d1a2bf",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/kernels/CMakeLists.txt",
      "new_id": "d07356aa6300f6dcee8ca1c066b6a5242572d475",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "fb682443783cfdbb54d9b6cc811dbc96549d6433",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/kernels/meson.build",
      "new_id": "0a8c16f9766bc37c64d1aea4c04b166a83622a8d",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/meson.build"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e2e90efa2f38c0d64a4b62662a6d960985764a84",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/vector_search_sorted.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1caf79afdbbb7c0ddee0fea64d203f4926a7691a",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/vector_search_sorted_benchmark.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "00144db318c752052cd6168354cd04e3f13cd5c0",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/vector_search_sorted_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c19acc582cdef87864d0e628815c178b7512d250",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/kernels/vector_sort_internal.h",
      "new_id": "8bb10efa2d75ffefac88ac4421acd8c19cf031ba",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/kernels/vector_sort_internal.h"
    },
    {
      "type": "modify",
      "old_id": "5b9d7f8d608fadd55bc23bfbf4ba3fe97899f46b",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/compute/registry_internal.h",
      "new_id": "d457f6fb95c00d684707d6860d60f1519e196b62",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/compute/registry_internal.h"
    },
    {
      "type": "modify",
      "old_id": "fea26ef4e45279ef475bf11dc4d64a0ce3ae8d49",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/meson.build",
      "new_id": "418165e1ee62a4bc90c5cab5ffb2ffc1e90f7518",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/meson.build"
    },
    {
      "type": "modify",
      "old_id": "ce73b3f37419cc4cbb8d9c3314a584efc081af4e",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/testing/random.cc",
      "new_id": "db7a60e4400fa4a7b06bd303155aa3e920fb49c3",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/testing/random.cc"
    },
    {
      "type": "modify",
      "old_id": "bc213073a55fa64de048a6d0c9b9944fc108eee9",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/testing/random.h",
      "new_id": "a953547c3ca806b4a02a185400a3579daf8962bf",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/testing/random.h"
    },
    {
      "type": "modify",
      "old_id": "279fb6dc91fa252def589d1121116dd6454c04ba",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/testing/random_test.cc",
      "new_id": "e1fddbd49df5561c7b50970854cb4103d0493fa4",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/testing/random_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a57083ce7f8df4257f274575e5e26e65f257543f",
      "old_mode": 33188,
      "old_path": "cpp/src/arrow/util/math_internal.h",
      "new_id": "0375fc59a341aaea63ce6b33361eece1633f4e58",
      "new_mode": 33188,
      "new_path": "cpp/src/arrow/util/math_internal.h"
    },
    {
      "type": "modify",
      "old_id": "1e067c52188d8215d5d65388e7f2f3b4f02ad53b",
      "old_mode": 33188,
      "old_path": "docs/source/cpp/compute.rst",
      "new_id": "f24fea20a9d832bfd16f2f38b62e4071dfcd68bf",
      "new_mode": 33188,
      "new_path": "docs/source/cpp/compute.rst"
    },
    {
      "type": "modify",
      "old_id": "da237d99fd5c0cee58b5ac7ef38c79a4cb9f329d",
      "old_mode": 33188,
      "old_path": "python/pyarrow/_compute.pyx",
      "new_id": "1c0c779f6037cb7db8c2d04ff8a8e0da0f6e18ef",
      "new_mode": 33188,
      "new_path": "python/pyarrow/_compute.pyx"
    },
    {
      "type": "modify",
      "old_id": "079f00db7d92afd1b2f840046eb01c618832e762",
      "old_mode": 33188,
      "old_path": "python/pyarrow/_compute_docstrings.py",
      "new_id": "e5189f063b7f04a8b9865470fbf60c0a4bb6f853",
      "new_mode": 33188,
      "new_path": "python/pyarrow/_compute_docstrings.py"
    },
    {
      "type": "modify",
      "old_id": "477ad7d806506909134f9771e5781ff8e1494637",
      "old_mode": 33188,
      "old_path": "python/pyarrow/compute.py",
      "new_id": "d34eccdedbd580cf264808b5223109b661c8c589",
      "new_mode": 33188,
      "new_path": "python/pyarrow/compute.py"
    },
    {
      "type": "modify",
      "old_id": "16784b51ecc78dd723c3ba71a8aff25d1d63ca54",
      "old_mode": 33188,
      "old_path": "python/pyarrow/includes/libarrow.pxd",
      "new_id": "455d11d39e84f42b857641fe7bd5863ad69e143e",
      "new_mode": 33188,
      "new_path": "python/pyarrow/includes/libarrow.pxd"
    },
    {
      "type": "modify",
      "old_id": "68fe9a9937431241edf7c36f65f3da5a400df539",
      "old_mode": 33188,
      "old_path": "python/pyarrow/tests/test_compute.py",
      "new_id": "83e36a7a6d610b7faa61a9e41feb000fe1c14794",
      "new_mode": 33188,
      "new_path": "python/pyarrow/tests/test_compute.py"
    }
  ]
}
