Sun, 23 Nov 2025 13:15:19 +0100
optimize sorted insertion by using the infimum instead of the supremum
The reason is that the supremum returns the equal element with the smallest index, and we want the largest.
Therefore, we use the infimum, which already gives us the largest index when there are equal elements, and increase the index by one. The infimum is also guaranteed to exist in that case.
#!/bin/sh # backup config cp config.mk config.mk.bak function perform_check { if ! make clean check > /dev/null ; then echo "fail." else echo "ok." fi } function perform_check_cxx { # we cannot mute the warnings, so throw every everything if ! make clean check-cxx > /dev/null 2> /dev/null ; then echo "fail." else echo "ok." fi } for cc in clang gcc; do CC=$cc ./configure --debug > /dev/null printf "Check $cc... " perform_check printf "Check $cc (c++)... " perform_check_cxx done printf "Check w/o szmul builtin... " ./configure --debug --disable-szmul-builtin > /dev/null perform_check printf "Check w/o szmul builtin (c++)... " perform_check_cxx printf "Check release config... " ./configure --release > /dev/null perform_check printf "Check gcc C23... " CC=gcc CFLAGS=-std=c23 ./configure --debug > /dev/null perform_check # clean build files and restore config make clean > /dev/null mv config.mk.bak config.mk