Documentation |
Round toward zero
y = fix(a)
y = fix(a) rounds fi object a to the nearest integer in the direction of zero and returns the result in fi object y.
y and a have the same fimath object and DataType property.
When the DataType property of a is single, double, or boolean, the numerictype of y is the same as that of a.
When the fraction length of a is zero or negative, a is already an integer, and the numerictype of y is the same as that of a.
When the fraction length of a is positive, the fraction length of y is 0, its sign is the same as that of a, and its word length is the difference between the word length and the fraction length of a. If a is signed, then the minimum word length of y is 2. If a is unsigned, then the minimum word length of y is 1.
For complex fi objects, the imaginary and real parts are rounded independently.
fix does not support fi objects with nontrivial slope and bias scaling. Slope and bias scaling is trivial when the slope is an integer power of 2 and the bias is 0.
The following example demonstrates how the fix function affects the numerictype properties of a signed fi object with a word length of 8 and a fraction length of 3.
a = fi(pi, 1, 8, 3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3 y = fix(a) y = 3 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 5 FractionLength: 0
The following example demonstrates how the fix function affects the numerictype properties of a signed fi object with a word length of 8 and a fraction length of 12.
a = fi(0.025,1,8,12) a = 0.0249 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 12 y = fix(a) y = 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 2 FractionLength: 0
The functions ceil, fix, and floor differ in the way they round fi objects:
The ceil function rounds values to the nearest integer toward positive infinity
The fix function rounds values toward zero
The floor function rounds values to the nearest integer toward negative infinity
The following table illustrates these differences for a given fi object a.
a | ceil(a) | fix(a) | floor(a) |
---|---|---|---|
– 2.5 | –2 | –2 | –3 |
–1.75 | –1 | –1 | –2 |
–1.25 | –1 | –1 | –2 |
–0.5 | 0 | 0 | –1 |
0.5 | 1 | 0 | 0 |
1.25 | 2 | 1 | 1 |
1.75 | 2 | 1 | 1 |
2.5 | 3 | 2 | 2 |
ceil | convergent | floor | nearest | round