mathlib-slatec-dassl.c
1 //! @file mathlib-slatec-dassl.c
2 //
3 //! @section copyright
4 //
5 // This file is part of VIF - vintage fortran compiler.
6 // Copyright 2020-2025 J. Marcel van der Veer <algol68g@xs4all.nl>.
7 //
8 //! @section license
9 //
10 // This program is free software; you can redistribute it and/or modify it
11 // under the terms of the gnu general public license as published by the
12 // free software foundation; either version 3 of the license, or
13 // (at your option) any later version.
14 //
15 // This program is distributed in the hope that it will be useful, but
16 // without any warranty; without even the implied warranty of merchantability
17 // or fitness for a particular purpose. See the GNU general public license for
18 // more details. you should have received a copy of the GNU general public
19 // license along with this program. If not, see <http://www.gnu.org/licenses/>.
20 //
21 //! @Synopsis
22 //
23 //! 16 subprograms from SLATEC-DASSL
24
25 // Compiled from Fortran source code by VIF.
26 // Selected subprograms are:
27 //
28 // DDAINI DDANRM DDASSL DDATRP SDAINI SDANRM SDASSL SDASTP SDATRP SDAWTS
29 // DDAJAC DDASLV DDASTP DDAWTS SDAJAC SDASLV
30
31 // The license for SLATEC Fortran source code is:
32 //
33 // The SLATEC Common Mathematical Library was developed at
34 // US government research laboratories and is in the public domain.
35 //
36 // Repository: http://www.netlib.org/slatec/
37 //
38 // The SLATEC common mathematical library is issued by the following
39 //
40 // Air Force Weapons Laboratory, Albuquerque
41 // Lawrence Livermore National Laboratory, Livermore
42 // Los Alamos National Laboratory, Los Alamos
43 // National Institute of Standards and Technology, Washington
44 // National Energy Research Supercomputer Center, Livermore
45 // Oak Ridge National Laboratory, Oak Ridge
46 // Sandia National Laboratories, Albuquerque
47 // Sandia National Laboratories, Livermore
48 //
49 // All questions concerning the distribution of the library should be
50 // directed to the NATIONAL ENERGY SOFTWARE CENTER, 9700 Cass Ave.,
51 // Argonne, Illinois 60439, and not to the authors of the subprograms.
52 //
53 // * * * * * Notice * * * * *
54 //
55 // This material was prepared as an account of work sponsored by the
56 // United States Government. Neither the United States, nor the
57 // Department of Energy, nor the Department of Defense, nor any of
58 // their employees, nor any of their contractors, subcontractors, or
59 // their employees, makes any warranty, expressed or implied, or
60 // assumes any legal liability or responsibility for the accuracy,
61 // completeness, or usefulness of any information, apparatus, product,
62 // or process disclosed, or represents that its use would not infringe
63 // upon privately owned rights.
64
65 /*
66 Generated by VIF - experimental VIntage Fortran compiler.
67 VIF release 1.2.17
68 */
69 #if defined (__GNUC__)
70 #pragma GCC diagnostic ignored "-Wimplicit-function-declaration"
71 #pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
72 #if (__GNUC__ >= 14)
73 #pragma GCC diagnostic ignored "-Wdeclaration-missing-parameter-type"
74 #pragma GCC diagnostic ignored "-Wimplicit-int"
75 #pragma GCC diagnostic ignored "-Wint-conversion"
76 #pragma GCC diagnostic ignored "-Wreturn-mismatch"
77 #endif
78 #else
79 #error VIF requires GCC
80 #endif
149 static CALLS __calls[__ncalls] = {
150 {"ddaini", 0}, // subroutine
151 {"ddajac", 0}, // subroutine
152 {"ddanrm", 0}, // real*8 function
153 {"ddaslv", 0}, // subroutine
154 {"ddassl", 0}, // subroutine
155 {"ddastp", 0}, // subroutine
156 {"ddatrp", 0}, // subroutine
157 {"ddawts", 0}, // subroutine
158 {"sdaini", 0}, // subroutine
159 {"sdajac", 0}, // subroutine
160 {"sdanrm", 0}, // real*4 function
161 {"sdaslv", 0}, // subroutine
162 {"sdassl", 0}, // subroutine
163 {"sdastp", 0}, // subroutine
164 {"sdatrp", 0}, // subroutine
165 {"sdawts", 0}, // subroutine
166 {NULL, 0}
167 };
168
170 (*_jac)(), real_8 _p_ h_, real_8 _p_ wt_, int_4 _p_ idid_, real_8 _p_ rpar_, int_4 _p_ ipar_, real_8 _p_ phi_, real_8
171 _p_ delta_, real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, real_8 _p_ hmin_, real_8 _p_ uround_, int_4 _p_ nonneg_,
172 int_4 _p_ ntemp_);
174 _p_ cj_, real_8 _p_ h_, int_4 _p_ ier_, real_8 _p_ wt_, real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, int_4 (*_res)(),
175 int_4 _p_ ires_, real_8 _p_ uround_, int_4 (*_jac)(), real_8 _p_ rpar_, int_4 _p_ ipar_, int_4 _p_ ntemp_);
179 tout_, int_4 _p_ info_, real_8 _p_ rtol_, real_8 _p_ atol_, int_4 _p_ idid_, real_8 _p_ rwork_, int_4 _p_ lrw_, int_4
180 _p_ iwork_, int_4 _p_ liw_, real_8 _p_ rpar_, int_4 _p_ ipar_, int_4 (*_jac)());
182 (*_jac)(), real_8 _p_ h_, real_8 _p_ wt_, int_4 _p_ jstart_, int_4 _p_ idid_, real_8 _p_ rpar_, int_4 _p_ ipar_, real_8
183 _p_ phi_, real_8 _p_ delta_, real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, real_8 _p_ alpha_, real_8 _p_ beta_, real_8
184 _p_ gamma_, real_8 _p_ psi_, real_8 _p_ sigma_, real_8 _p_ cj_, real_8 _p_ cjold_, real_8 _p_ hold_, real_8 _p_ s_,
185 real_8 _p_ hmin_, real_8 _p_ uround_, int_4 _p_ iphase_, int_4 _p_ jcalc_, int_4 _p_ k_, int_4 _p_ kold_, int_4 _p_ ns_
186 , int_4 _p_ nonneg_, int_4 _p_ ntemp_);
188 _p_ kold_, real_8 _p_ phi_, real_8 _p_ psi_);
190 wt_, real_8 _p_ rpar_, int_4 _p_ ipar_);
192 (*_jac)(), real_4 _p_ h_, real_4 _p_ wt_, int_4 _p_ idid_, real_4 _p_ rpar_, int_4 _p_ ipar_, real_4 _p_ phi_, real_4
193 _p_ delta_, real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, real_4 _p_ hmin_, real_4 _p_ uround_, int_4 _p_ nonneg_,
194 int_4 _p_ ntemp_);
196 _p_ cj_, real_4 _p_ h_, int_4 _p_ ier_, real_4 _p_ wt_, real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, int_4 (*_res)(),
197 int_4 _p_ ires_, real_4 _p_ uround_, int_4 (*_jac)(), real_4 _p_ rpar_, int_4 _p_ ipar_, int_4 _p_ ntemp_);
201 tout_, int_4 _p_ info_, real_4 _p_ rtol_, real_4 _p_ atol_, int_4 _p_ idid_, real_4 _p_ rwork_, int_4 _p_ lrw_, int_4
202 _p_ iwork_, int_4 _p_ liw_, real_4 _p_ rpar_, int_4 _p_ ipar_, int_4 (*_jac)());
204 (*_jac)(), real_4 _p_ h_, real_4 _p_ wt_, int_4 _p_ jstart_, int_4 _p_ idid_, real_4 _p_ rpar_, int_4 _p_ ipar_, real_4
205 _p_ phi_, real_4 _p_ delta_, real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, real_4 _p_ alpha_, real_4 _p_ beta_, real_4
206 _p_ gamma_, real_4 _p_ psi_, real_4 _p_ sigma_, real_4 _p_ cj_, real_4 _p_ cjold_, real_4 _p_ hold_, real_4 _p_ s_,
207 real_4 _p_ hmin_, real_4 _p_ uround_, int_4 _p_ iphase_, int_4 _p_ jcalc_, int_4 _p_ k_, int_4 _p_ kold_, int_4 _p_ ns_
208 , int_4 _p_ nonneg_, int_4 _p_ ntemp_);
210 _p_ kold_, real_4 _p_ phi_, real_4 _p_ psi_);
212 wt_, real_4 _p_ rpar_, int_4 _p_ ipar_);
213 int_4 _ddaini (real_8 _p_ x_, real_8 _p_ y_, real_8 _p_ yprime_, int_4 _p_ neq_, int_4 (*_res)(), int_4 (*_jac)(),
214 real_8 _p_ h_, real_8 _p_ wt_, int_4 _p_ idid_, real_8 _p_ rpar_, int_4 _p_ ipar_, real_8 _p_ phi_, real_8 _p_ delta_,
215 real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, real_8 _p_ hmin_, real_8 _p_ uround_, int_4 _p_ nonneg_, int_4 _p_
216 ntemp_)
217 { // ** body not listed **
407 }
408
409 int_4 _ddajac (int_4 _p_ neq_, real_8 _p_ x_, real_8 _p_ y_, real_8 _p_ yprime_, real_8 _p_ delta_, real_8 _p_ cj_,
410 real_8 _p_ h_, int_4 _p_ ier_, real_8 _p_ wt_, real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, int_4 (*_res)(), int_4
411 _p_ ires_, real_8 _p_ uround_, int_4 (*_jac)(), real_8 _p_ rpar_, int_4 _p_ ipar_, int_4 _p_ ntemp_)
412 { // ** body not listed **
520 }
521
522 real_8 _ddanrm (int_4 _p_ neq_, real_8 _p_ v_, real_8 _p_ wt_, real_8 _p_ rpar_, int_4 _p_ ipar_)
523 { // ** body not listed **
546 }
547
548 int_4 _ddaslv (int_4 _p_ neq_, real_8 _p_ delta_, real_8 _p_ wm_, int_4 _p_ iwm_)
549 { // ** body not listed **
573 }
574
575 int_4 _ddassl (real_4 (*_res)(), int_4 _p_ neq_, real_8 _p_ t_, real_8 _p_ y_, real_8 _p_ yprime_, real_8 _p_ tout_,
576 int_4 _p_ info_, real_8 _p_ rtol_, real_8 _p_ atol_, int_4 _p_ idid_, real_8 _p_ rwork_, int_4 _p_ lrw_, int_4 _p_
577 iwork_, int_4 _p_ liw_, real_8 _p_ rpar_, int_4 _p_ ipar_, int_4 (*_jac)())
578 { // ** body not listed **
2535 }
2536
2537 int_4 _ddastp (real_8 _p_ x_, real_8 _p_ y_, real_8 _p_ yprime_, int_4 _p_ neq_, int_4 (*_res)(), int_4 (*_jac)(),
2538 real_8 _p_ h_, real_8 _p_ wt_, int_4 _p_ jstart_, int_4 _p_ idid_, real_8 _p_ rpar_, int_4 _p_ ipar_, real_8 _p_ phi_,
2539 real_8 _p_ delta_, real_8 _p_ e_, real_8 _p_ wm_, int_4 _p_ iwm_, real_8 _p_ alpha_, real_8 _p_ beta_, real_8 _p_
2540 gamma_, real_8 _p_ psi_, real_8 _p_ sigma_, real_8 _p_ cj_, real_8 _p_ cjold_, real_8 _p_ hold_, real_8 _p_ s_, real_8
2541 _p_ hmin_, real_8 _p_ uround_, int_4 _p_ iphase_, int_4 _p_ jcalc_, int_4 _p_ k_, int_4 _p_ kold_, int_4 _p_ ns_, int_4
2542 _p_ nonneg_, int_4 _p_ ntemp_)
2543 { // ** body not listed **
2980 }
2981
2982 int_4 _ddatrp (real_8 _p_ x_, real_8 _p_ xout_, real_8 _p_ yout_, real_8 _p_ ypout_, int_4 _p_ neq_, int_4 _p_ kold_,
2983 real_8 _p_ phi_, real_8 _p_ psi_)
2984 { // ** body not listed **
3007 }
3008
3009 int_4 _ddawts (int_4 _p_ neq_, int_4 _p_ iwt_, real_8 _p_ rtol_, real_8 _p_ atol_, real_8 _p_ y_, real_8 _p_ wt_,
3010 real_8 _p_ rpar_, int_4 _p_ ipar_)
3011 { // ** body not listed **
3027 }
3028
3029 int_4 _sdaini (real_4 _p_ x_, real_4 _p_ y_, real_4 _p_ yprime_, int_4 _p_ neq_, int_4 (*_res)(), int_4 (*_jac)(),
3030 real_4 _p_ h_, real_4 _p_ wt_, int_4 _p_ idid_, real_4 _p_ rpar_, int_4 _p_ ipar_, real_4 _p_ phi_, real_4 _p_ delta_,
3031 real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, real_4 _p_ hmin_, real_4 _p_ uround_, int_4 _p_ nonneg_, int_4 _p_
3032 ntemp_)
3033 { // ** body not listed **
3223 }
3224
3225 int_4 _sdajac (int_4 _p_ neq_, real_4 _p_ x_, real_4 _p_ y_, real_4 _p_ yprime_, real_4 _p_ delta_, real_4 _p_ cj_,
3226 real_4 _p_ h_, int_4 _p_ ier_, real_4 _p_ wt_, real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, int_4 (*_res)(), int_4
3227 _p_ ires_, real_4 _p_ uround_, int_4 (*_jac)(), real_4 _p_ rpar_, int_4 _p_ ipar_, int_4 _p_ ntemp_)
3228 { // ** body not listed **
3336 }
3337
3338 real_4 _sdanrm (int_4 _p_ neq_, real_4 _p_ v_, real_4 _p_ wt_, real_4 _p_ rpar_, int_4 _p_ ipar_)
3339 { // ** body not listed **
3362 }
3363
3364 int_4 _sdaslv (int_4 _p_ neq_, real_4 _p_ delta_, real_4 _p_ wm_, int_4 _p_ iwm_)
3365 { // ** body not listed **
3389 }
3390
3391 int_4 _sdassl (real_4 (*_res)(), int_4 _p_ neq_, real_4 _p_ t_, real_4 _p_ y_, real_4 _p_ yprime_, real_4 _p_ tout_,
3392 int_4 _p_ info_, real_4 _p_ rtol_, real_4 _p_ atol_, int_4 _p_ idid_, real_4 _p_ rwork_, int_4 _p_ lrw_, int_4 _p_
3393 iwork_, int_4 _p_ liw_, real_4 _p_ rpar_, int_4 _p_ ipar_, int_4 (*_jac)())
3394 { // ** body not listed **
5351 }
5352
5353 int_4 _sdastp (real_4 _p_ x_, real_4 _p_ y_, real_4 _p_ yprime_, int_4 _p_ neq_, int_4 (*_res)(), int_4 (*_jac)(),
5354 real_4 _p_ h_, real_4 _p_ wt_, int_4 _p_ jstart_, int_4 _p_ idid_, real_4 _p_ rpar_, int_4 _p_ ipar_, real_4 _p_ phi_,
5355 real_4 _p_ delta_, real_4 _p_ e_, real_4 _p_ wm_, int_4 _p_ iwm_, real_4 _p_ alpha_, real_4 _p_ beta_, real_4 _p_
5356 gamma_, real_4 _p_ psi_, real_4 _p_ sigma_, real_4 _p_ cj_, real_4 _p_ cjold_, real_4 _p_ hold_, real_4 _p_ s_, real_4
5357 _p_ hmin_, real_4 _p_ uround_, int_4 _p_ iphase_, int_4 _p_ jcalc_, int_4 _p_ k_, int_4 _p_ kold_, int_4 _p_ ns_, int_4
5358 _p_ nonneg_, int_4 _p_ ntemp_)
5359 { // ** body not listed **
5796 }
5797
5798 int_4 _sdatrp (real_4 _p_ x_, real_4 _p_ xout_, real_4 _p_ yout_, real_4 _p_ ypout_, int_4 _p_ neq_, int_4 _p_ kold_,
5799 real_4 _p_ phi_, real_4 _p_ psi_)
5800 { // ** body not listed **
5823 }
5824
5825 int_4 _sdawts (int_4 _p_ neq_, int_4 _p_ iwt_, real_4 _p_ rtol_, real_4 _p_ atol_, real_4 _p_ y_, real_4 _p_ wt_,
5826 real_4 _p_ rpar_, int_4 _p_ ipar_)
5827 { // ** body not listed **
5843 }
5844
© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)
|