* Bug #13512 fixed - DE: dae crashed if the evaluation function had wrong prototype
[scilab.git] / scilab / modules / differential_equations / tests / nonreg_tests / bug_13512.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
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 13512 -->
11 //
12 // <-- Bugzilla URL -->
13 //http://bugzilla.scilab.org/show_bug.cgi?id=13512
14 //
15 // <-- Short Description -->
16 // dae crashed if the evaluation function had wrong prototype
17 y0 = 0;
18 t0 = 0;
19 t  = 1;
20 // ==================================================================
21 // DASSL
22 // -------------------------------
23 // With initial yprime computation
24 // The evaluation function purposely lacks the output argument 'ires'
25 deff("ydot = f1(t, y)", "ydot = y^2 - y*sin(t) + cos(t)")
26 refMsg = msprintf(_("Wrong number of output arguments."));
27 assert_checkerror("y = dae(y0, t0, t, f1);", refMsg);
28  ***MESSAGE FROM ROUTINE DDASSL IN LIBRARY SLATEC.
29  ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
30  *  AT T =    1.000000D-03  AND STEPSIZE H =    1.000000D-03  THE INITIAL
31  *  YPRIME COULD NOT BE COMPUTED
32  *  ERROR NUMBER = -12
33  *   
34  ***END OF MESSAGE
35  
36  ***JOB ABORT DUE TO UNRECOVERED ERROR.
37 0          ERROR MESSAGE SUMMARY
38  LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
39  SLATEC     DDASSL     AT T =    1.000000D-       -12         1         1                                                                           
40  
41 // The evaluation function purposely lacks the input argument 'ydot'
42 deff("[ydot,ires] = f2(t, y)", "ydot = y^2 - y*sin(t) + cos(t)");
43 refMsg = msprintf(_("Wrong number of input arguments."));
44 assert_checkerror("y = dae(y0, t0, t, f2);", refMsg);
45  ***MESSAGE FROM ROUTINE DDASSL IN LIBRARY SLATEC.
46  ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
47  *  AT T =    1.000000D-03  AND STEPSIZE H =    1.000000D-03  THE INITIAL
48  *  YPRIME COULD NOT BE COMPUTED
49  *  ERROR NUMBER = -12
50  *   
51  ***END OF MESSAGE
52  
53  ***JOB ABORT DUE TO UNRECOVERED ERROR.
54 0          ERROR MESSAGE SUMMARY
55  LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
56  SLATEC     DDASSL     AT T =    1.000000D-       -12         1         2                                                                           
57  
58 // ----------------------------------
59 // Without initial yprime computation
60 // The evaluation function purposely lacks the output argument 'ires'
61 refMsg = msprintf(_("Wrong number of output arguments."));
62 assert_checkerror("y = dae([y0; 0], t0, t, f1);", refMsg);
63  ***MESSAGE FROM ROUTINE DDASSL IN LIBRARY SLATEC.
64  ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
65  *  AT T =    1.000000D-03  AND STEPSIZE H =    1.000000D-03  THE INITIAL
66  *  YPRIME COULD NOT BE COMPUTED
67  *  ERROR NUMBER = -12
68  *   
69  ***END OF MESSAGE
70  
71  ***JOB ABORT DUE TO UNRECOVERED ERROR.
72 0          ERROR MESSAGE SUMMARY
73  LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
74  SLATEC     DDASSL     AT T =    1.000000D-       -12         1         3                                                                           
75  
76 // The evaluation function purposely lacks the input argument 'ydot'
77 refMsg = msprintf(_("Wrong number of input arguments."));
78 assert_checkerror("y = dae([y0; 0], t0, t, f2);", refMsg);
79  ***MESSAGE FROM ROUTINE DDASSL IN LIBRARY SLATEC.
80  ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
81  *  AT T =    1.000000D-03  AND STEPSIZE H =    1.000000D-03  THE INITIAL
82  *  YPRIME COULD NOT BE COMPUTED
83  *  ERROR NUMBER = -12
84  *   
85  ***END OF MESSAGE
86  
87  ***JOB ABORT DUE TO UNRECOVERED ERROR.
88 0          ERROR MESSAGE SUMMARY
89  LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
90  SLATEC     DDASSL     AT T =    1.000000D-       -12         1         4                                                                           
91  
92 // ==================================================================
93 // DASRT
94 deff("r = g(t, y)", "r = ones(y)");
95 // -------------------------------
96 // With initial yprime computation
97 // The evaluation function purposely lacks the output argument 'ires'
98 refMsg = msprintf(_("Wrong number of output arguments."));
99 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f1, 1, g);", refMsg);
100 // The evaluation function purposely lacks the input argument 'ydot'
101 refMsg = msprintf(_("Wrong number of input arguments."));
102 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f2, 1, g);", refMsg);
103 // ----------------------------------
104 // Without initial yprime computation
105 // The evaluation function purposely lacks the output argument 'ires'
106 refMsg = msprintf(_("Wrong number of output arguments."));
107 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f1, 1, g);", refMsg);
108 // The evaluation function purposely lacks the input argument 'ydot'
109 refMsg = msprintf(_("Wrong number of input arguments."));
110 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f2, 1, g);", refMsg);
111 // ==================================================================
112 // DASKR
113 // -------------------------------
114 // With initial yprime computation
115 // The evaluation function purposely lacks the output argument 'ires'
116 refMsg = msprintf(_("Wrong number of output arguments."));
117 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f1, 1, g);", refMsg);
118 DASKR--  AT T (=R1) AND STEPSIZE H (=R2) THE                                    
119 DASKR--  INITIAL (Y,YPRIME) COULD NOT BE COMPUTED                               
120       In above message,  R1 =  0.1000000000000D-02   R2 =  0.1000000000000D-02  
121 // The evaluation function purposely lacks the input argument 'ydot'
122 refMsg = msprintf(_("Wrong number of input arguments."));
123 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f2, 1, g);", refMsg);
124 DASKR--  AT T (=R1) AND STEPSIZE H (=R2) THE                                    
125 DASKR--  INITIAL (Y,YPRIME) COULD NOT BE COMPUTED                               
126       In above message,  R1 =  0.1000000000000D-02   R2 =  0.1000000000000D-02  
127 // ----------------------------------
128 // Without initial yprime computation
129 // The evaluation function purposely lacks the output argument 'ires'
130 refMsg = msprintf(_("Variable returned by scilab argument function is incorrect."));
131 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f1, 1, g);", refMsg);
132 DASKR--  AT T (=R1) AND STEPSIZE H (=R2) THE                                    
133 DASKR--  INITIAL (Y,YPRIME) COULD NOT BE COMPUTED                               
134       In above message,  R1 =  0.1000000000000D-02   R2 =  0.1000000000000D-02  
135 // The evaluation function purposely lacks the input argument 'ydot'
136 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f2, 1, g);", refMsg);
137 DASKR--  AT T (=R1) AND STEPSIZE H (=R2) THE                                    
138 DASKR--  INITIAL (Y,YPRIME) COULD NOT BE COMPUTED                               
139       In above message,  R1 =  0.1000000000000D-02   R2 =  0.1000000000000D-02