I'd like to generate some code using MATLAB Embedded Coder that runs an fft2
operation on a uint8
datatype. The end application is going to operate on images up to 4096 by 4096, so I'd like to not have to use the double
(~134MB of double data vs. ~16MB) input required to get emlc
to compile my code right now.
Here's a sample of what I'm running:
%#eml
function bar = emlc_test(foo)
bar = fft2(foo);
end
with compiler command:
emlc -T rtw emlc_test -c -report -v -eg { zeros(32,32,'uint8') }
This throws error:
??? Function 'fft' is not defined for values of class 'uint8'.
The same code/compilation command works fine when changing 'uint8'
to 'double'
But looking at the generated code it seems like processing should be capable of running in uint8 space. Is there a flag I'm missing to allow my fft2
operation to work on uint8
data rather than double
data?