fimath

Установите математические настройки фиксированной точки

Описание

пример

F = fimath создает fimath объект с fimath по умолчанию настройки свойства.

пример

F = fimath(Name,Value) задает свойства fimath объект при помощи одного или нескольких аргументов пары "имя-значение". Все свойства, не заданные в конструкторе, используют значения по умолчанию.

Примеры

свернуть все

В этом примере показано, как создать fimath объект с настройками свойства по умолчанию.

F = fimath
F = 
        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

Установите свойства fimath объект во время создания объекта при помощи пар "имя-значение". Например, установите действие переполнения насыщать и метод округления к конвергентному.

F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = 
        RoundingMethod: Convergent
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

Входные параметры

свернуть все

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')

Брошены ли оба операнда к типу данных суммы перед сложением в виде числового или логического 1 TRUE) или 0 ложь).

Примечание

Это свойство скрыто когда SumMode установлен в FullPrecision.

Пример: F = fimath('CastBeforeSum',true)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Максимальный допустимый размер слова для типа данных продукта в виде положительного целого числа.

Пример: F = fimath('MaxProductWordLength',16)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Максимальный допустимый размер слова для типа данных суммы в виде положительного целого числа.

Пример: F = fimath('MaxSumWordLength',16)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Действие, чтобы взять переполнение в виде одного из этих значений:

  • 'Saturate' – Насыщайте к максимальному или минимальному значению области значений фиксированной точки на переполнении.

  • 'Wrap' – Перенеситесь на переполнении. Этот режим также известен как дополнительное переполнение two.

Пример: F = fimath('OverflowAction','Wrap')

Типы данных: char

Смещение типа данных продукта в виде числа с плавающей запятой.

Пример: F = fimath('ProductBias',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Фиксированная экспонента типа данных продукта в виде ненулевого целого числа.

Примечание

ProductFractionLength отрицание ProductFixedExponent. Изменение одного свойства изменяет другой.

Пример: F = fimath('ProductFixedExponent',-20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Дробная длина, в битах, типа данных продукта в виде ненулевого целого числа.

Примечание

ProductFractionLength отрицание ProductFixedExponent. Изменение одного свойства изменяет другой.

Пример: F = fimath('ProductFractionLength',20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Как тип данных продукта определяется в виде одного из этих значений:

  • 'FullPrecision' – Полная точность результата сохранена.

  • 'KeepLSB' – Сохраните младшие значащие биты. Задайте размер слова продукта. Дробная длина собирается обеспечить младшие значащие биты продукта.

  • 'KeepMSB' – Сохраните старшие значащие биты. Задайте размер слова продукта. Дробная длина собирается обеспечить старшие значащие биты продукта.

  • 'SpecifyPrecision' – Задайте слово и дробные длины или наклон и смещение продукта.

Пример: F = fimath('ProductMode','KeepLSB')

Типы данных: char

Наклон типа данных продукта в виде конечного, положительного числа с плавающей запятой.

Примечание

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('ProductSlope',9.3132e-10)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Наклонный поправочный коэффициент типа данных продукта в виде числа с плавающей запятой, больше, чем или равный 1 и меньше чем 2.

Примечание

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('ProductSlopeAdjustmentFactor',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Размер слова, в битах, типа данных продукта в виде положительного целого числа.

Пример: F = fimath('ProductWordLength',64)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Округление метода, чтобы использовать в виде одного из этих значений:

  • 'Nearest' – Вокруг к самому близкому. Связывает к положительной бесконечности.

  • 'Ceiling' Округление в сторону плюс бесконечности.

  • 'Convergent' – Вокруг к самому близкому. Связывает до самого близкого даже сохраненного целого числа (наименее смещенный).

  • 'Zero' Округление в сторону нуля.

  • 'Floor' Округление в сторону минус бесконечности.

  • 'Round' – Вокруг к самому близкому. Связывает к отрицательной бесконечности для отрицательных чисел, и к положительной бесконечности для положительных чисел.

Пример: F = fimath('RoundingMethod','Convergent')

Типы данных: char

Смещение типа данных суммы в виде числа с плавающей запятой.

Пример: F = fimath('SumBias',0)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Фиксированная экспонента типа данных суммы в виде ненулевого целого числа.

Примечание

SumFractionLength отрицание SumFixedExponent. Изменение одного свойства изменяет другой.

Пример: F = fimath('SumFixedExponent',-20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Дробная длина, в битах, типа данных суммы в виде ненулевого целого числа.

Примечание

SumFractionLength отрицание SumFixedExponent. Изменение одного свойства изменяет другой.

Пример: F = fimath('SumFractionLength',20)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Как тип данных суммы определяется в виде одного из этих значений:

  • 'FullPrecision' – Полная точность результата сохранена.

  • 'KeepLSB' – Сохраните младшие значащие биты. Задайте размер слова типа данных суммы. Дробная длина собирается обеспечить младшие значащие биты суммы.

  • 'KeepMSB' – Сохраните старшие значащие биты. Задайте размер слова типа данных суммы. Дробная длина собирается обеспечить старшие значащие биты суммы и больше дробных битов, чем необходимый.

  • 'SpecifyPrecision' – Задайте слово и дробные длины или наклон и смещение типа данных суммы.

Пример: F = fimath('SumMode','KeepLSB')

Типы данных: char

Наклон типа данных суммы в виде числа с плавающей запятой.

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('SumSlope',9.3132e-10)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Наклонный поправочный коэффициент типа данных суммы в виде числа с плавающей запятой, больше, чем или равный 1 и меньше чем 2.

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

Пример: F = fimath('SumSlopeAdjustmentFactor',1)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Размер слова, в битах, типа данных суммы в виде положительного целого числа.

Пример: F = fimath('SumWordLength',64)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Вопросы совместимости

развернуть все

Расширенные возможности

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

Представлено до R2006a