how define input data type

when defining a function, for example
function y = func(x)
how can I define that x is of a specific type, like uint8?

 Réponse acceptée

Plus de réponses (2)

Jan
Jan le 31 Mar 2011

1 vote

I do not see the problem.
function y = func(x)
disp(x + x)
And then call it with an UINT8:
func(uint8(1:10))
Or do you want to reject inputs with a deviating type? Then:
function y = func(x)
if ~isa(x, 'uint8')
error('Bad type!');
end
disp(x + x)
Or do you want to convert the input?
function y = func(x)
x = uint8(x);
disp(x + x)
Vasiliki
Vasiliki le 31 Mar 2011

0 votes

I want to generate c code using the embedded toolbox. The default type of the input is double, but I need integers or fixed point in order to use the c code in a microprocesor. So, I want to see if there is a way that matlab can "understand" that the input will be integer so that when it generates the c code i will have:
uint16 func (uint16 u)
Of course after the generation of the code I can do it maually, but I want to see if there is an automatic way.

1 commentaire

Vasiliki
Vasiliki le 6 Avr 2011
it can be done at the compilation with emlc and -eg emlcoder.egs, defining that the input is of variable size and its type and class is the desirable one.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by