Вокруг к самому близкому целому числу со связями, округляющимися к самому близкому даже целое число
y = convergent(a)
y = convergent(x)
y = convergent(a) объект fi раундов a к самому близкому целому числу. В случае связи convergent(a) округляет к самому близкому даже целое число.
y и a имеют тот же объект fimath и свойство DataType.
Когда свойством DataType a является single, double или boolean, numerictype y совпадает с numerictype a.
Когда дробная длина a является нулем или отрицательный, a уже является целым числом, и numerictype y совпадает с numerictype a.
Когда дробная длина a положительна, дробной длиной y является 0, его знак совпадает со знаком a, и его размер слова является различием между размером слова и дробной длиной a плюс один бит. Если a подписывается, то минимальным размером слова y является 2. Если a без знака, то минимальным размером слова y является 1.
Для комплексных объектов fi мнимые и действительные части округлены независимо.
convergent не поддерживает объекты fi с нетривиальным наклоном и масштабированием смещения. Масштабирование наклона и смещения тривиально, когда наклон является целочисленной степенью 2, и смещение 0.
y = convergent(x) округляет элементы x к самому близкому целому числу. В случае связи convergent(x) округляет к самому близкому даже целое число.
Следующий пример демонстрирует, как функция convergent влияет на свойства numerictype объекта fi со знаком с размером слова 8 и дробной длиной 3.
a = fi(pi, 1, 8, 3)
a =
3.1250
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 8
FractionLength: 3
y = convergent(a)
y =
3
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 6
FractionLength: 0
Следующий пример демонстрирует, как функция convergent влияет на свойства numerictype объекта fi со знаком с размером слова 8 и дробной длиной 12.
a = fi(0.025,1,8,12)
a =
0.0249
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 8
FractionLength: 12
y = convergent(a)
y =
0
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 2
FractionLength: 0convergent функций, nearest и round отличаются по способу, которым они обрабатывают значения, младшая значащая цифра которых равняется 5:
Функция convergent округляет связи с самым близким даже целое число
Функция nearest округляет связи с самым близким целым числом к положительной бесконечности
Функция round округляет связи с самым близким целым числом с большим абсолютным значением
Следующая таблица иллюстрирует эти различия для данного объекта fi a.
| a | конвергентный (a) | самый близкий (a) | раунд (a) |
|---|---|---|---|
| –3.5 | –4 | –3 | –4 |
| –2.5 | –2 | –2 | –3 |
| –1.5 | –2 | –1 | –2 |
| –0.5 | 0 | 0 | –1 |
| 0.5 | 0 | 1 | 1 |
| 1.5 | 2 | 2 | 2 |
| 2.5 | 2 | 3 | 3 |
| 3.5 | 4 | 4 | 4 |