Кіріспе

C стандартты кітапханасының математикалық функцияларды қамтамасыз ететін бас файл.

C математикалық операциялары – C бағдарламалау тілінің стандартты кітапханасындағы негізгі математикалық функцияларды іске асыратын функциялар тобы. Барлық функциялар қандайда бір жолмен қозғалмалы нүктелі сандарды қолданады. Әртүрлі C стандарттары әртүрлі, бірақ артқа қарай үйлесімді функциялар жиынтығын ұсынады. Бұл функциялардың көпшілігі C++ стандартты кітапханасында да қолжетімді, бірақ басқа бас файлдарда (C бас файлдары да қосады, бірақ тек ескірген үйлесімділік мүмкіндігі ретінде).

Жалпы типтік функциялар

<tgmath.h> басқысы <math.h> және <complex.h> анықталған әрбір математикалық функция үшін типтік жалпы макро анықтайды. Бұл математикалық функциялардың функцияны жүктеуіне шектеулі қолдау көрсетеді: бірдей функция аты әртүрлі параметрлермен қолданылуы мүмкін; нақты функция параметрлердің типтеріне сәйкес компиляция уақытында таңдалады. Нақты және кешенді сандар үшін анықталған функцияға сәйкес келетін әрбір типтік жалпы макро барлығы 6 түрлі функцияны қамтиды: float, double және long double, сондай-ақ олардың кешенді нұсқалары. Тек нақты сандар үшін анықталған функцияға сәйкес келетін типтік жалпы макро барлығы 3 түрлі функцияны қамтиды: функцияның float, double және long double нұсқалары. C++ тілі функцияларды жүктеуге қатысты өздігінен қолдау көрсетеді, сондықтан <tgmath.h> басқысын, тіпті үйлесімділік үшін де, ұсынбайды.

Кездейсоқ сандар генерациясы

Бастығы <stdlib. h> (<cstdlib> C++ тілінде) статистикалық түрде кездейсоқ сандарды жасау үшін пайдаланылатын бірнеше функцияларды анықтайды. Функцияның сипаттамасы: rand 0 мен RAND MAX аралығындағы псевдокездейсоқ санды жасайды. srand псевдокездейсоқ сандар генераторын инициализациялайды. arc4random 0 мен UINT32 MAX аралығындағы псевдокездейсоқ санды жасайды, әдетте, rand-тен жақсырақ алгоритмді қолданады. arc4random uniform 0 мен белгілі бір максималды мән аралығындағы псевдокездейсоқ санды жасайды. arc4random buf буферді псевдокездейсоқ биттер ағынымен толтырады. arc4random stir псевдокездейсоқ сандар генераторын бастамалайды. arc4random кездейсоқ сан функцияларының отбасы POSIX стандартында анықталмаған, бірақ кейбір жалпы libc нұсқаларында кездеседі. Бұл бастапқыда RC4 шифрінің ағып кеткен нұсқасының кілттік ағыны генераторына сілтеме жасады (сондықтан "шамаланған RC4" деп аталды), бірақ содан бері ChaCha20 сияқты басқа шифрлерден алынған әртүрлі алгоритмдер сол атпен іске асырылды. rand-тан алынған кездейсоқтық сапасы әдетте статистикалық түрде кездейсоқ деп санауға тым нашар және оған нақты түрде бастама беру қажет. Мүмкіндігінше, rand орнына arc4random қолдану ұсынылады. Кейбір C кітапханалары rand функциясын arc4random uniform арқылы ішкі түрде іске асырады.