Anonymous
01/04/2021 (Mon) 08:25:22
No.8668
del
Я начал вводить библиотеку liblaisi. Это библиотека, которая должна будет автоматически импортирована в любой Лайси-код. Библиотека, которая содержит функции max, min, clamp, abs, sign, в будущем функции popcount, startswith, endswith, функции для преобразования инта в байтовую строку по некоторому эндианлесс, функцию для вывода ошибки с assert и свою систему управления памятью в куче (сейчас используется либсишные malloc, realloc и free).
И вот я ввожу первые функции. На картинке видите abs, sign и clamp и выглядят они как обычные функции/темплейты. А для max и min я решил сделать поддержку переменного кол-ва аргументов, чтобы не приходилось писать конструкции max(max(max(max(a,b),c),d). Для этого я подрихтовал стандарт в плане ... и ввёл ему возможность указания характеристик. Принимаемые типы, минимальное кол-во и максимальное кол-во аргументов. Например, в max и min бессмысленно передавать 0 аргументов.