Range of floating point io types

How does the UHD library handle complex floating point numbers, that are
out of range?

The doxygen documentation [1] says that the range of COMPLEX_FLOAT32 is
[-1.0,1.0],
which means that both the real and imaginary part must be within this
range, right?
And what happens if you try to send values larger than 1.0?
I would expect the sample to be rounded down to 1.0, but couldn’t tell
from the documentation.

[1]
http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1io__type__t.html

The doxygen documentation [1] says that the range of COMPLEX_FLOAT32 is
[-1.0,1.0],

Yes

which means that both the real and imaginary part must be within this
range, right?

Correct but, the complex magnitude must not exceed 1.0, or else you may
clip in the DSP.

And what happens if you try to send values larger than 1.0?

truncation of the most significant bits

For example, the DQPSK block will transmit symbols at +/-1 +/-j. These
constellation points will clip in the DSP of the FPGA if you have the
cordic tuned to a non-zero frequency. I recommend that you characterize
your output before using the max dynamic range of the DAC.

-josh