In the fixed-point data type, coercion is the forcing of a set of bits to meet the restrictions of a particular fixed-point data type configuration. Configuring the coercion behaviors of fixed-point operators allows you to control data loss within your code. The results of those operations can often be greater than the maximum value, less than the minimum value, or more precise than the delta for the specified configuration. Whenever a value does not exactly match a representable value in a particular fixed-point configuration, LabVIEW coerces the value to match a representable value.
By default, the output of an operator auto-adapts to the data type of the input. LabVIEW adds bits to your fixed-point configurations and adjusts the word length of the output values of operations to retain as much data as possible. However, LabVIEW cannot avoid data loss if the word length required to represent the output value exceeds the maximum you specify or the maximum total word length of 64 bits.
For any operator, you can configure the Precision, Overflow, and Rounding to prevent the output of the operator from auto-adapting to the input type and strategically control data loss within your code. LabVIEW automatically adds the logic to support that configuration to the code that compiles to your FPGA. Determining the methods of coercion that best match the needs of your specific application is an important step in using the fixed-point data type effectively. Setting coercion strategies allows you to control data loss in your operators and prevent the word lengths of the fixed-point operators in your code from growing unboundedly.
You set coercion behaviors in the Terminals section of the Item tab when you select an operator on the diagram. You can only specify fixed-point coercion behaviors when configuring operators.