Существует два способа совместно использовать свойства fimath
в программном обеспечении Fixed-Point Designer™:
Свойства Sharing fimath
через объекты fi
гарантируют, что объекты fi
используют те же арифметические правила, и помогает, вы избежать “не соответствовали fimath
” ошибки.
Можно гарантировать, что объекты fi
все используют те же свойства fimath
, не задавая локального fimath. Не гарантировать локальный fimath
сопоставлено с объектом fi
, вы можете:
Создайте объект fi
с помощью конструктора fi
, не задавая свойств fimath
в вызове конструктора. Например:
a = fi(pi)
Создайте объект fi
с помощью конструктора ufi
или sfi
. Все объекты fi
, созданные с этими конструкторами, не имеют никакого локального fimath.
b = sfi(pi)
Используйте removefimath
, чтобы удалить локальный объект fimath
из существующего объекта fi
.
Можно также использовать объект fimath
задать общие правила арифметики, что требуется использовать для нескольких объектов fi
. Можно затем создать объекты fi
, с помощью того же объекта fimath
для каждого. Для этого необходимо также создать объект numerictype
задать тип общих данных и масштабирование. Обратитесь к Конструкции Объекта numerictype для получения дополнительной информации об объектах numerictype
. Следующий пример показывает создание объекта numerictype
и объекта fimath
, и затем использует те объекты создать два объекта fi
с тем же numerictype
и атрибутами fimath
:
T = numerictype('WordLength',32,'FractionLength',30)
T = DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 32 FractionLength: 30
F = fimath('RoundingMethod','Floor',... 'OverflowAction','Wrap')
F = RoundingMethod: Floor OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision
a = fi(pi, T, F)
a = -0.8584 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 32 FractionLength: 30 RoundingMethod: Floor OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision
b = fi(pi/2, T, F)
b = 1.5708 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 32 FractionLength: 30 RoundingMethod: Floor OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision