mathlib-slatec-extended.c
1 //! @file mathlib-slatec-extended.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 //! 22 subprograms from SLATEC-EXTENDED
24
25 // Compiled from Fortran source code by VIF.
26 // Selected subprograms are:
27 //
28 // DXADD DXNRMP DXPNRM DXQMU DXSET XCON XNRMP XPMUP XPQNU XQNU
29 // DXCON DXPMU DXPQNU DXQNU XADD XLEGF XPMU XPNRM XQMU XSET
30 // DXLEGF DXPMUP
31
32 // The license for SLATEC Fortran source code is:
33 //
34 // The SLATEC Common Mathematical Library was developed at
35 // US government research laboratories and is in the public domain.
36 //
37 // Repository: http://www.netlib.org/slatec/
38 //
39 // The SLATEC common mathematical library is issued by the following
40 //
41 // Air Force Weapons Laboratory, Albuquerque
42 // Lawrence Livermore National Laboratory, Livermore
43 // Los Alamos National Laboratory, Los Alamos
44 // National Institute of Standards and Technology, Washington
45 // National Energy Research Supercomputer Center, Livermore
46 // Oak Ridge National Laboratory, Oak Ridge
47 // Sandia National Laboratories, Albuquerque
48 // Sandia National Laboratories, Livermore
49 //
50 // All questions concerning the distribution of the library should be
51 // directed to the NATIONAL ENERGY SOFTWARE CENTER, 9700 Cass Ave.,
52 // Argonne, Illinois 60439, and not to the authors of the subprograms.
53 //
54 // * * * * * Notice * * * * *
55 //
56 // This material was prepared as an account of work sponsored by the
57 // United States Government. Neither the United States, nor the
58 // Department of Energy, nor the Department of Defense, nor any of
59 // their employees, nor any of their contractors, subcontractors, or
60 // their employees, makes any warranty, expressed or implied, or
61 // assumes any legal liability or responsibility for the accuracy,
62 // completeness, or usefulness of any information, apparatus, product,
63 // or process disclosed, or represents that its use would not infringe
64 // upon privately owned rights.
65
66 /*
67 Generated by VIF - experimental VIntage Fortran compiler.
68 VIF release 1.2.17
69 */
70 #if defined (__GNUC__)
71 #pragma GCC diagnostic ignored "-Wimplicit-function-declaration"
72 #pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
73 #if (__GNUC__ >= 14)
74 #pragma GCC diagnostic ignored "-Wdeclaration-missing-parameter-type"
75 #pragma GCC diagnostic ignored "-Wimplicit-int"
76 #pragma GCC diagnostic ignored "-Wint-conversion"
77 #pragma GCC diagnostic ignored "-Wreturn-mismatch"
78 #endif
79 #else
80 #error VIF requires GCC
81 #endif
109 static CALLS __calls[__ncalls] = {
110 {"dxadd", 0}, // subroutine
111 {"dxcon", 0}, // subroutine
112 {"dxlegf", 0}, // subroutine
113 {"dxnrmp", 0}, // subroutine
114 {"dxpmu", 0}, // subroutine
115 {"dxpmup", 0}, // subroutine
116 {"dxpnrm", 0}, // subroutine
117 {"dxpqnu", 0}, // subroutine
118 {"dxqmu", 0}, // subroutine
119 {"dxqnu", 0}, // subroutine
120 {"dxset", 0}, // subroutine
121 {"xadd", 0}, // subroutine
122 {"xcon", 0}, // subroutine
123 {"xlegf", 0}, // subroutine
124 {"xnrmp", 0}, // subroutine
125 {"xpmu", 0}, // subroutine
126 {"xpmup", 0}, // subroutine
127 {"xpnrm", 0}, // subroutine
128 {"xpqnu", 0}, // subroutine
129 {"xqmu", 0}, // subroutine
130 {"xqnu", 0}, // subroutine
131 {"xset", 0}, // subroutine
132 {NULL, 0}
133 };
134
135 static struct {
136 int_4 l_, l2_, kmax_;
137 real_8 radix_, radixl_, rad2l_, dlg10r_;
138 } dxblk2_;
139 static struct {
140 int_4 nbitsf_;
141 } dxblk1_;
142 static struct {
143 int_4 nlg102_, mlg102_, lg102_[21];
144 } dxblk3_;
145 static struct {
146 int_4 l_, l2_, kmax_;
147 real_4 radix_, radixl_, rad2l_, dlg10r_;
148 } xblk2_;
149 static struct {
150 int_4 nbitsf_;
151 } xblk1_;
152 static struct {
153 int_4 nlg102_, mlg102_, lg102_[21];
154 } xblk3_;
156 _p_ ierror_);
159 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
161 dpn_, int_4 _p_ ipn_, int_4 _p_ isig_, int_4 _p_ ierror_);
163 x_, real_8 _p_ sx_, int_4 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
165 ipqa_, int_4 _p_ ierror_);
167 ipqa_, int_4 _p_ ierror_);
169 pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
171 x_, real_8 _p_ sx_, int_4 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
173 sx_, int_4 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
176 _p_ ierror_);
179 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
181 spn_, int_4 _p_ ipn_, int_4 _p_ isig_, int_4 _p_ ierror_);
183 x_, real_4 _p_ sx_, int_4 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
185 ipqa_, int_4 _p_ ierror_);
187 ipqa_, int_4 _p_ ierror_);
189 pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
191 x_, real_4 _p_ sx_, int_4 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
193 sx_, int_4 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_);
195 int_4 _dxadd (real_8 _p_ x_, int_4 _p_ ix_, real_8 _p_ y_, int_4 _p_ iy_, real_8 _p_ z_, int_4 _p_ iz_, int_4 _p_
196 ierror_)
197 { // ** body not listed **
372 }
373
374 int_4 _dxcon (real_8 _p_ x_, int_4 _p_ ix_, int_4 _p_ ierror_)
375 { // ** body not listed **
528 }
529
530 int_4 _dxlegf (real_8 _p_ dnu1_, int_4 _p_ nudiff_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ theta_, int_4 _p_ id_,
531 real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
532 { // ** body not listed **
644 }
645
646 int_4 _dxnrmp (int_4 _p_ nu_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ darg_, int_4 _p_ mode_, real_8 _p_ dpn_, int_4
647 _p_ ipn_, int_4 _p_ isig_, int_4 _p_ ierror_)
648 { // ** body not listed **
822 }
823
824 int_4 _dxpmu (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ theta_, real_8 _p_ x_,
825 real_8 _p_ sx_, int_4 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
826 { // ** body not listed **
874 }
875
876 int_4 _dxpmup (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ pqa_, int_4 _p_ ipqa_,
877 int_4 _p_ ierror_)
878 { // ** body not listed **
956 }
957
958 int_4 _dxpnrm (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ pqa_, int_4 _p_ ipqa_,
959 int_4 _p_ ierror_)
960 { // ** body not listed **
1047 }
1048
1049 int_4 _dxpqnu (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu_, real_8 _p_ theta_, int_4 _p_ id_, real_8 _p_ pqa_,
1050 int_4 _p_ ipqa_, int_4 _p_ ierror_)
1051 { // ** body not listed **
1242 }
1243
1244 int_4 _dxqmu (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_8 _p_ theta_, real_8 _p_ x_,
1245 real_8 _p_ sx_, int_4 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
1246 { // ** body not listed **
1318 }
1319
1320 int_4 _dxqnu (real_8 _p_ nu1_, real_8 _p_ nu2_, int_4 _p_ mu1_, real_8 _p_ theta_, real_8 _p_ x_, real_8 _p_ sx_, int_4
1321 _p_ id_, real_8 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
1322 { // ** body not listed **
1431 }
1432
1433 int_4 _dxset (int_4 _p_ irad_, int_4 _p_ nradpl_, real_8 _p_ dzero_, int_4 _p_ nbits_, int_4 _p_ ierror_)
1434 { // ** body not listed **
1619 }
1620
1621 int_4 _xadd (real_4 _p_ x_, int_4 _p_ ix_, real_4 _p_ y_, int_4 _p_ iy_, real_4 _p_ z_, int_4 _p_ iz_, int_4 _p_
1622 ierror_)
1623 { // ** body not listed **
1798 }
1799
1800 int_4 _xcon (real_4 _p_ x_, int_4 _p_ ix_, int_4 _p_ ierror_)
1801 { // ** body not listed **
1954 }
1955
1956 int_4 _xlegf (real_4 _p_ dnu1_, int_4 _p_ nudiff_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ theta_, int_4 _p_ id_,
1957 real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
1958 { // ** body not listed **
2070 }
2071
2072 int_4 _xnrmp (int_4 _p_ nu_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ sarg_, int_4 _p_ mode_, real_4 _p_ spn_, int_4
2073 _p_ ipn_, int_4 _p_ isig_, int_4 _p_ ierror_)
2074 { // ** body not listed **
2248 }
2249
2250 int_4 _xpmu (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ theta_, real_4 _p_ x_, real_4
2251 _p_ sx_, int_4 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
2252 { // ** body not listed **
2300 }
2301
2302 int_4 _xpmup (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4
2303 _p_ ierror_)
2304 { // ** body not listed **
2382 }
2383
2384 int_4 _xpnrm (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4
2385 _p_ ierror_)
2386 { // ** body not listed **
2473 }
2474
2475 int_4 _xpqnu (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu_, real_4 _p_ theta_, int_4 _p_ id_, real_4 _p_ pqa_, int_4
2476 _p_ ipqa_, int_4 _p_ ierror_)
2477 { // ** body not listed **
2668 }
2669
2670 int_4 _xqmu (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu1_, int_4 _p_ mu2_, real_4 _p_ theta_, real_4 _p_ x_, real_4
2671 _p_ sx_, int_4 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
2672 { // ** body not listed **
2744 }
2745
2746 int_4 _xqnu (real_4 _p_ nu1_, real_4 _p_ nu2_, int_4 _p_ mu1_, real_4 _p_ theta_, real_4 _p_ x_, real_4 _p_ sx_, int_4
2747 _p_ id_, real_4 _p_ pqa_, int_4 _p_ ipqa_, int_4 _p_ ierror_)
2748 { // ** body not listed **
2857 }
2858
2859 int_4 _xset (int_4 _p_ irad_, int_4 _p_ nradpl_, real_4 _p_ dzero_, int_4 _p_ nbits_, int_4 _p_ ierror_)
2860 { // ** body not listed **
3045 }
3046
© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)
|