685d6fa329f76d960bce094a7113b149d6bbadc3
[scilab.git] / scilab / modules / special_functions / tests / nonreg_tests / bug_10450.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - DIGITEO - Allan CORNET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // <-- Non-regression test for bug 10450 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/show_bug.cgi?id=10450
14 //
15 // Allows overloading for gamma, dlgamma and gammaln functions for list, tlist, 
16 // mlist and hypermatrices types. 
17 msgerr = msprintf(gettext("Function not defined for given argument type(s),\n"));
18 l = list(1, 2);
19 assert_checkerror("dlgamma(l)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%l_dlgamma")]);
20 assert_checkerror("gammaln(l)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%l_gammaln")]);
21 assert_checkerror("gamma(l)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%l_gamma")]);
22 tl =  tlist(["mytlist", "field1", "field2"], [], []);
23 assert_checkerror("dlgamma(tl)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mytlist_dlgamma")]);
24 assert_checkerror("gammaln(tl)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mytlist_gammaln")]);
25 assert_checkerror("gamma(tl)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mytlist_gamma")]);
26 ml = mlist(['mymlist','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
27 assert_checkerror("dlgamma(ml)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mymlist_dlgamma")]);
28 assert_checkerror("gammaln(ml)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mymlist_gammaln")]);
29 assert_checkerror("gamma(ml)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%mymlist_gamma")]);
30 n(1, 1, 1, 1:2) = [1 2];
31 assert_checkerror("dlgamma(n)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%hm_dlgamma")]);
32 assert_checkerror("gammaln(n)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%hm_gammaln")]);
33 assert_checkerror("gamma(n)", [msgerr; msprintf(gettext("  check arguments or define function %s for overloading.\n"), "%hm_gamma")]);
34 function Y = %l_dlgamma(X),  Y = %T; endfunction
35 function Y = %l_gammaln(X),  Y = %T; endfunction
36 function Y = %l_gamma(X),  Y = %T; endfunction
37 l = list(1, 2);
38 assert_checkequal(dlgamma(l), %T);
39 assert_checkequal(gammaln(l), %T);
40 assert_checkequal(gamma(l), %T);
41 function Y = %mytlist_dlgamma(X),  Y = %T; endfunction
42 function Y = %mytlist_gammaln(X),  Y = %T; endfunction
43 function Y = %mytlist_gamma(X),   Y = %T; endfunction
44 tl =  tlist(["mytlist", "field1", "field2"], [], []);
45 assert_checkequal(dlgamma(tl), %T);
46 assert_checkequal(gammaln(tl), %T);
47 assert_checkequal(gamma(tl), %T);
48 function Y = %mymlist_dlgamma(X),   Y = %T; endfunction
49 function Y = %mymlist_gammaln(X),  Y = %T; endfunction
50 function Y = %mymlist_gamma(X),  Y = %T; endfunction
51 ml = mlist(['mymlist','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
52 assert_checkequal(dlgamma(ml), %T);
53 assert_checkequal(gammaln(ml), %T);
54 assert_checkequal(gamma(ml), %T);
55 function Y = %hm_dlgamma(X),   Y = %T; endfunction
56 function Y = %hm_gammaln(X),   Y = %T; endfunction
57 function Y = %hm_gamma(X),   Y = %T; endfunction
58 n(1, 1, 1, 1:2) = [1 2];
59 assert_checkequal(dlgamma(n), %T);
60 assert_checkequal(gammaln(n), %T);
61 assert_checkequal(gamma(n), %T);