Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para ISO C Standard 11 (C11) e posterior, o cabeçalho <tgmath.h>, além de incluir <math.h> e <complex.h>, fornece macros que invocam uma função matemática correspondente com base nos tipos de parâmetros .
As funções matemáticas da biblioteca de runtime C vêm em variantes reais e complexas. Cada variante vem em três tipos, dependendo do tipo de argumento: float, double e long double. Como C não dá suporte para sobrecarga como C++, cada variante tem um nome diferente. Por exemplo, para obter o valor absoluto de um valor de ponto flutuante real, você chamará fabsf, fabs ou fabsl dependendo se estiver passando um valor float, double ou long double, respectivamente. Para obter o valor absoluto complexo, você chamará um dos cabsf, cabs ou cabsl dependendo se estiver passando um valor complexo float, double e long double, respectivamente. Se os argumentos não corresponderem a nenhum dos tipos mencionados acima, a função será escolhida como se os argumentos fossem duplos.
<tgmath.h> contém macros que simplificam a seleção da função matemática correta a ser chamada. As macros examinam o tipo que são passadas e, em seguida,chamam a função correta. Por exemplo, a macro sqrt associa sqrt(9.9f) a sqrtf(), mas isso associa sqrt(9.9) a sqrt(). Se pelo menos um argumento de macro para um parâmetro genérico for complexo, a macro será vinculada a uma função complexa, caso contrário, ele invocará uma função real.
As macros genéricas de tipo em <tgmath.h> permitem gravar código mais portátil porque não é necessário gerenciar a conversão ou selecionar os nomes de funções diferentes dependendo do tipo de argumento.
Essas macros estão no próprio cabeçalho para que os programas gravados usando o cabeçalho <math.h> não sejam interrompidos. Desse modo, double x = sin(42); se comportará como sempre quando você incluir <matemática.h>. Mesmo assim, espera-se que a maioria dos programas C existentes não sejam afetados quando o <tgmath.h> cabeçalho for incluído, em vez de <math.h> ou <complex.h>.
A tabela a seguir lista as macros que estão disponíveis em <tgmath.h> e para o que se expandem.
modf não está incluída nesta tabela porque não possui uma macro genérica de tipo correspondente, já que não está claro como torná-la seguro sem complicar a resolução do tipo.
Requisitos
Compilar com /std:c11.
O SDK do Windows 10.0.20348.0 (versão 2104) ou posterior. Consulte o SDK do Windows para baixar o SDK mais recente. Para obter instruções sobre como instalar e usar o SDK para desenvolvimento C11 e C17, consulte Instalar o suporte C11 e C17 no Visual Studio.