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)