Lt304888.ru

Туристические услуги

Complex.h

27-07-2023

Стандартная библиотека
языка программирования С

complex.h — заголовочный файл стандартной библиотеки языка программирования С, в котором объявляются функции для комплексной арифметики. Эти функции используют встроенный тип complex, который появился в стандарте C99.[1]

Содержание

Макросы и типы данных

Библиотека определяет следующие макросы и типы данных:

#define complex _Complex
#define _Complex_I const float _Complex
#define imaginary _Imaginary
#define _Imaginary_I const float _Imaginary
#define I

для работы с комлексными и мнимыми числами. Макросы imaginary должны быть объявлены только если платформа поддерживает работу с мнимыми числами.

Макрос I раскрывается либо в _Imaginary_I либо в _Complex_I. В отличие от обычного запрещения переопределений библиотечных макросов стандарт разрешает переопределять I, complex и imaginary.[1]

Директивы компилятора

Заголовочный файл объявляет следующую директиву компилятора:

#include <complex.h>
#pragma STDC CX_LIMITED_RANGE on/off

Обычные математические формулы для комплексного умножения, деления и нахождения абсолютного значения проблематичны из-за бесконечности и переполнения. Эта директива уведомляет (при флаге on) среду о том, что можно использовать обычные математические формулы.[1] Цель этой директивы - разрешить окружению использовать следующие функции:


(x+iy)(u+iv)=(xu-yv)+i(yu+xv)\,


(x+iy)/(u+iv)=[(xu+yv)+i(yu-xv)]\div(u^2+v^2)\,


\mid x+iy \mid = \sqrt{x^2+y^2}

если программист считает их безопасными.

Функции

Функции в заголовочном файле complex.h представлены для трёх типов — double, float и long double (заметьте, что значения представлены в радианах):

cabs, cabsf, cabsl Абсолютное значение комплексного числа
cacos, cacosf, cacosl Комплексный арккосинус
cacosh, cacoshf, cacoshl Комплексный гиперболический арккосинус
carg, cargf, cargl Аргумент комплексного числа
casin, casinf, casinl Комплексный арксинус
casinh, casinhf, casinhl Комплексный гиперболический арксинус
catan, catanf, catanl Комплексный арктангенс
catanh, catanhf, catanhl Комплексный гиперболический арктангенс
ccos, ccosf, ccosl Комплексный косинус
ccosh, ccoshf, ccoshl Комплексный гиперболический косинус
cexp, cexpf, cexpl Комплексная экспонента
cimag, cimagf, cimagl Мнимая часть комплексного числа
clog, clogf, clogl Натуральный логарифм комплексного числа
conj, conjf, conjl Комплексное сопряжённое число
cpow, cpowf, cpowl Степень комплексного числа
cproj, cprojf, cprojl Проекция на римановскую сферу
creal, crealf, creall Действительная часть комплексного числа
csin, csinf, csinl Комплексный синус
csinh, csinhf, csinhl Комплексный гиперболический синус
csqrt, csqrtf, csqrtl Комплексный квадратный корень
ctan, ctanf, ctanl Комплексный тангенс
ctanh, ctanhf, ctanhl Комплексный гиперболический тангенс

Ссылки

Примечания

  1. ↑ ISO/IEC 9899:1999

Complex.h.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01