1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
/*
* This file is part of tela the Tensor Language.
* Copyright (c) 1994-1996 Pekka Janhunen
*/
extern "C" {
extern void cfftf(Tint N, Tcomplex data[], const Treal wrk[]);
extern void cfftb(Tint N, Tcomplex data[], const Treal wrk[]);
extern void cffti(Tint N, Treal wrk[]);
extern void rfftf(Tint N, Treal data[], const Treal wrk[]);
extern void rfftb(Tint N, Treal data[], const Treal wrk[]);
extern void rffti(Tint N, Treal wrk[]);
extern void sint(Tint N, Treal data[], const Treal wrk[]);
extern void sinti(Tint N, Treal wrk[]);
extern void cost(Tint N, Treal data[], const Treal wrk[]);
extern void costi(Tint N, Treal wrk[]);
extern void sinqf(Tint N, Treal data[], const Treal wrk[]);
extern void sinqb(Tint N, Treal data[], const Treal wrk[]);
extern void sinqi(Tint N, Treal wrk[]);
extern void cosqf(Tint N, Treal data[], const Treal wrk[]);
extern void cosqb(Tint N, Treal data[], const Treal wrk[]);
extern void cosqi(Tint N, Treal wrk[]);
#define CFFTF cfftf
#define CFFTB cfftb
#define CFFTI cffti
#define RFFTF rfftf
#define RFFTB rfftb
#define RFFTI rffti
#define SINTI sinti
#define SINT sint
#define COSTI costi
#define COST cost
#define SINQF sinqf
#define SINQB sinqb
#define SINQI sinqi
#define COSQF cosqf
#define COSQB cosqb
#define COSQI cosqi
}
#if 0
#if defined(HPUX) && !defined(__GNUC__)
# define NO_UNDERSCORE_IN_FORTRAN_NAMES
#endif
#ifdef NO_UNDERSCORE_IN_FORTRAN_NAMES
# define Fortran(x) x
#else
# define Fortran(x) x##_
#endif
#ifndef UNICOS
# define CFFTF Fortran(cfftf) // complex transform
# define CFFTB Fortran(cfftb) // its inverse
# define CFFTI Fortran(cffti) // initializer of the above routine pair
# define RFFTF Fortran(rfftf) // real transform
# define RFFTB Fortran(rfftb) // its inverse
# define RFFTI Fortran(rffti) // initializer for rfft
# define SINT Fortran(sint) // sine transform
# define SINTI Fortran(sinti) // initializer for sint
# define COST Fortran(cost) // cosine transform
# define COSTI Fortran(costi) // initializer for cost
# define SINQF Fortran(sinqf) // quarter-wave sine transform
# define SINQB Fortran(sinqb) // its inverse
# define SINQI Fortran(sinqi) // initializer for sinq
# define COSQF Fortran(cosqf) // quarter-wave cosine transform
# define COSQB Fortran(cosqb) // its inverse
# define COSQI Fortran(cosqi) // initializer for cosq
#endif
extern "C" {
// FFTPACK functions
extern void CFFTF(const Tint& N, Tcomplex data[], const Treal wrk[]);
extern void CFFTB(const Tint& N, Tcomplex data[], const Treal wrk[]);
extern void CFFTI(const Tint& N, Treal wrk[]);
extern void RFFTF(const Tint& N, Treal data[], const Treal wrk[]);
extern void RFFTB(const Tint& N, Treal data[], const Treal wrk[]);
extern void RFFTI(const Tint& N, Treal wrk[]);
extern void SINT(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINTI(const Tint& N, Treal wrk[]);
extern void COST(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSTI(const Tint& N, Treal wrk[]);
extern void SINQF(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINQB(const Tint& N, Treal data[], const Treal wrk[]);
extern void SINQI(const Tint& N, Treal wrk[]);
extern void COSQF(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSQB(const Tint& N, Treal data[], const Treal wrk[]);
extern void COSQI(const Tint& N, Treal wrk[]);
}
#endif
|