Библиотека целочисленных наборов
Разработчик(и) | Свен Вердулаге, INRIA и другие |
---|---|
Стабильная версия | 0,26
/ 2 апреля 2023 г [ 1 ] |
Доступно в | С |
Тип | Математическое программное обеспечение |
Лицензия | С |
Веб-сайт | ему понравилось |
isl ( библиотека целочисленных множеств ) — это переносимая C библиотека для управления множествами и отношениями целочисленных точек ограниченных ограничениями линейными , . [ 2 ]
Поддерживаются следующие операции: [ 3 ]
- пересечение , объединение , разность множеств
- на пустоту проверка
- выпуклая оболочка
- (целое число) аффинная оболочка
- целочисленная проекция
- вычисление лексикографического минимума с использованием параметрического целочисленного программирования
- слияние
- параметрическое перечисление вершин
Он также включает в себя решатель ILP, основанный на обобщенном базисном сокращении , транзитивных замыканиях картах ( которые могут кодировать бесконечные графы ), анализе зависимостей и оценках кусочных на ступенчатых полиномов.
Все вычисления выполняются в точной целочисленной арифметике с использованием GMP или imath.
Многие методы анализа программ основаны на манипуляциях с целыми числами. Целые числа обычно представляют собой итерации гнезда циклов или элементы массива . isl использует параметрическое целочисленное программирование для получения явного представления в виде целочисленного деления.
Он используется в качестве внутренней библиотеки многогранников в среде GCC Graphite. [ 4 ] и в рамках LLVM Polly [ 5 ] для оптимизации цикла .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ "остров 0,25" .
- ^ Вердулаге, Свен (2010). «isl: Библиотека наборов целых чисел для многогранной модели» (PDF) . Математическое программное обеспечение – ICMS 2010 . Конспекты лекций по информатике. Том. 6327. стр. 299–302. дои : 10.1007/978-3-642-15582-6_49 . ISBN 978-3-642-15581-9 . ISSN 0302-9743 .
- ^ «Руководство по острову» (PDF) . 11.06.2015 . Проверено 2 сентября 2015 г.
- ^ «Предпосылки GCC» . 26 июля 2015 г. Проверено 2 сентября 2015 г.
- ^ «Внешние библиотеки LLVM Polly» . Гитхаб . 10 февраля 2020 г. Проверено 18 мая 2020 г.