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?

 Respuesta aceptada

Más respuestas (2)

Jan
Jan el 31 de Mzo. de 2011

1 voto

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 el 31 de Mzo. de 2011

0 votos

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 comentario

Vasiliki
Vasiliki el 6 de Abr. de 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.

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 31 de Mzo. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by