exponenta event banner

setfimath

Прикрепить объект fimath к fi объект

Синтаксис

Описание

пример

y = setfimath(x,f) возвращает fi объект, y, с x"s numerictype и значение, и присоединенный объект fimath, f. Эта функция и связанные с ней removefimath функции полезны для предотвращения ошибок о embedded.fimath обоих операндов, которые должны быть равными.

y = setfimath (x,f) синтаксис не изменяет входные данные, x. Изменить x, использовать x = setfimath(x,f). Если вы используете setfimath в выражении, таком как, a*setfimath(b,f), объект fimath используется во временной переменной, но b не изменяется.

Примеры

свернуть все

Определение fi объект, определите fimath объект и использование setfimath для присоединения fimath объект для fi объект.

Создать fi объект без fimath объект.

a = fi(pi)
a = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

Создать fimath объект и прикрепить его к fi объект.

f = fimath('OverflowAction','Wrap','RoundingMethod','Floor');
b = setfimath(a,f)
b = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision

Использовать шаблон x = setfimath(x,f) и y = removefimath(y) для изоляции переменных от fimath настройки вне функции. Этот шаблон не создает копии данных в сгенерированном коде.

function y = fixed_point_32bit_KeepLSB_plus_example(a,b)
   f = fimath('OverflowAction','Wrap',...
      'RoundingMethod','Floor',...
      'SumMode','KeepLSB',...
      'SumWordLength',32);
   a = setfimath(a,f);
   b = setfimath(b,f);
   y = a + b;
   y = removefimath(y);
end
 

При наличии продукта MATLAB ® Coder™ можно создать код C. В этом примере код C генерируется на компьютере с 32-разрядным собственным целым типом.

a = fi(0,1,16,15);
b = fi(0,1,16,15);
codegen -config:lib  fixed_point_32bit_KeepLSB_plus_example...
       -args {a,b} -launchreport
     
int fixed_point_32bit_KeepLSB_plus_example(short a, short b)
{
  return a + b;
}

Входные аргументы

свернуть все

Входные данные, указанные как fi объект или встроенное целое значение, из которого копируются тип данных и значение в выходные данные. x должно быть fi объект или целочисленный тип данных (int8, int16, int32, int64, uint8, uint16, uint32, или uint64). В противном случае объект fimath не применяется. Если x не является fi тип данных object или integer, y = x.

Вход fimath , указанный как существующий объект fimath для присоединения к выходу. Ошибка возникает, если f не является fimath объект.

Выходные аргументы

свернуть все

Продукция fi объект, возвращенный как fi с тем же типом данных и значением, что и x вход. y также приложил fimath объект, f. Если вход, x, не является fi объект или целочисленный тип данных, затем y = x.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

| |

Представлен в R2012b