Fix nonreg test bug_614 (mexlib), update ref (windows), create ref (linux)
[scilab.git] / scilab / modules / mexlib / tests / nonreg_tests / bug_614.tst
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
8 // <-- Non-regression test for bug 614 -->
9 //
10 // <-- Bugzilla URL -->
11 // http://bugzilla.scilab.org/show_bug.cgi?id=614
12 //
13 // <-- Short Description -->
14 //    mxGetDimensions() from mex.h and mexlib.c do not work 
15 //    properly. The reason is that it returns a pointer to int 
16 //    like Matlab, but in fact, the dimensions in scilab are in 
17 //    double format.
18 //
19 //    Also occur in other OS's.
20
21 my_current_directory = pwd();
22 cd(TMPDIR);
23 mputl('ilib_mex_build(''libmex'',[''mexf16'',''mexfunction16'',''cmex''],[''mexfunction16.c''],[],''Makelib'','''','''','''')','builder.sce');
24
25 mputl([
26 '#include ""mex.h""'
27 'void mexFunction(nlhs, plhs, nrhs, prhs)'
28 '     int nlhs, nrhs;'
29 '     mxArray *plhs[]; mxArray *prhs[];'
30 '{'
31 '  int *dims = mxGetDimensions(prhs[0]);'
32 '  sciprint(""%d %d %d\n"",dims[0],dims[1],dims[2]);'
33 '}'
34 ],'mexfunction16.c');
35
36 exec('builder.sce');
37 exec('loader.sce');
38
39 mexf16(rand(2,3,2))
40
41 cd(my_current_directory);