[tgmath.h.syn]

# 17 Language support library [[support]](./#support)

## 17.15 C headers [[support.c.headers]](support.c.headers#tgmath.h.syn)

### 17.15.6 Header <tgmath.h> synopsis [tgmath.h.syn]

[ð](#header:%3ctgmath.h%3e)

#include <cmath>#include <complex>

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6709)

The header [<tgmath.h>](#header:%3ctgmath.h%3e "17.15.6 Header <tgmath.h> synopsis [tgmath.h.syn]") behaves as if it simply includes the headers[<cmath>](cmath.syn#header:%3ccmath%3e "29.7.1 Header <cmath> synopsis [cmath.syn]") and[<complex>](complex.syn#header:%3ccomplex%3e "29.4.2 Header <complex> synopsis [complex.syn]")[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6715)

[*Note [1](#note-1)*:

The overloads provided in C by type-generic macros
are already provided in [<complex>](complex.syn#header:%3ccomplex%3e "29.4.2 Header <complex> synopsis [complex.syn]") and [<cmath>](cmath.syn#header:%3ccmath%3e "29.7.1 Header <cmath> synopsis [cmath.syn]") by âsufficientâ additional overloads[.](#2.sentence-1)

â *end note*]

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6722)

[*Note [2](#note-2)*:

Names introduced by [<cmath>](cmath.syn#header:%3ccmath%3e "29.7.1 Header <cmath> synopsis [cmath.syn]") or [<complex>](complex.syn#header:%3ccomplex%3e "29.4.2 Header <complex> synopsis [complex.syn]") in namespace std are not placed into the global namespace scope by [<tgmath.h>](#header:%3ctgmath.h%3e "17.15.6 Header <tgmath.h> synopsis [tgmath.h.syn]")[.](#3.sentence-1)

â *end note*]
