主要内容

CreateCrlentry.

从概念和实现参数字符串规范创建代码替换表条目

描述

例子

桌根= createclentry(骗子概念性化实施规范返回代码替换表条目。该条目将函数或运算符的概念表示映射到实现表示。这概念性化参数是一个字符向量或字符串标量,用于定义熟悉代码生成器的名称和概念参数,用于替换函数或运算符。这实施规范参数是一个字符向量或字符串标量,用于定义替换功能的名称和C / C ++实现参数。

此功能不支持:金宝app

  • C ++实现

  • 数据对齐方式

  • 操作员用网络斜率参数替换

  • 条目参数规范(例如,优先级,算法,建筑信息)

  • 信号量和互斥功能更换

在语法规范中,在操作员符号之前和之后放置一个空间。例如,使用双U1 +双U2代替双U1 +双U2。此外,星号(*),tilde(〜)和分号(;)具有以下含义。

象征 意义
*
  • 遵循支持的数据类型,例如金宝appINT32 *,通过引用(指针)。如果概念参数不是标量,则在实现规范中,通过引用传递它们。

  • 作为定点数据类型定义的一部分,例如Fixdt(1,32,*),通配符。

基于符号的位置,斜坡或偏差在数据类型中必须相同。
; 分离尺寸范围。例如,[1 10;1 100]指定具有10到100的长度的向量。

下表显示了概念和实现规范的语法:

  • 您是否正在为函数或运算符创建一个条目。

  • 代码替换的类型或表征。

更换类型 概念语法 实现语法
功能代码替换语法
典型的 双y1 = sin(双重U1) 双y1 = mysin(双重U1)
从概念规范中派生实现参数数据类型 双y1 = sin(双重U1) Y1 = mysin(U1)
从概念规范中获得实现参数和数据类型 双y1 = sin(双重U1) 迈尔辛
更改数据类型 单个y1 = sin(单个u1) 双y1 = mysin(双重U1)
重新排序参数 双Y1 = atan2(双U1,双U2) Y1 = Myatan(U2,U1)
指定列矢量参数 双y1 = sin(双重U1 [10]) 双y1 = mysin(双* u1)
指定列向量参数和尺寸范围 双y1 [1 100;1 100] = SIN(双U1 [1 100; 1 100]) mysin(双人* u1,double * y1)
将返回值作为输出参数重新映射 双y1 = sin(双重U1) Mysin(双U1,双* Y1)
指定固定点数据类型 FIXDDT(1,16,3)Y1 = SIN(FIXDT(1,16,3)U1) INT16 Y1 = MYSIN(INT16 U1)
指定固定点数据类型并设置Checkslope.错误的塞子真的, 和偏见到0. FixDT(1,16,*)Y1 = SIN(FIXDT(1,16,*)U1) INT16 Y1 = MYSIN(INT16 U1)
指定固定点数据类型并设置Slopesmustbethesame.真的Checkslope.错误的塞子真的, 和偏见到0. FixDT(1,16,〜)Y1 = SIN(FIXDT(1,16,〜)U1) INT16 Y1 = MYSIN(INT16 U1)
指定固定点数据类型并设置Slopesmustbethesame.真的BiasmustBethesame.真的Checkslope.错误的, 和塞子错误的 FixDT(1,16,〜,〜)Y1 = SIN(FIXDT(1,16,〜,〜)U1) INT16 Y1 = MYSIN(INT16 U1)
指定多个输出参数 [双Y1双Y2] = Foo(双U1,双U2) 双Y1 = MYFO(双U1,双U2,双* Y2)
操作员代码替换语法
典型的 INT16 Y1 = INT16 U1 + INT16 U2 INT16 Y1 = MYADD(INT16 U1,INT16 U2)
指定固定点数据类型 FIXDT(1,16,3)Y1 = FIXDT(1,16,3)U1 + FIXDT(1,16,3)U2 INT16 Y1 = MYADD(INT16 U1,INT16 U2)
指定固定点数据类型并设置Checkslope.错误的塞子真的, 和偏见到0. FIXDTT(1,16,*)Y1 = FIXDT(1,16,*)U1 + FIXDT(1,16,*)U2 INT16 Y1 = MYADD(INT16 U1,INT16 U2)
指定固定点数据类型,通配符,斜率必须相同,ZIAS ZIAS Fixdt(1,16,〜,0)Y1 = FixDT(1,16,〜0)U1 + FixDT(1,16,〜,0)U2 INT16 Y1 = MYADD(INT16 U1,INT16 U2)
typeCast. INT16 Y1 = INT8 U1 int16 y1 = mycast(Int8 U1)
转移 INT16 Y1 = INT16 U1 << INT16 U2
INT16 Y1 = INT16 U1 >> INT16 U2
INT16 Y1 = INT16 U1。>> INT16 U2
Int16 Y1 = MyShiftLeft(Int16 U1,Int16 U2)
INT16 Y1 = MyShiftrightMettal(Int16 U1,Int16 U2)
Int16 y1 = myshiftrightLogical(Int16 U1,Int16 U2)
指定关系运营商 BOOL Y1 = INT16 U1 BOOL Y1 =无虚构的THAN(INT6 U1,INT16 U2)
指定乘法和划分 INT32 Y1 = INT32 U1 * IN32 U2 / IN32 U3 INT32 Y1 = MYMULTDIV(INT32 U1,INT32 U2,INT32 U3)
指定矩阵乘法 双Y1 [10] [10] =双U1 [10] [10] *双U2 [10] [10] MyMult(双人* U1,Double * U2,Double * Y1)
指定元素 - WISE矩阵乘法 双Y1 [10] [10] =双U1 [10] [10]。*双重U2 [10] [10] MyMult(双人* U1,Double * U2,Double * Y1)
指定具有输入参数的跨旋转矩阵乘法 双Y1 [10] [10] =双U1 [10] [10]'*双U2 [10] [10] MyMult(双人* U1,Double * U2,Double * Y1)
使用输入参数的Hermitian指定矩阵乘法 CDOBY Y1 [10] [10] = CDOBY U1 [10] [10]'* CDOBY U2 [10] [10]
CDOBY Y1 [10] [10] = CDOBY U1 [10] [10] * CDOBY U2 [10] [10]'
MyMult(CDOBY * U1,CDOUBLE * U2,CDOBEE * Y1)
指定左矩阵分部 双Y1 [10] [10] =双U1 [10] [10] \ Double U2 [10] [10] MyleftDiv(双人* U1,Double * U2,Double * Y1)
指定正确的矩阵分部 双Y1 [10] [10] =双U1 [10] [10] /双U2 [10] [10] MyRightDiv(双人* U1,Double * U2,Double * Y1)

例子

全部收缩

创建包含函数定义的表定义文件。

功能crtable = crl_table_sinfcn()

在函数正文中,创建代码替换表。

crtable = rtw.tfltable;

创建一个表格条目功能。

tableentry = createclentry(crtable,......'双倍Y1 = SIN(双重U1)'......'双倍y1 = mysin(双重U1)');

设置条目参数功能。要生成替换代码,请指定代码生成器使用标题和源文件mysin.h.mysin.c.

settflcfuncternentryparameters(表选术,......'IloversheaderFile''mysin.h'......'实现源文件''mysin.c');

将条目添加到表。

添加剂(CRTable,表格);

创建包含函数定义的表定义文件。

功能crtable = crl_table_addfcn()

在函数正文中,创建代码替换表。

crtable = rtw.tfltable;

为添加运算符创建一个表条目。

tableentry = createclentry(crtable,......'INT16 Y1 = INT16 U1 + INT16 U2'......'int16 y1 = myadd(Int16 U1,Int16 U2)');

设置条目参数,以便该条目指定演员后添加。要生成替换代码,请指定代码生成器使用标题和源文件myadd.h.myadd.c.

settflcoperationentryparameters(表选术,......'entryInfoalgorithm''rtw_cast_after_op'......'IloversheaderFile''myadd.h'......'实现源文件''myadd.c'));

