fimath для Совместного использования Арифметических Правил

Существует два способа совместно использовать свойства fimath в программном обеспечении Fixed-Point Designer™:

Свойства Sharing fimath через объекты fi гарантируют, что объекты fi используют те же арифметические правила, и помогает, вы избежать “не соответствовали fimath” ошибки.

Значение по умолчанию fimath Использование, чтобы Совместно использовать Арифметические Правила

Можно гарантировать, что объекты fi все используют те же свойства fimath, не задавая локального fimath. Не гарантировать локальный fimath сопоставлено с объектом fi, вы можете:

  • Создайте объект fi с помощью конструктора fi, не задавая свойств fimath в вызове конструктора. Например:

    a = fi(pi)
  • Создайте объект fi с помощью конструктора ufi или sfi. Все объекты fi, созданные с этими конструкторами, не имеют никакого локального fimath.

    b = sfi(pi)
  • Используйте removefimath, чтобы удалить локальный объект fimath из существующего объекта fi.

Локальное fimath Использование, чтобы Совместно использовать Арифметические Правила

Можно также использовать объект 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