[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Математические функции

Программисту предоставлено много функций для выполнения математических
операций.
Функции, описанные на страницах Руководства, помеченных 3M, содержатся
в библиотеке /usr/ccs/lib/libm.a и программа, использующая их, должна
компилироваться с ключом -lm:
     cc prog.c -lm

Файл <math.h> содержит объявления функций 3M и соответствующих
макроопределений и констант. Файл <stdlib.h> содержит объявления для
математических функций, документированных в 3C.
Замечание: Функции 3C и 3S содержатся в стандартных библиотеках.
Некоторые замечания по поводу этих функций:
   1. Семейство  ecvt(3C)  преобразует  числа  с  плавающей  точкой  в
      строки. Они, в частности, используются функцией printf(3S).

   2. log вычисляет  натуральный логарифм. log10 возвращает десятичный
      логарифм.

   3. Для   использования    rand   и   drand48   необходимо   вызвать
      соответствующую инициализационную  функцию (srand  или srand48).
      rand возвращает  целое число  от 0  до 32767. drand48 возвращает
      число  с   плавающей   точкой   двойной   точности,   равномерно
      распределенное в  интервале [0.0,  1.0], т.е. дробь, меньшую или
      равную единице.

   4. Функция fmod  осуществляет операцию  взятия остатка  от  деления
      действительных чисел,  так же  как '%'  берет остаток от деления
      целых чисел.

abs(3C)       labs()

ecvt(3C)      fcvt()    gcvt()
exp(3M)       log()     log10()     pow()    sqrt()    ...

rand(3C)      srand()

drand48(3C)   ...       srand48()   ...
floor(3M)     ceil()    fmod()      fabs()   ...

TRIG(3M)

              sin()     cos()       tan()
              asin()    acos()      atan()   atan2()

sinh(3M)      cosh()    tanh()      ...

BESSEL(3M)
              j0()      j1()        jn()     ...

gamma(3M)

              gamma()   lgamma()