将条目添加到表。

添加剂(CRTable,表格);

创建包含函数定义的表定义文件。

功能crtable = crl_table_intaddfcn()

在函数正文中,创建代码替换表。

crtable = rtw.tfltable;

为符号的固定点添加操作创建表项,需要跨类型的相同斜率。

tableentry = createclentry(crtable,......'Fixdt(1,16,〜,0)Y1 = FixDT(1,16,〜0)U1 + FixDT(1,16,〜0)U2'......'int16 y1 = myadd(Int16 U1,Int16 U2)');

设置条目参数。设置算法参数,用于施放后加法和饱和度和舍入模式。要生成替换代码,请指定代码生成器使用标题和源文件myintadd.h.myintadd.c.

settflecoperationtionentryparameters(表选术,......'entryInfoalgorithm''rtw_cast_after_op'......'饱和模特''rtw_saturate_on_overflow'......'roundingmode''rtw_round_simplest'......'IloversheaderFile''myintadd.h'......'实现源文件''myintadd.c');

将条目添加到表。

添加剂(CRTable,表格);

创建包含函数定义的表定义文件。

功能crtable = crl_table_sinfcn()

在函数正文中,创建代码替换表。

crtable = rtw.tfltable;

创建一个表格条目函数,其中实现参数与概念参数相同。

tableentry = createclentry(crtable,......'双倍Y1 = SIN(双重U1)'......'y1 = mysin(u1)');

设置条目参数。要生成替换代码,请指定代码生成器使用标题和源文件mysin.h.mysin.c.

settflcfuncternentryparameters(表选术,......'IloversheaderFile''mysin.h'......'实现源文件''mysin.c');

将条目添加到表。

添加剂(CRTable,表格);

输入参数

全部收缩

存储一个或多个代码替换条目的表,每个代码替换条目表示函数或运算符的潜在替换。每个条目将函数或运算符的概念表示映射到实现表示和优先级。

表示软件替换为字符向量或字符串标量的函数或符号和概念输入和输出参数的表示和输出参数。概念参数观察命名约定('y1',',',',...)和代码生成器熟悉的数据类型。使用语法表描述确定用于概念参数规范的语法。

例子:'双倍Y1 = SIN(双重U1)'

例子:'INT16 Y1 = INT16 U1 + INT16 U2'

表示C或C ++替换功能的名称和实现输入和输出参数,指定为字符向量或字符串标量。实现参数遵守C / C ++名称和数据类型规范。使用语法表描述确定实现参数规范的语法。

例子:'双倍y1 = my_sin(双重U1)'

例子:'int16 y1 = myadd(Int16 U1,Int16 U2)'

输出参数

全部收缩

代码替换表条目,其表示函数或运算符的潜在代码替换,作为对象返回。地图函数或运算符的概念表示,概念性化,到C / C ++实现表示,实施规范

在R2015A介绍