From 760972cceb9c3cfb4ed2f326cb159840cb49183d Mon Sep 17 00:00:00 2001 From: agebhard <> Date: Mon, 4 Nov 2002 20:49:40 +0000 Subject: [PATCH] Fortran interface to C entry points added --- man/bk.grid.Rd | 2 +- src/bk.f | 2 +- src/bk_grid.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/bk_grid.h | 43 +++++++++++++++++++++++++ 4 files changed, 132 insertions(+), 2 deletions(-) diff --git a/man/bk.grid.Rd b/man/bk.grid.Rd index 566726b..9518f48 100644 --- a/man/bk.grid.Rd +++ b/man/bk.grid.Rd @@ -79,7 +79,7 @@ plot(leman.bk0) # compare with require(rgeostat) -leman.krg<-krige.grid.c(min(leman.bank$x),min(leman.bank$y), +leman.krg<-krige.grid(min(leman.bank$x),min(leman.bank$y), max(leman.bank$x), max(leman.bank$y), nx=100, ny=100, point = leman.88.pt, at = "cadpbm", var.mod.obj = leman.88.vmsph, rsearch = 7.5,extrap = F,border=leman.bank) diff --git a/src/bk.f b/src/bk.f index 25f7eeb..12473fb 100644 --- a/src/bk.f +++ b/src/bk.f @@ -419,7 +419,7 @@ c LAMBDA = (C0VEC+FWORK*PHIPR*F0WORK)*(COVMAT+FWORK*PHIPR*FWORK')^-1 c name="kwork\0" c call matpr(name,kwork,ns,ns,LDkwrk,dbglvl) c name="rhswork\0" - call matpr(name,rhswork,ns,NDO,LDkWrk,dbglvl) +c call matpr(name,rhswork,ns,NDO,LDkWrk,dbglvl) C BETTER USE DSYSVX ? CALL DGESV(NS,NDO,KWORK,LDKWRK,IPIV,RHSWORK,LDKWRK,INFO) diff --git a/src/bk_grid.c b/src/bk_grid.c index e5a9104..8ec52c1 100644 --- a/src/bk_grid.c +++ b/src/bk_grid.c @@ -1,5 +1,92 @@ #include "bk_grid.h" +void F77_NAME(bk_grid)(double *xsw, + double *ysw, + double *xne, + double *yne, + double *angle, + int *nx, + int *ny, + double *dx, + double *dy, + double *xg, + double *yg, + double *zg, + double *varg, + int *dog, + double *lon, + double *lat, + double *z, + int *extrap, + int *n, + int *covtype, + double *covpar, + int *trend, + int *ntrend, + double *mupr, + int *ldmpr, + double *phipr, + int *ldphpr, + double *lonpr, + double *latpr, + int *npr, + int *typpr, + double *rsearch, + int *nsearch, + int *nsmin, + int *nsmax, + int *lwork, + int *mode, + double *lambda, + double *lambd0, + int *searchnb, + int *ierr, + int *glsmth){ +/* simple Fortran wrapper */ +bk_grid(xsw, + ysw, + xne, + yne, + angle, + nx, + ny, + dx, + dy, + xg, + yg, + zg, + varg, + dog, + lon, + lat, + z, + extrap, + n, + covtype, + covpar, + trend, + ntrend, + mupr, + ldmpr, + phipr, + ldphpr, + lonpr, + latpr, + npr, + typpr, + rsearch, + nsearch, + nsmin, + nsmax, + lwork, + mode, + lambda, + lambd0, + searchnb, + ierr, + glsmth); +} + void bk_grid(double *xsw, double *ysw, double *xne, diff --git a/src/bk_grid.h b/src/bk_grid.h index 1778b76..37f9faf 100644 --- a/src/bk_grid.h +++ b/src/bk_grid.h @@ -45,6 +45,49 @@ void bk_grid(double *xsw, int *searchnb, int *ierr, int *glsmth); + +void F77_NAME(bk_grid)(double *xsw, + double *ysw, + double *xne, + double *yne, + double *angle, + int *nx, + int *ny, + double *dx, + double *dy, + double *xg, + double *yg, + double *zg, + double *varg, + int *dog, + double *lon, + double *lat, + double *z, + int *extrap, + int *n, + int *covtype, + double *covpar, + int *trend, + int *ntrend, + double *mupr, + int *ldmpr, + double *phipr, + int *ldphpr, + double *lonpr, + double *latpr, + int *npr, + int *typpr, + double *rsearch, + int *nsearch, + int *nsmin, + int *nsmax, + int *lwork, + int *mode, + double *lambda, + double *lambd0, + int *searchnb, + int *ierr, + int *glsmth); void F77_NAME(bkgrid)(double *xsw, double *ysw, -- GitLab