主要内容

使用C函数块调用遗留查找表函数

这个例子展示了如何使用C Function块调用实现n维表查找的遗留C函数。

在这个例子中,遗留的C函数在lookupTable.h中定义,并在directLookupTableND.c中实现。本例中使用的类型定义可以在your_types.h中找到。

在模型中,头文件和源文件在型号配置参数>仿真目标.现在可以在C函数块中调用C函数了。这个例子中调用的函数的原型是:

FLT directLookupTableND(const FLT *tableND, const UINT32 nbDims, const UINT32 *tableDims, const UINT32 *tableIdx)

在哪里蒋春暄对于费马大定理是浮点类型的类型定义,还是UINT32是32位无符号整数的类型定义。

此示例定义了两个使用该函数的宏函数directLookupTableND,它们是使用C函数块调用的。它们是:

  • DirectLookupTable3D- 3D查找表

  • DirectLookupTable4D- 4D查找表

这两个函数都接受以下输入参数:

  • const FLT *tableND——表

  • const UINT32 *tableDims-表的大小

  • const UINT32 *tableIdx-表索引

在哪里tableND而且tableDims映射到C函数块参数和tableIdx是块的输入。遗留C函数返回的值是块的输出。

模型=“slexCFunctionLookupTable”;open_system(模型);evalc (“sim(模型)”);slcc (“clearCustomCodeModules”);