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.2.12
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 };
113
115 k_, int_4 _p_ lda_);
117 k_, int_4 _p_ lda_);
119 lda_);
121 k_, int_4 _p_ lda_);
123 lda_);
125 _p_ lds_);
127 ldq_, int_4 _p_ lds_);
130 k_, int_4 _p_ lda_);
132 lda_);
134 _p_ lda_, int_4 _p_ job_);
136 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_
137 l_, int_4 _p_ lda_);
140 c1_, complex_16 _p_ c2_, complex_16 _p_ r1_, complex_16 _p_ r2_, complex_16 _p_ r3_, complex_16 _p_ r5_, complex_16 _p_
141 r6_, complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_);
143 lda_);
145 int_4 _p_ m_);
148 c1_, complex_16 _p_ c2_, int_4 _p_ m_);
150 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
151 _p_ lda_)
152 { // ** body not listed **
173 }
174
175 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
176 _p_ lda_)
177 { // ** body not listed **
200 }
201
202 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_)
203 { // ** body not listed **
220 }
221
222 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
223 _p_ lda_)
224 { // ** body not listed **
247 }
248
249 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_)
250 { // ** body not listed **
269 }
270
271 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_)
272 { // ** body not listed **
320 }
321 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
322 _p_ lds_)
323 { // ** body not listed **
372 }
373
374 int_4 _cslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_)
375 { // ** body not listed **
420 }
421
422 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
423 _p_ lda_)
424 { // ** body not listed **
447 }
448
449 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_)
450 { // ** body not listed **
468 }
469
470 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_,
471 int_4 _p_ job_)
472 { // ** body not listed **
508 }
509
510 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_
511 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
512 _p_ lda_)
513 { // ** body not listed **
662 }
663
664 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_)
665 { // ** body not listed **
679 }
680
681 int_4 _tgslz1 (complex_16 _p_ a1_, complex_16 _p_ a2_, complex_16 _p_ b_, complex_16 _p_ x_, complex_16 _p_ c1_,
682 complex_16 _p_ c2_, complex_16 _p_ r1_, complex_16 _p_ r2_, complex_16 _p_ r3_, complex_16 _p_ r5_, complex_16 _p_ r6_,
683 complex_16 _p_ r_, int_4 _p_ m_, int_4 _p_ l_, int_4 _p_ lda_)
684 { // ** body not listed **
833 }
834
835 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_)
836 { // ** body not listed **
850 }
851
852 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_
853 m_)
854 { // ** body not listed **
907 }
908
909 int_4 _tsld (real_8 _p_ a_, real_8 _p_ x_, real_8 _p_ r_, int_4 _p_ m_)
910 { // ** body not listed **
914 }
915
916 int_4 _tslz1 (complex_16 _p_ a1_, complex_16 _p_ a2_, complex_16 _p_ b_, complex_16 _p_ x_, complex_16 _p_ c1_,
917 complex_16 _p_ c2_, int_4 _p_ m_)
918 { // ** body not listed **
971 }
972
973 int_4 _tslz (complex_16 _p_ a_, complex_16 _p_ x_, complex_16 _p_ r_, int_4 _p_ m_)
974 { // ** body not listed **
978 }
979
© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)
|