Fixed variable range in code translation

3 views (last 30 days)
I'm trying to translate in C the following code:
function [merging_flag,frameRGB_3] = merging_function(check,frame,frame_2,frameRGB_2)
%% Initialization
merging_flag = true;
row = check.frame_shift; % type uint16
colum_DL = check.DL_dimension.width; % type uint16
colum_IR = check.IR_dimension.width; % type uint16
Filler_M_DL = zeros([row colum_DL],'uint8');
Filler_M_IR = zeros([row colum_IR],'uint8');
The error occurs when the coder tries to translate Filler_m_DL e Filler_M_DL:
"Computed maximum size exceeds maximum allowed number of elements (134217728). The computed size is [:65535 x :65535]. Please consider enabling dynamic memory allocation to allow unbounded sizes".
Therefore the coder considers the variables row, colum_DL e column_IR (that are scalars) as the can space between 0 and 65535 (maximum representable value with uint16 type) but I know that those values will space between 0 ans 1000.
Is there a way to define this range for the variables and avoid to allow the dynamic memory allocation?

Accepted Answer

David Fink
David Fink on 4 May 2020

More Answers (0)


Find more on MATLAB Coder in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by