How to make two mxArray* scalar multiply each other?

Hi,
I have a simple step of multiplying two double scalar variables in mex. Why not the type "mxDouble" support multiply? Must I convert the mxDouble to double in c? My sample code is as below. I don't know much about the mx* type data. Thank you.
mxDouble* x = mxGetPr(prhs[0]);
mxDouble* y = mxGetPr(prhs[1]);
plhs[0] = mxCreateDoubleScalar (x*y);
% expression must have arithmetic or unscoped enum type

 Respuesta aceptada

James Tursa
James Tursa el 15 de Feb. de 2021
x and y are pointers, so you need to dereference them to get at the double values they point to. So your code should be:
plhs[0] = mxCreateDoubleScalar (*x * *y);

Más respuestas (0)

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 15 de Feb. de 2021

Respondida:

el 15 de Feb. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by