cf_axi_dds IIO driver scale factor fixed point format in Sign/magnitude

IIO driver cf_axi_dds writes  IIO_CHAN_INFO_SCALE attribute data to FPGA as fixed point 1.1.14 (sign, integer and fractional bits) Sign/magnitude format and not in Two's complement.

E.g. scale -0.5 is written as 0xA000 (in Two's complement is 0xE000).

Since FPGA multiplier operates with signed 2nd complement operands the conversion must be/is done in FPGA.

What is the rationale behind this approach?

One would expect that sw makes the translation to 2nd complement and write the multiplier coefficient as expected by FPGA arithmetic primitives.