Add Warning if array is above 2GB
This PR adds a warning if arrays larger than 2GB are used in MATLAB.jl since those are not supported by the MATLAB engine api.
I think, we can close #154 since there is not much we can do about this.
MATLAB docs: https://de.mathworks.com/help/matlab/apiref/engputvariable.html
Ideally we could just capture the error/warning in matlab (whatever they are) and return that vs manually handling the various exceptions that could be thrown.
I see that is what you have in your other PR. Does that negate the need for this error msg?
No the other PR is unrelated. There I check the exceptions that are thrown in MATLAB. Here, the engine gives us a non zero error code, without any information why it failed. (I havent actually checked the matlab exception variable so maybe it has some information why?)
I wanted to add a test with large arrays but on my system (Mac, R2024) it somehow blocks Julia from working and I have to kill the process and restart the REPL 😕
Following problem happens on my machine (interestingly 2GB is not a hard limit).
MATLAB seems to block stdin (or something similiar) and the Julia REPL stops working (with the need to restart the repl forcefully).
Because of this, checking exceptions did not work for me.
Short example:
> M = 60_000
> N = 5_000 * 2
> X = rand(M,N)
> mat"x = $X" # raises error but julia REPL continuous to work
# One more matlab command, and the REPL is blocked and julia needs to be restarted
> mat"1+1"
Error using load
Cannot read file stdio.