Commit 5414fd8d authored by agebhard's avatar agebhard
Browse files

hopefully fix nasty interpp.old wrong interpolation bug

parent 56ca5e9b
...@@ -38,6 +38,12 @@ C DECLARATION STATEMENTS ...@@ -38,6 +38,12 @@ C DECLARATION STATEMENTS
* WK(8*NDP) * WK(8*NDP)
DIMENSION NTSC(9), IDSC(9) DIMENSION NTSC(9), IDSC(9)
COMMON /IDLC/ NIT, ITIPV COMMON /IDLC/ NIT, ITIPV
C agebhard@uni-klu.ac.at:
C Fix an error caused by uninitialized values on second call,
C possibly I added too much variables to this common block by guessing
C their names from beeing used between "GO TO 80" and line "80":
COMMON /IDLCT/ XMN,XMX,YMN,YMX,XI,YI,XS1,YS1,XS2,YS2,NTSC,IDSC,
* IT0T3,JWK,I1,I2,I3
C STATEMENT FUNCTIONS C STATEMENT FUNCTIONS
SIDE(U1,V1,U2,V2,U3,V3) = (U1-U3)*(V2-V3) - (V1-V3)*(U2-U3) SIDE(U1,V1,U2,V2,U3,V3) = (U1-U3)*(V2-V3) - (V1-V3)*(U2-U3)
SPDT(U1,V1,U2,V2,U3,V3) = (U1-U2)*(U3-U2) + (V1-V2)*(V3-V2) SPDT(U1,V1,U2,V2,U3,V3) = (U1-U2)*(U3-U2) + (V1-V2)*(V3-V2)
......
...@@ -9,105 +9,105 @@ ...@@ -9,105 +9,105 @@
/* Fortran interface descriptions: */ /* Fortran interface descriptions: */
static R_NativePrimitiveArgType idbvip_t[13] = { static R_NativePrimitiveArgType idbvip_t[13] = {
INTSXP, // MD, INTSXP, /* MD, */
INTSXP, // NCP, INTSXP, /* NCP, */
INTSXP, // NDP, INTSXP, /* NDP, */
REALSXP, // XD, REALSXP, /* XD, */
REALSXP, // YD, REALSXP, /* YD, */
REALSXP, // ZD, REALSXP, /* ZD, */
INTSXP, // NIP, INTSXP, /* NIP, */
REALSXP, // XI, REALSXP, /* XI, */
REALSXP, // YI, REALSXP, /* YI, */
REALSXP, // ZI, REALSXP, /* ZI, */
INTSXP, // IWK, INTSXP, /* IWK, */
REALSXP, // WK, REALSXP, /* WK, */
LGLSXP // MISSI LGLSXP /* MISSI */
}; };
static R_NativePrimitiveArgType sdbi3p_t[16] = { static R_NativePrimitiveArgType sdbi3p_t[16] = {
INTSXP, // MD, INTSXP, /* MD, */
INTSXP, // NDP, INTSXP, /* NDP, */
REALSXP, // XD, REALSXP, /* XD, */
REALSXP, // YD, REALSXP, /* YD, */
REALSXP, // ZD, REALSXP, /* ZD, */
INTSXP, // NIP, INTSXP, /* NIP, */
REALSXP, // XI, REALSXP, /* XI, */
REALSXP, // YI, REALSXP, /* YI, */
REALSXP, // ZI, REALSXP, /* ZI, */
INTSXP, // IER, INTSXP, /* IER, */
REALSXP, // WK, REALSXP, /* WK, */
INTSXP, // IWK, INTSXP, /* IWK, */
INTSXP, // EXTRPI, INTSXP, /* EXTRPI, */
INTSXP, // NEAR, INTSXP, /* NEAR, */
INTSXP, // NEXT, INTSXP, /* NEXT, */
REALSXP // DIST REALSXP /* DIST */
}; };
static R_NativePrimitiveArgType idsfft_t[14] = { static R_NativePrimitiveArgType idsfft_t[14] = {
INTSXP, // MD, INTSXP, /* MD, */
INTSXP, // NCP, INTSXP, /* NCP, */
INTSXP, // NDP, INTSXP, /* NDP, */
REALSXP, // XD, REALSXP, /* XD, */
REALSXP, // YD, REALSXP, /* YD, */
REALSXP, // ZD, REALSXP, /* ZD, */
INTSXP, // NXI, INTSXP, /* NXI, */
INTSXP, // NYI, INTSXP, /* NYI, */
REALSXP, // XI, REALSXP, /* XI, */
REALSXP, // YI, REALSXP, /* YI, */
REALSXP, // ZI, REALSXP, /* ZI, */
INTSXP, // IWK, INTSXP, /* IWK, */
REALSXP, // WK, REALSXP, /* WK, */
LGLSXP // MISSI LGLSXP /* MISSI */
}; };
static R_NativePrimitiveArgType sdsf3p_t[17] = { static R_NativePrimitiveArgType sdsf3p_t[17] = {
INTSXP, // MD, INTSXP, /* MD, */
INTSXP, // NDP, INTSXP, /* NDP, */
REALSXP, // XD, REALSXP, /* XD, */
REALSXP, // YD, REALSXP, /* YD, */
REALSXP, // ZD, REALSXP, /* ZD, */
INTSXP, // NXI, INTSXP, /* NXI, */
REALSXP, // XI, REALSXP, /* XI, */
INTSXP, // NYI, INTSXP, /* NYI, */
REALSXP, // YI, REALSXP, /* YI, */
REALSXP, // ZI, REALSXP, /* ZI, */
INTSXP, // IER, INTSXP, /* IER, */
REALSXP, // WK, REALSXP, /* WK, */
INTSXP, // IWK, INTSXP, /* IWK, */
INTSXP, // EXTRPI, INTSXP, /* EXTRPI, */
INTSXP, // NEAR, INTSXP, /* NEAR, */
INTSXP, // NEXT, INTSXP, /* NEXT, */
REALSXP // DIST REALSXP /* DIST */
}; };
static R_NativePrimitiveArgType uvip3p_t[8] = { static R_NativePrimitiveArgType uvip3p_t[8] = {
INTSXP, // NP, INTSXP, /* NP, */
INTSXP, // ND, INTSXP, /* ND, */
REALSXP, // XD, REALSXP, /* XD, */
REALSXP, // YD, REALSXP, /* YD, */
INTSXP, // NI, INTSXP, /* NI, */
REALSXP, // XI, REALSXP, /* XI, */
REALSXP, // YI, REALSXP, /* YI, */
INTSXP // ERR INTSXP /* ERR */
}; };
static R_NativePrimitiveArgType intrpl_t[7] = { static R_NativePrimitiveArgType intrpl_t[7] = {
INTSXP, // L, INTSXP, /* L, */
REALSXP, // X, REALSXP, /* X, */
REALSXP, // Y, REALSXP, /* Y, */
INTSXP, // N, INTSXP, /* N, */
REALSXP, // U, REALSXP, /* U, */
REALSXP, // V, REALSXP, /* V, */
INTSXP // ERR INTSXP /* ERR */
}; };
static R_FortranMethodDef fortranMethods[] = { static R_FortranMethodDef fortranMethods[] = {
{"idbvip", (DL_FUNC) &F77_SUB(idbvip), 13, idbvip_t}, /* interpp.old */ {"idbvip", (DL_FUNC) &F77_SUB(idbvip), 13, idbvip_t}, /* interpp.old */
{"sdbi3p", (DL_FUNC) &F77_SUB(sdbi3p), 16, sdbi3p_t}, /* interpp.new */ {"sdbi3p", (DL_FUNC) &F77_SUB(sdbi3p), 16, sdbi3p_t}, /* interpp.new */
{"idsfft", (DL_FUNC) &F77_SUB(idsfft), 14, idsfft_t}, /* interp.old */ {"idsfft", (DL_FUNC) &F77_SUB(idsfft), 14, idsfft_t}, /* interp.old */
{"sdsf3p", (DL_FUNC) &F77_SUB(sdsf3p), 17, sdsf3p_t}, /* interp.new */ {"sdsf3p", (DL_FUNC) &F77_SUB(sdsf3p), 17, sdsf3p_t}, /* interp.new */
{"uvip3p", (DL_FUNC) &F77_SUB(uvip3p), 8, uvip3p_t}, /* aspline */ {"uvip3p", (DL_FUNC) &F77_SUB(uvip3p), 8, uvip3p_t}, /* aspline */
{"intrpl", (DL_FUNC) &F77_SUB(intrpl), 7, intrpl_t} /* aspline */ {"intrpl", (DL_FUNC) &F77_SUB(intrpl), 7, intrpl_t} /* aspline */
}; };
void void
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment