How to return a uint64_t from a mex function?

3 vues (au cours des 30 derniers jours)
Shlomo Geva
Shlomo Geva le 22 Nov 2021
Commenté : Shlomo Geva le 22 Nov 2021
I want to assign to plhs[0] a scalar of type uint64_t.
Not sure what function to call.
e.g. if I have
uint64_t y=123;
and I want to return y to Matlab
I tried
plhs[0] = mxCreateDoubleScalar(y);
But this is not the right call as it is not a double. How to create a uint64_t variable in the mex function? in there another mxCreate...

Réponse acceptée

Bruno Luong
Bruno Luong le 22 Nov 2021
mxArray *A;
A = mxCreateNumericMatrix(1, 1, mxUINT64_CLASS, mxREAL);
*(mxGetUint64s(A)) = 123;

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by