Реализация собственной версии математической библиотеки math.h.
No. | Function | Description |
---|---|---|
1 | int my_abs(int x) |
вычисляет абсолютное значение целого числа |
2 | long double my_acos(double x) |
вычисляет арккосинус |
3 | long double my_asin(double x) |
вычисляет арксинус |
4 | long double my_atan(double x) |
вычисляет арктангенс |
5 | long double my_ceil(double x) |
возвращает ближайшее целое число, не меньшее заданного значения |
6 | long double my_cos(double x) |
вычисляет косинус |
7 | long double my_exp(double x) |
возвращает значение e, возведенное в заданную степень |
8 | long double my_fabs(double x) |
вычисляет абсолютное значение числа с плавающей точкой |
9 | long double my_floor(double x) |
возвращает ближайшее целое число, не превышающее заданное значение |
10 | long double my_fmod(double x, double y) |
остаток операции деления с плавающей точкой |
11 | long double my_log(double x) |
вычисляет натуральный логарифм |
12 | long double my_pow(double base, double exp) |
возводит число в заданную степень |
13 | long double my_sin(double x) |
вычисляет синус |
14 | long double my_sqrt(double x) |
вычисляет квадратный корень |
15 | long double my_tan(double x) |
вычисляет тангенс |
- Библиотека разработана на языке Си стандарта C11 с использованием компиятора gcc
- Код соответствует Google Style
- Решение оформлено как статическая библиотека (с заголовочным файлом my_math.h)
- Библиотека разработана в соответствии с принципами структурного программирования
- Подготовлено покрытие unit-тестами функций библиотеки c помощью библиотеки Check
- Unit-тесты проверяют результаты работы данной реализации путём сравнения ее с реализацией стандартной библиотеки math.h
- В цели gcov_report формируется отчёт gcov в виде html страницы. Для этого unit-тесты запускаются с флагами gcov
- Предусмотрен Makefile для сборки библиотеки и тестов (с целями all, clean, test, my_math.a, gcov_report)
- Общая проверяемая точность - 16 значащих цифр
- Проверяемая точность дробной части - максимум 6 знаков после запятой.