# Расширение PostgreSQL с функцией вычисления наценки методом линейной интерполяции #### price_modifiers._calculate_markup(price numeric, markups numeric[]) Вычисляет процент наценки по заданной цене и заданной схеме цен и наценок. Округляет до 2 знаков результат. * price - цена, на которую нужно вычислить наценку * markups - наценки, отсортированные в порядке убывания price. Как массив из пар (цена;наценка) #### Способ установки ``` make make install make installcheck psql -c 'create extension calculate_markup' ``` #### Примеры цена находится между первым и вторым элементом: ``` SELECT price_modifiers._calculate_markup(75000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]); -- 7.50 ``` цена находится на 4-м элементе: ``` SELECT price_modifiers.c_calculate_markup(1000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]); -- 12.0 ``` цена выше, чем у первого элемента: ``` SELECT price_modifiers.c_calculate_markup(150000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]); -- 7.0 ```