(38 lines)
1 '\" t2 .\" Copyright (c) 2025 Bruce Hill3 .\" All rights reserved.4 .\"5 .TH List.binary_search 3 2025-11-29 "Tomo man-pages"6 .SH NAME7 List.binary_search \- binary search8 .SH LIBRARY9 Tomo Standard Library10 .SH SYNOPSIS11 .nf12 .BI List.binary_search\ :\ func(list:\ [T],\ by:\ func(x,y:&T->Int32)\ =\ T.compare\ ->\ Int)13 .fi14 .SH DESCRIPTION15 Performs a binary search on a sorted list.18 .SH ARGUMENTS20 .TS21 allbox;22 lb lb lbx lb23 l l l l.24 Name Type Description Default25 list [T] The sorted list to search. -26 by func(x,y:&T->Int32) The comparison function used to determine order. If not specified, the default comparison function for the item type will be used. T.compare27 .TE28 .SH RETURN29 Assuming the input list is sorted according to the given comparison function, return the index where the given item would be inserted to maintain the sorted order. That is, if the item is found, return its index, otherwise return the place where it would be found if it were inserted and the list were sorted.31 .SH EXAMPLES32 .EX33 assert [1, 3, 5, 7, 9].binary_search(5) == 334 assert [1, 3, 5, 7, 9].binary_search(-999) == 135 assert [1, 3, 5, 7, 9].binary_search(999) == 636 .EE37 .SH SEE ALSO38 .BR Tomo-List (3)