确定当前函数或变量是否使用列主布局
coder.isColumnMajor
coder.isColumnMajor (arg)
例子
coder.isColumnMajor如果当前函数使用列主数组布局,则在生成的代码中解析为true。使用函数作为控制流中的表达式(如果,其他的,开关)语句。
如果
其他的
开关
coder.isColumnMajor (参数)如果当前变量使用列主数组布局,解析为true。
coder.isColumnMajor (参数)
参数
全部折叠
若要在编译时查询函数的数组布局,请使用coder.isColumnMajor或coder.isRowMajor。当生成的代码涉及主行函数和主列函数时,此查询对于专门化生成的代码很有用。例如,考虑这个函数:
coder.isRowMajor
函数S = addMatrixRouted (A, B)如果coder.isRowMajor如果行主行,则执行此代码S = addMatrix_OptimizedForRowMajor (A, B);elseifcoder.isColumnMajor如果列是主列,则执行此代码S = addMatrix_OptimizedForColumnMajor (A, B);结束
这个函数addMatrixRouted根据它是使用行主布局还是列主布局,其行为会有所不同。例如,函数使用的布局取决于是否从包含的函数调用它coder.rowMajor或coder.columnMajor。当addMatrixRouted使用行主布局,则调用addMatrix_OptimizedForRowMajor函数,该函数对行主数据具有高效的内存访问。当该函数使用列主布局时,它调用addMatrix针对列为主数据优化的函数。
addMatrixRouted
coder.rowMajor
coder.columnMajor
addMatrix_OptimizedForRowMajor
addMatrix
通过使用查询函数,生成的代码为addMatrixRouted为阵列布局的任一选择提供有效的内存访问。
考虑到功能酒吧:
酒吧
函数酒吧coder.columnMajor;x =魔法(3);如果coder.isColumnMajor (x)流('这将总是在生成的代码中显示。\n');其他的流('这将永远不会在生成的代码中显示。\n');结束结束
生成代码:
codegen酒吧
要运行MEX函数,请输入:
bar_mex
变量来查询数组布局。
例子:coder.isColumnMajor (x);
coder.isColumnMajor (x);
不能查询结构字段或属性的数组布局。
代码生成器默认使用列主布局。
在代码生成之外,coder.isColumnMajor总是正确的。
如果coder.isColumnMajor的其他分支始终解析为true如果语句被代码生成器忽略。否则,将为每个数组布局创建当前函数的一个实例。
coder.columnMajor|coder.isRowMajor|coder.rowMajor
您点击了对应于以下MATLAB命令的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译内容,并查看当地的活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系
得到审判现在