1 /* -- translated by f2c (version 20100827).
2 You must link the resulting object file with libf2c:
3 on Microsoft Windows system, link with libf2c.lib;
4 on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5 or, if you install libf2c.a in a standard place, with -lf2c -lm
6 -- in that order, at the end of the command line, as in
7 cc *.o -lf2c -lm
8 Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9
10 http://www.netlib.org/f2c/libf2c.zip
11 */
12
13 #include "libtinyf2c.h"
14
15 /* ********************************************************************** */
16 /* TRANSFORM SPECTRA INTO WAVE (FOR M=0) */
17 /* ********************************************************************** */
18 /* Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved. */
19 /* ----------------------------------------------------------------------- */
shmswz_(integer * mm,integer * jm,integer * isw,real * s,real * wz,real * sd,real * pm,real * ys,real * yc,real * py,real * r__)20 /* Subroutine */ int shmswz_(integer *mm, integer *jm, integer *isw, real *s,
21 real *wz, real *sd, real *pm, real *ys, real *yc, real *py, real *r__)
22 {
23 /* System generated locals */
24 integer wz_offset, pm_dim1, pm_offset, py_dim2, py_offset, i__1;
25
26 /* Local variables */
27 static integer j, m;
28 extern /* Subroutine */ int shppma_(integer *, integer *, integer *, real
29 *, real *, real *, real *), shlbwm_(integer *, integer *, integer
30 *, integer *, real *, real *, real *, real *, real *, real *);
31
32 /* Parameter adjustments */
33 --r__;
34 --s;
35 py_dim2 = *jm - 0 + 1;
36 py_offset = 1 + 2 * (0 + py_dim2 * 0);
37 py -= py_offset;
38 pm_dim1 = *mm + 1 - 0 + 1;
39 pm_offset = 0 + pm_dim1 * 0;
40 pm -= pm_offset;
41 wz_offset = -(*jm);
42 wz -= wz_offset;
43
44 /* Function Body */
45 m = 0;
46 if (*isw == -1) {
47 i__1 = *jm;
48 for (j = -(*jm); j <= i__1; ++j) {
49 wz[j] = 0.f;
50 /* L10: */
51 }
52 } else {
53 shppma_(mm, jm, &m, &pm[pm_offset], ys, &py[py_offset], &r__[1]);
54 shlbwm_(mm, jm, &m, isw, &s[1], &wz[wz_offset], sd, &pm[pm_offset],
55 yc, &r__[1]);
56 }
57 return 0;
58 } /* shmswz_ */
59
60