How to make two mxArray* scalar multiply each other?

5 views (last 30 days)
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

Accepted Answer

James Tursa
James Tursa on 15 Feb 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);

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!