Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para a norma ISO C 11 (C11) e posterior, o <tgmath.h> cabeçalho, além de incluir <math.h> e <complex.h>, fornece macros que invocam uma função matemática correspondente com base nos tipos dos parâmetros.
As funções matemáticas da biblioteca de tempo de execução C vêm em variantes reais e complexas. Cada variante vem em três sabores, dependendo do tipo do argumento: float, double, e long double. Como C não suporta sobrecarga como o C++, cada variante tem um nome diferente. Por exemplo, para obter o valor absoluto de um valor real de ponto flutuante, você chamaria fabsf, fabsou fabsl dependendo se está passando um float, double, ou long double valor, respectivamente. Para obter o valor absoluto complexo, você chamaria um de cabsf, cabsou cabsl dependendo se está passando um float, double, e long double um valor complexo, respectivamente. Se os argumentos não corresponderem a nenhum dos tipos acima mencionados, 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 certa para chamar. As macros examinam o tipo que lhes é passado e, em seguida, chamam a função correta. Por exemplo, a sqrt macro liga sqrt(9.9f) ao sqrtf(), mas liga sqrt(9.9) ao sqrt(). Se pelo menos um argumento de macro para um parâmetro genérico for complexo, então a macro liga-se a uma função complexa; caso contrário, invoca uma função real.
As macros genéricas de tipo em <tgmath.h> permitem que se escreva um código mais portátil porque não é necessário gerir as conversões de tipos ou selecionar diferentes nomes de funções, dependendo do tipo de argumento.
Essas macros estão no seu próprio cabeçalho para que os programas escritos usando o cabeçalho <math.h> não quebrem. Portanto, double x = sin(42); comporta-se como sempre se comporta quando você inclui <math.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 disponíveis em <tgmath.h> e em que elas se expandem.
modf não está incluído nesta tabela porque não tem uma macro genérica de tipo correspondente porque não está claro como torná-la segura sem complicar a resolução de tipos.
Requerimentos
Compilar com /std:c11.
Windows SDK 10.0.20348.0 (versão 2104) ou posterior. Consulte 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 suporte a C11 e C17 no Visual Studio.