fix ref
[scilab.git] / scilab / modules / mexlib / tests / nonreg_tests / bug_614.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- Non-regression test for bug 614 -->
8 //
9 // <-- Bugzilla URL -->
10 // http://bugzilla.scilab.org/show_bug.cgi?id=614
11 //
12 // <-- Short Description -->
13 //    mxGetDimensions() from mex.h and mexlib.c do not work 
14 //    properly. The reason is that it returns a pointer to int 
15 //    like Matlab, but in fact, the dimensions in scilab are in 
16 //    double format.
17 //
18 //    Also occur in other OS's.
19 ilib_verbose(0);
20 my_current_directory = pwd();
21 cd(TMPDIR);
22 mputl('ilib_mex_build(''libmex'',[''mexf16'',''mexfunction16'',''cmex''],[''mexfunction16.c''],[],[],'''','''','''')','builder.sce');
23 mputl([
24 '#include ""mex.h""'
25 'void mexFunction(nlhs, plhs, nrhs, prhs)'
26 '     int nlhs, nrhs;'
27 '     mxArray *plhs[]; mxArray *prhs[];'
28 '{'
29 '  int *dims = mxGetDimensions(prhs[0]);'
30 '  sciprint(""%d %d %d\n"",dims[0],dims[1],dims[2]);'
31 '}'
32 ],'mexfunction16.c');
33 exec('builder.sce');
34 exec('loader.sce');
35 mexf16(rand(2,3,2))
36 2 3 2
37 cd(my_current_directory);