Skip to content

SolutionOP/Math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

s21_math

Part 1. Implementing the math.h library functions

The functions of the math.h library must be implemented (only those directly described above):

  • The library must be developed in C language of C11 standard using gcc compiler
  • The library code must be located in the src folder on the develop branch
  • Do not use outdated and legacy language constructions and library functions. Pay attention to the legacy and obsolete marks in the official documentation on the language and the libraries used. Use the POSIX.1-2017 standard.
  • Make it as a static library (with the s21_math.h header file)
  • The library must be developed according to the principles of structured programming; code duplication must be avoided
  • Use prefix s21_ before each function
  • Prepare full coverage of library functions code with unit-tests with the Check library
  • Unit-tests must check the results of your implementation by comparing them with the implementation of the standard math.h library
  • Unit tests must cover at least 80% of each function (checked using gcov)
  • Provide a Makefile for building the library and tests (with the targets all, clean, test, s21_math.a, gcov_report)
  • The gcov_report target should generate a gcov report in the form of an html page. Unit tests must be run with gcov flags to do this
  • It is forbidden to copy the implementation of the standard math.h library and to use it anywhere, except unit-tests
  • You must follow the logic of the standard library (in terms of checks, working with memory and behavior in emergency situations - tests will help you with that)
  • The total verifiable accuracy is 16 significant digits
  • Verifiable accuracy of the fractional part is up to 6 decimal places.

About

Project on writing own Math.h library in C language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published