mathlib-toeplitz.c
1 //! @file mathlib-toeplitz.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 //! 19 subprograms from TOEPLITZ
24
25 // Compiled from Fortran source code by VIF.
26 // Selected subprograms are:
27 //
28 // CCCSLZ CCSLZ CGSLZ CQRZ CTGSLZ SALWZ TGSLD1 TGSLZ1 TSLD1 TSLZ1
29 // CCGSLZ CCTSLZ CQRD CSLZ CTSLZ TGSLD TGSLZ TSLD TSLZ
30
31 // TOEPLITZ solves a variety of Toeplitz and circulant linear systems. The package can also handle
32 // circulant Toeplitz systems, and some other more complicated but related forms. The package was
33 // written in the early 1980's by a joint working group of American and Soviet mathematicians.
34 //
35 // The package lives on for instance as a Python package.
36 //
37 // Reference:
38 // Oleg Arushanian, MK Samarin, Valentin Voevodin, Evgeny Tyrtyshnikov,
39 // Burton Garbow, James Boyle, Wayne Cowell, Kenneth Dritz.
40 // The TOEPLITZ Package User's Guide.
41 // Argonne National Laboratory.
42 // ANL-83-16, 1983.
43
44 // The license for TOEPLITZ Fortran source code is:
45 //
46 // TOEPLITZ can be obtained from:
47 // https://people.sc.fsu.edu/~jburkardt/f77_src/toeplitz/toeplitz.html
48 // distributed under MIT license.
49 //
50 // The original code can be obtained from:
51 // netlib.org/toeplitz
52 //
53 //
54 // MIT License
55 //
56 // Permission is hereby granted, free of charge, to any person obtaining a copy
57 // of this software and associated documentation files (the "Software"), to deal
58 // in the Software without restriction, including without limitation the rights
59 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
60 // copies of the Software, and to permit persons to whom the Software is
61 // furnished to do so, subject to the following conditions:
62 //
63 // The above copyright notice and this permission notice shall be included in all
64 // copies or substantial portions of the Software.
65 //
66 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
67 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
68 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
69 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
70 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
71 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
72 // SOFTWARE.
73 //
74 //
75 // Reference:
76 //
77 // Oleg Arushanian, MK Samarin, Valentin Voevodin, Evgeny Tyrtyshnikov,
78 // Burton Garbow, James Boyle, Wayne Cowell, Kenneth Dritz.
79 // The TOEPLITZ Package User's Guide.
80 // Argonne National Laboratory.
81 // ANL-83-16, 1983.
82
83 /*
84 Generated by VIF - experimental VIntage Fortran compiler.
85 VIF release 1.1.7
86 */
91 static CALLS __calls[__ncalls] = {
92 {"cccslz", 0}, // subroutine
93 {"ccgslz", 0}, // subroutine
94 {"ccslz", 0}, // subroutine
95 {"cctslz", 0}, // subroutine
96 {"cgslz", 0}, // subroutine
97 {"cqrd", 0}, // subroutine
98 {"cqrz", 0}, // subroutine
99 {"cslz", 0}, // subroutine
100 {"ctgslz", 0}, // subroutine
101 {"ctslz", 0}, // subroutine
102 {"salwz", 0}, // subroutine
103 {"tgsld1", 0}, // subroutine
104 {"tgsld", 0}, // subroutine
105 {"tgslz1", 0}, // subroutine
106 {"tgslz", 0}, // subroutine
107 {"tsld1", 0}, // subroutine
108 {"tsld", 0}, // subroutine
109 {"tslz1", 0}, // subroutine
110 {"tslz", 0}, // subroutine
111 {NULL, 0}
112 };
114 k_, int_4 _p_ lda_);
116 k_, int_4 _p_ lda_);
118 lda_);
120 k_, int_4 _p_ lda_);
122 lda_);
124 _p_ lds_);
126 ldq_, int_4 _p_ lds_);
129 k_, int_4 _p_ lda_);
131 lda_);
133 _p_ lda_, int_4 _p_ job_);
135 real_8 _p_ r1_, real_8 _p_ r2_, real_8 _p_ r3_, real_8 _p_ r5_, real_8 _p_ r6_, real_8 _p_ r_, int_4 _p_ m_, int_4 _p_
136 l_, int_4 _p_ lda_);
139 c1_, complex_16 _p_ c2_, complex_16 _p_ r1_, complex_16 _p_ r2_, complex_16 _p_ r3_, complex_16 _p_ r5_, complex_16 _p_
140 r6_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_);
142 lda_);
144 int_4 _p_ m_);
147 c1_, complex_16 _p_ c2_, int_4 _p_ m_);
149 int_4 _cccslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ k_, int_4
150 _p_ lda_)
151 { // ** body not listed **
172 }
173 int_4 _ccgslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ k_, int_4
174 _p_ lda_)
175 { // ** body not listed **
198 }
199 int_4 _ccslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
200 { // ** body not listed **
217 }
218 int_4 _cctslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ k_, int_4
219 _p_ lda_)
220 { // ** body not listed **
243 }
244 int_4 _cgslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
245 { // ** body not listed **
264 }
265 int_4 _cqrd (real_8 _p_ a_, real_8 _p_ q_, real_8 _p_ s_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ ldq_, int_4 _p_ lds_)
266 { // ** body not listed **
314 }
315 int_4 _cqrz (complex_16 _p_ a_, complex_16 _p_ q_, complex_16 _p_ s_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ ldq_, int_4
316 _p_ lds_)
317 { // ** body not listed **
366 }
367 int_4 _cslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_)
368 { // ** body not listed **
413 }
414 int_4 _ctgslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ k_, int_4
415 _p_ lda_)
416 { // ** body not listed **
439 }
440 int_4 _ctslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
441 { // ** body not listed **
459 }
460 int_4 _salwz (complex_16 _p_ a_, complex_16 _p_ r1_, complex_16 _p_ r2_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_,
461 int_4 _p_ job_)
462 { // ** body not listed **
498 }
499 int_4 _tgsld1 (real_8 _p_ a1_, real_8 _p_ a2_, real_8 _p_ b_, real_8 _p_ x_, real_8 _p_ c1_, real_8 _p_ c2_, real_8 _p_
500 r1_, real_8 _p_ r2_, real_8 _p_ r3_, real_8 _p_ r5_, real_8 _p_ r6_, real_8 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4
501 _p_ lda_)
502 { // ** body not listed **
651 }
652 int_4 _tgsld (real_8 _p_ a_, real_8 _p_ x_, real_8 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
653 { // ** body not listed **
667 }
668 int_4 _tgslz1 (complex_16 _p_ a1_, complex_16 _p_ a2_, complex_16 _p_ b_, complex_16 _p_ x_, complex_16 _p_ c1_,
669 complex_16 _p_ c2_, complex_16 _p_ r1_, complex_16 _p_ r2_, complex_16 _p_ r3_, complex_16 _p_ r5_, complex_16 _p_ r6_,
670 complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
671 { // ** body not listed **
820 }
821 int_4 _tgslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
822 { // ** body not listed **
836 }
837 int_4 _tsld1 (real_8 _p_ a1_, real_8 _p_ a2_, real_8 _p_ b_, real_8 _p_ x_, real_8 _p_ c1_, real_8 _p_ c2_, int_4 _p_
838 m_)
839 { // ** body not listed **
892 }
893 int_4 _tsld (real_8 _p_ a_, real_8 _p_ x_, real_8 _p_ r_, int_4 _p_ m_)
894 { // ** body not listed **
898 }
899 int_4 _tslz1 (complex_16 _p_ a1_, complex_16 _p_ a2_, complex_16 _p_ b_, complex_16 _p_ x_, complex_16 _p_ c1_,
900 complex_16 _p_ c2_, int_4 _p_ m_)
901 { // ** body not listed **
954 }
955 int_4 _tslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_)
956 { // ** body not listed **
960 }
© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)
|