From 8715ab0a8daf3cc2753262cff348ebee08279176 Mon Sep 17 00:00:00 2001
From: Philippe Verley <philippe.verley@ird.fr>
Date: Mon, 15 Mar 2021 11:11:42 +0000
Subject: [PATCH] Updated branches/stable-1.5 from ads-1.5-4 and updated
 NAMESPACE and DESCRIPTION for with new spatstat packages family

---
 DESCRIPTION        |  15 +--
 INDEX              |   4 +-
 NAMESPACE          |  35 +++----
 R/fads.R           |   6 +-
 R/swin.R           |   8 +-
 R/triangulate.R    |   2 +-
 R/util.R           | 107 ++++++++++++++-------
 R/zzz.R            |  14 +++
 data/Paracou15.rda | Bin 47601 -> 47660 bytes
 inst/CITATION      |   4 +-
 man/Allogny.Rd     |  52 +++++------
 man/BPoirier.Rd    |  68 +++++++-------
 man/Couepia.Rd     |  56 +++++------
 man/area.swin.Rd   |  90 +++++++++---------
 man/demopat.Rd     |  44 ++++-----
 man/dval.Rd        |   8 +-
 man/inside.swin.Rd |  82 ++++++++--------
 man/internal.Rd    |   4 +-
 man/k12fun.Rd      |  11 +--
 man/k12val.Rd      | 146 ++++++++++++++---------------
 man/kdfun.Rd       |  22 ++---
 man/kfun.Rd        |   8 +-
 man/kmfun.Rd       |   6 +-
 man/kp.fun.Rd      |   6 +-
 man/kpqfun.Rd      |   6 +-
 man/krfun.Rd       |  30 +++---
 man/ksfun.Rd       |  10 +-
 man/kval.Rd        | 148 ++++++++++++++---------------
 man/mimetic.Rd     |   8 +-
 man/plot.fads.Rd   |   6 +-
 man/plot.spp.Rd    |  23 ++---
 man/plot.vads.Rd   |  10 +-
 man/spp.Rd         |  18 ++--
 man/swin.Rd        |  14 +--
 man/triangulate.Rd |  22 ++---
 src/Zlibs.c        |  45 +++++----
 src/Zlibs.h        | 227 +++++++++++++++++++++++++++++----------------
 src/adssub.c       |  54 +++++++++++
 src/adssub.h       |  53 ++++++-----
 src/init.c         | 143 ++++++++++++++--------------
 src/spatstatsub.f  |  47 ----------
 src/triangulate.c  |  78 ----------------
 src/triangulate.h  |  10 +-
 src/util.c         |  80 ++++++++++++++++
 44 files changed, 988 insertions(+), 842 deletions(-)
 create mode 100644 R/zzz.R
 delete mode 100755 src/spatstatsub.f
 create mode 100755 src/util.c

diff --git a/DESCRIPTION b/DESCRIPTION
index 9f94dbd..242a241 100755
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,18 +1,21 @@
 Package: ads
 Type: Package
 Title: Spatial Point Patterns Analysis
-Version: 1.5-3
-Date: 2018-03-29
+Version: 1.5-4
+Date: 2020-09-11
 Authors@R: c(person("Raphael", "Pelissier", role="aut", email="raphael.pelissier@ird.fr"),
              person("Francois", "Goreau", role="aut"),
              person("Philippe", "Verley", role=c("ctb", "cre"), email="philippe.verley@ird.fr"))
 Author: Raphael Pelissier [aut], Francois Goreau [aut], Philippe Verley [ctb, cre]
-Maintainer: Philippe Verley <philippe.verley@ird.fr>
-Imports: ade4, spatstat
-Description: Perform first- and second-order multi-scale analyses derived from Ripley K-function, for univariate,
+Maintainer: Raphael Pelissier <Raphael.Pelissier@ird.fr>
+Imports: ade4, spatstat.geom
+Description: Perform first- and second-order multi-scale analyses derived from Ripley K-function (Ripley B. D. (1977) <doi:10.1111/j.2517-6161.1977.tb01615.x>), for univariate,
  multivariate and marked mapped data in rectangular, circular or irregular shaped sampling windows, with tests of 
  statistical significance based on Monte Carlo simulations.
+Depends: R (>= 3.5.0)
 License: GPL-2
 NeedsCompilation: yes
 Repository: CRAN
-RoxygenNote: 6.0.1
+Date/Publication: 2020-09-11 12:20:07 UTC
+Packaged: 2020-09-11 11:19:29 UTC; rpelissier
+RoxygenNote: 7.1.1
diff --git a/INDEX b/INDEX
index 309fd0e..a6c7ef2 100755
--- a/INDEX
+++ b/INDEX
@@ -1,14 +1,14 @@
 Allogny       Spatial pattern of oaks suffering from frost shake in Allogny, France.
 BPoirier      Tree spatial pattern in Beau Poirier plot, Haye forest, France.
 Couepia       Spatial pattern of Couepia caryophylloides in Paracou, a canopy tree species of French Guiana.
-demopat		    Artificial data point pattern from \code{spatstat} package.
+demopat       Artificial data point pattern from \code{spatstat.data} package.
 Paracou15     Spatial pattern of trees in plot 15 of Paracou experimental station, French Guiana.
 area.swin     Area of a sampling window.
 dval          Multiscale local density of a spatial point pattern.
 inside.swin   Test wether points are inside a sampling window.
 k12fun        Multiscale second-order neigbourhood analysis of a bivariate spatial point pattern.
 k12val        Multiscale local second-order neighbour density of a bivariate spatial point pattern.
-kdfun		      Multiscale second-order neigbourhood analysis of phylogentic/functional spatial structure of a multivariate spatial point pattern. 
+kdfun         Multiscale second-order neigbourhood analysis of phylogentic/functional spatial structure of a multivariate spatial point pattern. 
 kfun          Multiscale second-order neigbourhood analysis of an univariate spatial point pattern.
 kmfun         Multiscale second-order neigbourhood analysis of a marked spatial point pattern.
 kp.fun        (Formerly ki.fun) Multiscale second-order neigbourhood analysis of a multivariate spatial point pattern.
diff --git a/NAMESPACE b/NAMESPACE
index 8949b00..9765780 100755
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,11 +1,20 @@
-importFrom(ade4,"divc","is.euclid")
-importFrom(spatstat,"border","bounding.box.xy","area.owin")
-importFrom("graphics", "abline", "barplot", "layout", "lines", "par",
-             "plot", "plot.default", "points", "polygon", "symbols",
-             "text")
-importFrom("stats", "as.dist", "var")
-importFrom("utils", "read.table", "str")
+# load DLL
+useDynLib(ads, .registration = TRUE, .fixes = "C_")
 
+# Import external pkg names
+importFrom(ade4,
+           divc, is.euclid)
+importFrom(spatstat.geom,
+           border, bounding.box.xy, area.owin)
+importFrom(graphics,
+           abline, barplot, layout, lines, par, plot, plot.default, points,
+           polygon, symbols, text)
+importFrom(stats,
+           as.dist, var)
+importFrom(utils,
+           read.table, str)
+
+# Export all names (should be improved in the future)
 export(
 	k12fun,
 	k12val,
@@ -17,7 +26,6 @@ export(
 	krfun,
 	ksfun,
 	kval,
-	
 	swin,
 	area.swin,
 	inside.swin,
@@ -26,15 +34,10 @@ export(
 	mimetic,
 	owin2swin,
 	spp,
-	triangulate
-)
-
-exportClasses(
-	fads,
+	triangulate,
 	mimetic,
 	spp,
-	swin,
-	vads
+	swin
 )
 
 S3method(plot, kfun, plot.fads.kfun)
@@ -76,5 +79,3 @@ S3method(summary, swin)
 S3method(summary, dval, summary.vads.dval)
 S3method(summary, k12val, summary.vads.k12val)
 S3method(summary, kval, summary.vads.kval)
-
-useDynLib(ads, .registration=TRUE)
diff --git a/R/fads.R b/R/fads.R
index 90e6f3e..c0afdfb 100755
--- a/R/fads.R
+++ b/R/fads.R
@@ -790,15 +790,15 @@ kmfun<-function(p,upto,by,nsim=0,alpha=0.01) {
 					PACKAGE="ads")	
 		}
 		else { #with CI
-			res<-.C("corr_tr_disq_ic",
+			res<-.C("ripley_tr_disq_ic",
 					as.integer(p$n),as.double(p$x),as.double(p$y),as.double(p$marks),
-					as.double(x0),as.double(y0),as.double(r0),
+					as.double(x0),as.double(y0),as.double(r0),as.double(intensity),
 					as.integer(nbTri),as.double(tri$ax),as.double(tri$ay),as.double(tri$bx),as.double(tri$by),as.double(tri$cx),as.double(tri$cy),
 					as.integer(tmax),as.double(by),
 					as.integer(nsim),as.double(alpha),
 					gm=double(tmax),km=double(tmax),
 					gmic1=double(tmax),gmic2=double(tmax),kmic1=double(tmax),kmic2=double(tmax),
-					gmval=double(tmax),kmval=double(tmax),
+					gmval=double(tmax),kmval=double(tmax),lmval=double(tmax),nmval=double(tmax),
 					PACKAGE="ads")	
 		}
 	}
diff --git a/R/swin.R b/R/swin.R
index fc17c57..e5b8cc7 100755
--- a/R/swin.R
+++ b/R/swin.R
@@ -171,6 +171,7 @@ plot.swin<-function (x,main,edge,scale=TRUE,add=FALSE,csize=1,...) {
 inside.swin<-function(x,y,w,bdry=TRUE) {
 	stopifnot(inherits(w,"swin"))
 	stopifnot(length(x)==length(y))
+	inside<-vector(mode="logical",length=length(x))
 	if("rectangle"%in%w$type)
 		inside<-in.rectangle(x,y,w$xmin,w$ymin,w$xmax,w$ymax,bdry)
 	else if("circle"%in%w$type)
@@ -179,9 +180,8 @@ inside.swin<-function(x,y,w,bdry=TRUE) {
 		stop("invalid window type")
 	if("complex"%in%w$type) {
 		tri<-w$triangles
-		for(i in 1:nrow(tri)) 
-			inside[in.triangle(x,y,tri$ax[i],tri$ay[i],tri$bx[i],tri$by[i],tri$cx[i],tri$cy[i])]<-FALSE
-	}   
+		inside[in.triangle(x,y,tri$ax,tri$ay,tri$bx,tri$by,tri$cx,tri$cy,bdry)]<-FALSE
+	}  
 	return(inside)
 }
 
@@ -200,7 +200,7 @@ owin2swin<-function(w) {
 		else { #polygon with holes
 			stopifnot(w$bdry[[1]]$hole==FALSE)
 			bb<-bounding.box.xy(w$bdry[[1]][1:2])
-			if((bb$xrange==w$xrange)&&(bb$yrange==w$yrange)&&(area.owin(bb)==w$bdry[[1]]$area)) {	#first poly is rectangular window frame
+			if(all(bb$xrange==w$xrange)&&all(bb$yrange==w$yrange)&&(area.owin(bb)==w$bdry[[1]]$area)) {	#first poly is rectangular window frame
 				outer.poly<-data.frame(x=c(rep(w$xrange[1],2),rep(w$xrange[2],2)),y=c(w$yrange,w$yrange[2:1]))
 				for(i in 2:length(w$bdry)) {
 					stopifnot(w$bdry[[i]]$hole==TRUE)
diff --git a/R/triangulate.R b/R/triangulate.R
index e263ba8..9453bae 100755
--- a/R/triangulate.R
+++ b/R/triangulate.R
@@ -44,7 +44,7 @@ triangulate<-function(outer.poly,holes) {
 		vertY<-outer.poly$y
 		nbtri<-(nbpts-2)
 	}
-	tri<-.C("c_triangulate",
+	tri<-.C("triangulate",
 		as.integer(nbpoly),as.integer(nbpts),as.integer(nbptot),as.double(vertX),as.double(vertY),as.integer(nbtri),
 		X1=double(nbtri),Y1=double(nbtri),X2=double(nbtri),Y2=double(nbtri),X3=double(nbtri),Y3=double(nbtri),
 		PACKAGE="ads")
diff --git a/R/util.R b/R/util.R
index 8bdc178..985ee28 100755
--- a/R/util.R
+++ b/R/util.R
@@ -11,7 +11,7 @@ overlapping.polygons<-function(listpoly) {
 	return(res)
 }
 
-#from area.xypolygon{spatstat}
+#from area.xypolygon{spatstat.geom}
 #return area>0 when (xp,yp) vertices are ranked anticlockwise
 #or area<0 when (xp,yp) vertices are ranked clockwise
 area.poly<-function(xp,yp) {
@@ -44,17 +44,61 @@ in.rectangle<-function(x,y,xmin,ymin,xmax,ymax,bdry=TRUE) {
 	stopifnot(length(x)==length(y))
 	stopifnot((xmax-xmin)>0)
 	stopifnot((ymax-ymin)>0)
-	rect<-list(x=c(xmin,xmax,xmax,xmin),y=c(ymin,ymin,ymax,ymax))
-	return(in.poly(x,y,rect,bdry))
+	l<-length(x)
+	inside<-vector(mode="logical",length=l)
+	for(i in 1:l) {
+		if(bdry) {
+			if(x[i]>=xmin&&x[i]<=xmax&&y[i]>=ymin&&y[i]<=ymax)
+				inside[i]<-TRUE
+		}
+		else {
+			if(x[i]>xmin&&x[i]<xmax&&y[i]>ymin&&y[i]<ymax)
+				inside[i]<-TRUE
+		}
+	}
+	return(inside)
 }
 
+#modified from inside.triangle(spatstat.utils)
 in.triangle<-function(x,y,ax,ay,bx,by,cx,cy,bdry=TRUE) {
 	stopifnot(length(x)==length(y))
-	tri<-list(x=c(ax,bx,cx),y=c(ay,by,cy))
-	return(in.poly(x,y,tri,bdry))
+	p<-length(x)
+	inside<-vector(mode="logical",length=p)
+	t<-length(ax)
+	stopifnot(all(c(length(ay),length(bx),length(by),length(cx),length(cy))==t))
+	intri<-matrix(0,p,t)
+	for(j in 1:t) {
+		v0x <- cx[j] - ax[j]
+    	v0y <- cy[j] - ay[j]
+    	v1x <- bx[j] - ax[j]
+    	v1y <- by[j] - ay[j]
+		dot00 <- v0x^2 + v0y^2
+    	dot01 <- v0x * v1x + v0y * v1y
+		dot11 <- v1x^2 + v1y^2
+		for(i in 1:p) {
+			if(!inside[i]) {
+				v2x <- x[i] - ax[j]
+    			v2y <- y[i] - ay[j]
+				dot02 <- v0x * v2x + v0y * v2y
+    			dot12 <- v1x * v2x + v1y * v2y
+    			Denom <- dot00 * dot11 - dot01 * dot01
+    			u <- dot11 * dot02 - dot01 * dot12
+    			v <- dot00 * dot12 - dot01 * dot02
+				if(bdry) {
+          			if((u >= 0) & (v >= 0) & (u + v <= Denom))
+            			inside[i]<-TRUE
+        		}
+        		else {
+          			if((u > 0) & (v > 0) & (u + v < Denom))
+              			inside[i]<-TRUE
+        		}
+			}
+		}	
+	}
+	return(inside)			
 }
 
-#modified from plot.ppp{spatstat}
+#modified from plot.ppp{spatstat.core}
 adjust.marks.size<-function(marks,window,maxsize=NULL) {
 	if(is.null(maxsize)) {
 		if("rectangle"%in%window$type)
@@ -233,36 +277,27 @@ overlap.trapez <- function(xa, ya, xb, yb, verb=FALSE) {
   return(signfactor * areaT)
 }
 
-#TRUE: les points sur la bordure sont = inside
+#Points on boundary are considered outside. No alternative option implemented yet.
 in.poly<-function(x,y,poly,bdry=TRUE) {
+	if(bdry) {
+		bdry<-FALSE
+		warning("argument 'bdry' automatically set to FALSE. No alternative implemented yet")
+	}
 	stopifnot(is.poly(poly))
 	xp <- poly$x
 	yp <- poly$y
 	npts <- length(x)
-	nedges <- length(xp)   # sic
-
-  score <- rep(0, npts)
-  on.boundary <- rep(FALSE, npts)
-	temp <- .Fortran(
-		"inpoly",
-		x=as.double(x),
-		y=as.double(y),
-		xp=as.double(xp),
-		yp=as.double(yp),
-		npts=as.integer(npts),
-		nedges=as.integer(nedges),
-		score=as.double(score),
-		onbndry=as.logical(on.boundary),
-		PACKAGE="ads"
-	)
-	score <- temp$score
-	on.boundary <- temp$onbndry
-	score[on.boundary] <- 1
-	res<-rep(FALSE,npts)
-	res[score==(-1)]<-TRUE
-	if(bdry)
-		res[score==1]<-TRUE
-	return(res)
+	nedg <- length(poly$x)   # sic
+	xmi<-ifelse(min(x)<=min(poly$x),min(x),min(poly$x))
+	ymi<-ifelse(max(x)>=max(poly$x),max(x),max(poly$x))
+	polxrange<-ifelse(min(y)<=min(poly$y),min(y),min(poly$y))
+	polyrange<-ifelse(max(y)>=max(poly$y),max(y),max(poly$y))
+	res <- .C("pnpoly",
+ 				as.double(x),as.double(y),as.double(poly$x),
+ 				as.double(poly$y),as.integer(npts),as.integer(nedg),as.double(xmi),
+		 		as.double(ymi),as.double(polxrange),as.double(polyrange),score=double(npts),
+				PACKAGE="ads")
+	return(as.logical(res$score))
 }
 
 ####################
@@ -307,6 +342,16 @@ read.tri<-function(X) {
 	return(res)
 }
 
+transpose<-function(x,y) {
+
+	nbTri<-length(x)/3
+	
+	res<-.C("transpose",x=as.double(x),y=as.double(y),nbTri=as.integer(nbTri),
+			x1=double(nbTri),y1=double(nbTri),x2=double(nbTri),y2=double(nbTri),
+			x3=double(nbTri),y3=double(nbTri),PACKAGE="ads")
+		
+	list(x1=res$x1,y1=res$y1,x2=res$x2,y2=res$y2,x3=res$x3,y3=res$y3)
+}
 ##############
 #subsetting dist objects
 #sub is a logical vector of True/False
diff --git a/R/zzz.R b/R/zzz.R
new file mode 100644
index 0000000..e329866
--- /dev/null
+++ b/R/zzz.R
@@ -0,0 +1,14 @@
+##########################################################################
+## start-up and clean-up functions
+#########################################################################
+
+.onAttach <- function(...) {
+  # echo output to screen
+  packageStartupMessage("##\n## ads R package \n",
+                        "## For Spatial Point Patterns Analysis \n",
+                        "##\n")
+}
+
+.onUnload <- function(libpath) {
+  library.dynam.unload("ads", libpath)
+}
\ No newline at end of file
diff --git a/data/Paracou15.rda b/data/Paracou15.rda
index b0783a29fe6933739891790764d2eeedf223b8b1..fa1aec405056325c47efaedb703db7dcd283b337 100755
GIT binary patch
literal 47660
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
Ld<b`*_s;(Tc)-KY

literal 47601
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
RjaBOuXUwE~H!WT8e*o_E{W1Um

diff --git a/inst/CITATION b/inst/CITATION
index f644116..89c38f7 100644
--- a/inst/CITATION
+++ b/inst/CITATION
@@ -9,12 +9,12 @@ citEntry(entry = "Article",
   volume       = "63",
   number       = "6",
   pages        = "1--18",
-  url          = "http://www.jstatsoft.org/v63/i06/",
+  url          = "http://dx.doi.org/10.18637/jss.v063.i06",
 
   textVersion  =
   paste("Raphael Pelissier, Francois Goreaud (2015).",
         "ads Package for R: A Fast Unbiased Implementation of the K-function Family for Studying Spatial Point Patterns in Irregular-Shaped Sampling Windows.",
         "Journal of Statistical Software, 63(6), 1-18.",
-        "URL http://www.jstatsoft.org/v63/i06/.")
+        "URL http://dx.doi.org/10.18637/jss.v063.i06.")
 )
 
diff --git a/man/Allogny.Rd b/man/Allogny.Rd
index c6a82c9..2f6893c 100755
--- a/man/Allogny.Rd
+++ b/man/Allogny.Rd
@@ -1,27 +1,27 @@
 \name{Allogny}
-\encoding{latin1}
-\alias{Allogny}
-\docType{data}
-\title{Spatial pattern of oaks suffering from frost shake in Allogny, France.}
-\description{
-Spatial pattern of sound and splited oaks (\emph{Quercus petraea}) suffering from frost shake in a 2.35-ha plot in Allogny, France.
-}
-\usage{data(Allogny)}
-\format{
-A list with 4 components:\cr
-\code{$rect   } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 125 by 188 m square plot.\cr
-\code{$trees  } is a list of tree coordinates \eqn{(x,y)}.\cr
-\code{$status } is a factor with 2 levels \eqn{("splited","sound")}.\cr
-}
-\source{
-  Grandjean, G., Jabiol, B., Bruchiamacchie, M. and Roustan, F. 1990. \emph{Recherche de corrélations entre les paramètres édaphiques, et plus spécialement texture, hydromorphie et drainage interne, et la réponse individuelle des chenes sessiles et pédonculés à la gélivure.} Rapport de recherche ENITEF, Nogent sur Vernisson, France.
-}
-\references{
-Goreaud, F. & Pélissier, R. 2003. Avoiding misinterpretation of biotic interactions with the intertype \emph{K12}-function: population independence vs. random labelling hypotheses. \emph{Journal of Vegetation Science}, 14: 681-692.
-}
-\examples{
-data(Allogny)
-allo.spp <- spp(Allogny$trees, mark=Allogny$status, window=Allogny$rect)
-plot(allo.spp)
-}
-\keyword{datasets}
+\encoding{latin1}
+\alias{Allogny}
+\docType{data}
+\title{Spatial pattern of oaks suffering from frost shake in Allogny, France.}
+\description{
+Spatial pattern of sound and splited oaks (\emph{Quercus petraea}) suffering from frost shake in a 2.35-ha plot in Allogny, France.
+}
+\usage{data(Allogny)}
+\format{
+A list with 4 components:\cr
+\code{$rect   } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 125 by 188 m square plot.\cr
+\code{$trees  } is a list of tree coordinates \eqn{(x,y)}.\cr
+\code{$status } is a factor with 2 levels \eqn{("splited","sound")}.\cr
+}
+\source{
+  Grandjean, G., Jabiol, B., Bruchiamacchie, M. and Roustan, F. 1990. \emph{Recherche de corrélations entre les paramètres édaphiques, et plus spécialement texture, hydromorphie et drainage interne, et la réponse individuelle des chenes sessiles et pédonculés à la gélivure.} Rapport de recherche ENITEF, Nogent sur Vernisson, France.
+}
+\references{
+Goreaud, F. & Pélissier, R. 2003. Avoiding misinterpretation of biotic interactions with the intertype \emph{K12}-function: population independence vs. random labelling hypotheses. \emph{Journal of Vegetation Science}, 14: 681-692.
+}
+\examples{
+data(Allogny)
+allo.spp <- spp(Allogny$trees, mark=Allogny$status, window=Allogny$rect)
+plot(allo.spp)
+}
+\keyword{datasets}
diff --git a/man/BPoirier.Rd b/man/BPoirier.Rd
index d5a6622..1979a29 100755
--- a/man/BPoirier.Rd
+++ b/man/BPoirier.Rd
@@ -1,34 +1,34 @@
-\encoding{latin1}
-\name{BPoirier}
-\alias{BPoirier}
-\docType{data}
-\title{Tree spatial pattern in Beau Poirier plot, Haye forest, France}
-\description{
-Spatial pattern of 162 beeches, 72 oaks and 3 hornbeams in a 1-ha 140 yr-old temperate forest plot in Haye, France. 
-}
-\usage{data(BPoirier)}
-\format{
-A list with 8 components:\cr
-\code{$rect    } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 110 by 90 m rectangular plot.\cr
-\code{$tri1    } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering the denser part of the plot.\cr
-\code{$tri2    } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering the sparser part of the plot.\cr
-\code{$poly1   } is a list of vertice coordinates \eqn{(x,y)} of the polygon enclosing \code{BPoirier$tri1}.\cr
-\code{$poly2   } is a list of two polygons vertice coordinates \eqn{(x,y)} enclosing \code{BPoirier$tri2}.\cr
-\code{$trees   } is a list of tree coordinates \eqn{(x,y)}.\cr
-\code{$species } is a factor with 3 levels \eqn{("beech","oak","hornbeam")} corresponding to species names of the trees.\cr
-\code{$dbh     } is a vector of tree size (diameter at breast height in cm). 
-}
-\source{
-Pardé, J. 1981. De 1882 à 1976/80 : les places d'expèrience de sylviculture du hetre en foret domainiale de Haye. \emph{Revue Forestière Française}, 33: 41-64.
-}
-
-\references{
-Goreaud, F. 2000. \emph{Apports de l'analyse de la structure spatiale en foret tempérée à l'étude et la modélisation des peuplements complexes}. Thèse de doctorat, ENGREF, Nancy, France.\cr\cr
-Pélissier, R. & Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12: 99-108.
-}
-\examples{
-data(BPoirier)
-BP.spp <- spp(BPoirier$trees, mark=BPoirier$species, window=BPoirier$rect)
-plot(BP.spp)
-}
-\keyword{datasets}
+\encoding{latin1}
+\name{BPoirier}
+\alias{BPoirier}
+\docType{data}
+\title{Tree spatial pattern in Beau Poirier plot, Haye forest, France}
+\description{
+Spatial pattern of 162 beeches, 72 oaks and 3 hornbeams in a 1-ha 140 yr-old temperate forest plot in Haye, France. 
+}
+\usage{data(BPoirier)}
+\format{
+A list with 8 components:\cr
+\code{$rect    } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 110 by 90 m rectangular plot.\cr
+\code{$tri1    } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering the denser part of the plot.\cr
+\code{$tri2    } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering the sparser part of the plot.\cr
+\code{$poly1   } is a list of vertice coordinates \eqn{(x,y)} of the polygon enclosing \code{BPoirier$tri1}.\cr
+\code{$poly2   } is a list of two polygons vertice coordinates \eqn{(x,y)} enclosing \code{BPoirier$tri2}.\cr
+\code{$trees   } is a list of tree coordinates \eqn{(x,y)}.\cr
+\code{$species } is a factor with 3 levels \eqn{("beech","oak","hornbeam")} corresponding to species names of the trees.\cr
+\code{$dbh     } is a vector of tree size (diameter at breast height in cm). 
+}
+\source{
+Pardé, J. 1981. De 1882 à 1976/80 : les places d'expèrience de sylviculture du hetre en foret domainiale de Haye. \emph{Revue Forestière Française}, 33: 41-64.
+}
+
+\references{
+Goreaud, F. 2000. \emph{Apports de l'analyse de la structure spatiale en foret tempérée à l'étude et la modélisation des peuplements complexes}. Thèse de doctorat, ENGREF, Nancy, France.\cr\cr
+Pélissier, R. & Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12: 99-108.
+}
+\examples{
+data(BPoirier)
+BP.spp <- spp(BPoirier$trees, mark=BPoirier$species, window=BPoirier$rect)
+plot(BP.spp)
+}
+\keyword{datasets}
diff --git a/man/Couepia.Rd b/man/Couepia.Rd
index 1657622..3453566 100755
--- a/man/Couepia.Rd
+++ b/man/Couepia.Rd
@@ -1,28 +1,28 @@
-\encoding{latin1}
-\name{Couepia}
-\alias{Couepia}
-\docType{data}
-\title{Spatial pattern of Couepia caryophylloides in Paracou, a canopy tree species of French Guiana.}
-\description{
-Spatial pattern of 34 mature individuals and 173 young individuals of the tree species \emph{Couepia caryophylloides} (Chrysobalanaceae) in a 25-ha forest plot in Paracou, French Guiana.
-}
-\usage{data(Couepia)}
-\format{
-A list with 4 components:\cr
-\code{$rect  } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 500 by 500 m rectangular plot.\cr
-\code{$tri   } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering swampy parts of the plot.\cr
-\code{$trees } is a list of tree coordinates \eqn{(x,y)}.\cr
-\code{$stage } is a factor with 2 levels \eqn{("mature","young")}.\cr
-}
-\source{
-  Collinet, F. 1997. \emph{Essai de regroupement des principales espèces structurantes d'une foret dense humide d'après l'analyse de leur répartition spatiale (foret de Paracou - Guyane).} Thèse de doctorat, Université Claude Bernard, Lyon, France.
-}
-\references{
-Goreaud, F. & Pélissier, R. 2003. Avoiding misinterpretation of biotic interactions with the intertype \emph{K12}-function: population independence vs. random labelling hypotheses. \emph{Journal of Vegetation Science}, 14: 681-692.
-}
-\examples{
-data(Couepia)
-coca.spp <- spp(Couepia$trees, mark=Couepia$stage, window=Couepia$rect, triangles=Couepia$tri)
-plot(coca.spp)
-}
-\keyword{datasets}
+\encoding{latin1}
+\name{Couepia}
+\alias{Couepia}
+\docType{data}
+\title{Spatial pattern of Couepia caryophylloides in Paracou, a canopy tree species of French Guiana.}
+\description{
+Spatial pattern of 34 mature individuals and 173 young individuals of the tree species \emph{Couepia caryophylloides} (Chrysobalanaceae) in a 25-ha forest plot in Paracou, French Guiana.
+}
+\usage{data(Couepia)}
+\format{
+A list with 4 components:\cr
+\code{$rect  } is a vector of coordinates \eqn{(xmin,ymin,xmax,ymax)} of the origin and the opposite corner of a 500 by 500 m rectangular plot.\cr
+\code{$tri   } is a list of vertice coordinates \eqn{(ax,ay,bx,by,cx,cy)} of contiguous triangles covering swampy parts of the plot.\cr
+\code{$trees } is a list of tree coordinates \eqn{(x,y)}.\cr
+\code{$stage } is a factor with 2 levels \eqn{("mature","young")}.\cr
+}
+\source{
+  Collinet, F. 1997. \emph{Essai de regroupement des principales espèces structurantes d'une foret dense humide d'après l'analyse de leur répartition spatiale (foret de Paracou - Guyane).} Thèse de doctorat, Université Claude Bernard, Lyon, France.
+}
+\references{
+Goreaud, F. & Pélissier, R. 2003. Avoiding misinterpretation of biotic interactions with the intertype \emph{K12}-function: population independence vs. random labelling hypotheses. \emph{Journal of Vegetation Science}, 14: 681-692.
+}
+\examples{
+data(Couepia)
+coca.spp <- spp(Couepia$trees, mark=Couepia$stage, window=Couepia$rect, triangles=Couepia$tri)
+plot(coca.spp)
+}
+\keyword{datasets}
diff --git a/man/area.swin.Rd b/man/area.swin.Rd
index d6042f2..296f2e2 100755
--- a/man/area.swin.Rd
+++ b/man/area.swin.Rd
@@ -1,45 +1,45 @@
-\encoding{latin1}
-\name{area.swin}
-\alias{area.swin}
-\title{Area of a sampling window}
-\description{
-  Function \code{area.swin} computes the area of a sampling window.
-}
-\usage{
-area.swin(w)
-}
-\arguments{
-  \item{w}{an object of class \code{"swin"} defining the sampling window.}
-}
-\details{
-For \code{"simple"} sampling windows, returns simply the area of the rectangle or circle delineating the study region.\cr
-For \code{"complex"} sampling windows, returns the area of the initial rectangle or circle, minus the total area of the 
-triangles to remove (see \code{\link{swin}}).
-}
-\value{
-The area of the sampling window.
-}
-\author{
-  \email{Raphael.Pelissier@ird.fr}
-}
-\seealso{
-  \code{\link{swin}}.
-}
-\examples{
-  #rectangle of size [0,110] x [0,90]
-  wr<-swin(c(0,0,110,90))
-  area.swin(wr)
-  
-  #circle with radius 50 centred on (55,45)
-  wc<-swin(c(55,45,50))
-  area.swin(wc)
-  
- # polygon (diamond shape)
- t1 <- c(0,0,55,0,0,45)
- t2 <- c(55,0,110,0,110,45)
- t3 <- c(0,45,0,90,55,90)
- t4 <- c(55,90,110,90,110,45)
- wp <- swin(wr, rbind(t1,t2,t3,t4))
- area.swin(wp)
-}
-\keyword{spatial}
+\encoding{latin1}
+\name{area.swin}
+\alias{area.swin}
+\title{Area of a sampling window}
+\description{
+  Function \code{area.swin} computes the area of a sampling window.
+}
+\usage{
+area.swin(w)
+}
+\arguments{
+  \item{w}{an object of class \code{"swin"} defining the sampling window.}
+}
+\details{
+For \code{"simple"} sampling windows, returns simply the area of the rectangle or circle delineating the study region.\cr
+For \code{"complex"} sampling windows, returns the area of the initial rectangle or circle, minus the total area of the 
+triangles to remove (see \code{\link{swin}}).
+}
+\value{
+The area of the sampling window.
+}
+\author{
+  \email{Raphael.Pelissier@ird.fr}
+}
+\seealso{
+  \code{\link{swin}}.
+}
+\examples{
+  \dontrun{rectangle of size [0,110] x [0,90]}
+  wr<-swin(c(0,0,110,90))
+  area.swin(wr)
+  
+  \dontrun{circle with radius 50 centred on (55,45)}
+  wc<-swin(c(55,45,50))
+  area.swin(wc)
+  
+ \dontrun{polygon (diamond shape)}
+ t1 <- c(0,0,55,0,0,45)
+ t2 <- c(55,0,110,0,110,45)
+ t3 <- c(0,45,0,90,55,90)
+ t4 <- c(55,90,110,90,110,45)
+ wp <- swin(wr, rbind(t1,t2,t3,t4))
+ area.swin(wp)
+}
+\keyword{spatial}
diff --git a/man/demopat.Rd b/man/demopat.Rd
index f6cb081..d8ddf2a 100755
--- a/man/demopat.Rd
+++ b/man/demopat.Rd
@@ -1,22 +1,22 @@
-\name{demopat}
-\encoding{latin1}
-\alias{demopat}
-\docType{data}
-\title{Artificial Data Point Pattern from \code{spatstat} package.}
-\description{
-This is an artificial dataset, for use in testing and demonstrating compatibility between \code{spatstat} and \code{ads} objects. It is a multitype point pattern in an irregular polygonal window.
- There are two types of points. The window contains a polygonal hole.
-}
-\usage{data(demopat)}
-\format{
-An object of class "ppp" representing a \code{spatstat} point pattern.
-}
-\source{
- data(demopat) in \code{spatstat} 
-}
-\examples{
-	data(demopat)
-	demo.spp<-ppp2spp(demopat)
-	plot(demo.spp)
-}
-\keyword{datasets}
+\name{demopat}
+\encoding{latin1}
+\alias{demopat}
+\docType{data}
+\title{Artificial Data Point Pattern from \code{spatstat} package.}
+\description{
+This is an artificial dataset, for use in testing and demonstrating compatibility between \code{spatstat} and \code{ads} objects. It is a multitype point pattern in an irregular polygonal window.
+ There are two types of points. The window contains a polygonal hole.
+}
+\usage{data(demopat)}
+\format{
+An object of class "ppp" representing a \code{spatstat} point pattern.
+}
+\source{
+ data(demopat) in \code{spatstat} 
+}
+\examples{
+	data(demopat)
+	demo.spp<-ppp2spp(demopat)
+	plot(demo.spp)
+}
+\keyword{datasets}
diff --git a/man/dval.Rd b/man/dval.Rd
index 89e6050..a5fb61e 100755
--- a/man/dval.Rd
+++ b/man/dval.Rd
@@ -51,22 +51,22 @@ dval(p, upto, by, nx, ny)
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
   swr <- spp(BP$trees, win=BP$rect)
   dswr <- dval(swr,25,1,11,9)
   summary(dswr)
   plot(dswr)
   
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
   swc <- spp(BP$trees, win=c(55,45,45))
   dswc <- dval(swc,25,1,9,9)
   summary(dswc)
   plot(dswc)
   
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri1)
   dswrt <- dval(swrt,25,1,11,9)
   summary(dswrt)
   plot(dswrt)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/inside.swin.Rd b/man/inside.swin.Rd
index d4fed90..1807694 100755
--- a/man/inside.swin.Rd
+++ b/man/inside.swin.Rd
@@ -1,42 +1,42 @@
-\encoding{latin1}
-\name{inside.swin}
-\alias{inside.swin}
-\title{Test wether points are inside a sampling window}
-\description{
- Function \code{inside.swin} tests whether points lie inside or outside a given sampling window.
-}
-\usage{
-inside.swin(x, y, w, bdry=TRUE)
-}
-\arguments{
-  \item{x}{a vector of \code{x} coordinates of points.}
-  \item{y}{a vector of \code{y} coordinates of points.}
-  \item{w}{an object of class \code{"swin"} (see \code{\link{swin}}) defining the sampling window.}
-  \item{bdry}{by default \code{bdry = TRUE}. If \code{FALSE}, points located 
-  on the boundary of the sampling window are considered to be outside.}
-}
-\value{
-  A logical vector whose \code{ith} entry is \code{TRUE} if the corresponding point \eqn{(x[i],y[i])} is inside w, \code{FALSE} otherwise.
-}
-\note{
- For \code{"complex"} sampling windows, points inside the triangles to remove or on their boundary, are considered outside.  
-}
-\author{
-  \email{Raphael.Pelissier@ird.fr}
-}
-\seealso{
-  \code{\link{swin}}.
-}
-\examples{
-  data(BPoirier)
-  BP <- BPoirier
-  wr <- swin(BP$rect)
-  sum(inside.swin(BP$trees$x, BP$trees$y, wr))
-  
-  wc <- swin(c(55,45,45))
-  sum(inside.swin(BP$trees$x, BP$trees$y, wc))
-  
-  wrt <- swin(BP$rect, triangles=BP$tri1)
-  sum(inside.swin(BP$trees$x, BP$trees$y,wrt))
-}
+\encoding{latin1}
+\name{inside.swin}
+\alias{inside.swin}
+\title{Test wether points are inside a sampling window}
+\description{
+ Function \code{inside.swin} tests whether points lie inside or outside a given sampling window.
+}
+\usage{
+inside.swin(x, y, w, bdry=TRUE)
+}
+\arguments{
+  \item{x}{a vector of \code{x} coordinates of points.}
+  \item{y}{a vector of \code{y} coordinates of points.}
+  \item{w}{an object of class \code{"swin"} (see \code{\link{swin}}) defining the sampling window.}
+  \item{bdry}{by default \code{bdry = TRUE}. If \code{FALSE}, points located 
+  on the boundary of the sampling window are considered to be outside.}
+}
+\value{
+  A logical vector whose \code{ith} entry is \code{TRUE} if the corresponding point \eqn{(x[i],y[i])} is inside w, \code{FALSE} otherwise.
+}
+\note{
+ For \code{"complex"} sampling windows, points inside the triangles to remove or on their boundary, are considered outside.  
+}
+\author{
+  \email{Raphael.Pelissier@ird.fr}
+}
+\seealso{
+  \code{\link{swin}}.
+}
+\examples{
+  data(BPoirier)
+  BP <- BPoirier
+  wr <- swin(BP$rect)
+  sum(inside.swin(BP$trees$x, BP$trees$y, wr))
+  
+  wc <- swin(c(55,45,45))
+  sum(inside.swin(BP$trees$x, BP$trees$y, wc))
+  
+  wrt <- swin(BP$rect, triangles=BP$tri1)
+  sum(inside.swin(BP$trees$x, BP$trees$y,wrt))
+}
 \keyword{spatial}
\ No newline at end of file
diff --git a/man/internal.Rd b/man/internal.Rd
index b2d64c4..c674c5e 100755
--- a/man/internal.Rd
+++ b/man/internal.Rd
@@ -32,6 +32,7 @@
 \alias{summary.vads.kval}
 \alias{testIC}
 \alias{testInteger}
+\alias{transpose}
 \alias{subsetdist}       
 \title{Internal ads functions}
 \description{
@@ -58,8 +59,9 @@ sortmat(dis,ind)
 subsetdist(dis,sub)
 testIC(nbSimu, lev)
 testInteger(i)
+transpose(x, y)
 }
 \details{
   These are usually not to be called by the user.
 }
-\keyword{internal}
\ No newline at end of file
+\keyword{internal}
diff --git a/man/k12fun.Rd b/man/k12fun.Rd
index 9b90394..80a0e62 100755
--- a/man/k12fun.Rd
+++ b/man/k12fun.Rd
@@ -96,7 +96,7 @@ k12fun(p, upto, by, nsim=0, H0=c("pitor","pimim","rl"), prec=0.01, nsimax=3000,
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
   #testing population independence hypothesis
   k12swrm.pi <- k12fun(swrm, 25, 1, 500, marks=c("beech","oak"))
@@ -105,17 +105,16 @@ k12fun(p, upto, by, nsim=0, H0=c("pitor","pimim","rl"), prec=0.01, nsimax=3000,
   k12swrm.rl <- k12fun(swrm, 25, 1, 500, H0="rl", marks=c("beech","oak"))
   plot(k12swrm.rl)
 
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
   swc <- spp(BP$trees, win=c(55,45,45), marks=BP$species)
   k12swc.pi <- k12fun(swc, 25, 1, 500, marks=c("beech","oak"))
   plot(k12swc.pi)
   
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt.rl <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$species)
   k12swrt.rl <- k12fun(swrt.rl, 25, 1, 500, H0="rl",marks=c("beech","oak"))
   plot(k12swrt.rl)
-  #testing population independence hypothesis
-  #requires minimizing the outer polygon
+  \dontrun{testing population independence hypothesis requires minimizing the outer polygon}
   xr<-range(BP$tri3$ax,BP$tri3$bx,BP$tri3$cx)
   yr<-range(BP$tri3$ay,BP$tri3$by,BP$tri3$cy)
   rect.min<-swin(c(xr[1], yr[1], xr[2], yr[2]))
@@ -123,4 +122,4 @@ k12fun(p, upto, by, nsim=0, H0=c("pitor","pimim","rl"), prec=0.01, nsimax=3000,
   k12swrt.pi <- k12fun(swrt.pi, 25, 1, nsim = 500, marks = c("beech", "oak"))
   plot(k12swrt.pi)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/k12val.Rd b/man/k12val.Rd
index 6c70d67..c099f18 100755
--- a/man/k12val.Rd
+++ b/man/k12val.Rd
@@ -1,73 +1,73 @@
-\encoding{latin1}
-\name{k12val}
-\alias{k12val}
-\alias{print.k12val}
-\alias{summary.k12val}
-\alias{print.summary.k12val}
-\title{Multiscale local second-order neighbour density of a bivariate spatial point pattern}
-\description{
- Computes local second-order neighbour density estimates for a bivariate spatial point pattern, i.e. the number of neighbours of type 2 per unit area
-  within sample circles of regularly increasing radii \eqn{r}, centred at each type 1 point of the pattern (see Details). 
-}
-\usage{
- k12val(p, upto, by, marks)
-}
-\arguments{
-  \item{p}{a \code{"spp"} object defining a multivariate spatial point pattern in a given sampling window (see \code{\link{spp}}).}
-  \item{upto }{maximum radius of the sample circles (see Details).}
-  \item{by }{interval length between successive sample circles radii (see Details).}
-  \item{marks}{by default \code{c(1,2)}, otherwise a vector of two numbers or character strings identifying the types (the \code{p$marks} levels)
-  of points of type 1 and 2, respectively.}
-}
-\details{
-  Function \code{K12val} returns individual values of \emph{K12(r)} and associated functions (see \code{\link{k12fun}})
- estimated at each type 1 point of the pattern. For a given distance \emph{r}, these values can be mapped within the sampling window, as in
- Getis & Franklin 1987 or Pélissier & Goreaud 2001. 
-}
-\value{
- A list of class \code{c("vads","k12val")} with essentially the following components:
- \item{r }{a vector of regularly spaced distances (\code{seq(by,upto,by)}).}
- \item{xy }{a data frame with 2 components giving \eqn{(x,y)} coordinates of type 1 points of the pattern.}
- \item{g12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the bivariate pair density function \eqn{g12(r)}.}
- \item{n12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the bivariate neighbour density function \eqn{n12(r)}.}
- \item{k12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the intertype function \eqn{K12(r)}.}
- \item{l12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values the modified intertype function \eqn{L12(r)}.}
-}
-\references{ 
- Getis, A. and Franklin, J. 1987. Second-order neighborhood analysis of mapped point patterns. \emph{Ecology}, 68:473-477.\cr\cr
-  Pélissier, R. and Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12:99-108.
-}
-\author{
-	\email{Raphael.Pelissier@ird.fr}
-}
-\note{
- There are printing, summary and plotting methods for \code{"vads"} objects.
-}
-\seealso{ 
-	\code{\link{plot.vads}},
-	\code{\link{k12fun}},
-	\code{\link{dval}},
-	\code{\link{kval}}.
-}
-\examples{
-  data(BPoirier)
-  BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
-  swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
-  k12vswrm <- k12val(swrm, 25, 1, marks=c("beech","oak"))
-  summary(k12vswrm)
-  plot(k12vswrm)
- 
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
-  swc <- spp(BP$trees, win=c(55,45,45), marks=BP$species)
-  k12vswc <- k12val(swc, 25, 1, marks=c("beech","oak"))
-  summary(k12vswc)
-  plot(k12vswc)
-  
-  # spatial point pattern in a complex sampling window
-  swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$species)
-  k12vswrt <- k12val(swrt, 25, 1, marks=c("beech","oak"))
-  summary(k12vswrt)
-  plot(k12vswrt)
-}
-\keyword{spatial}
+\encoding{latin1}
+\name{k12val}
+\alias{k12val}
+\alias{print.k12val}
+\alias{summary.k12val}
+\alias{print.summary.k12val}
+\title{Multiscale local second-order neighbour density of a bivariate spatial point pattern}
+\description{
+ Computes local second-order neighbour density estimates for a bivariate spatial point pattern, i.e. the number of neighbours of type 2 per unit area
+  within sample circles of regularly increasing radii \eqn{r}, centred at each type 1 point of the pattern (see Details). 
+}
+\usage{
+ k12val(p, upto, by, marks)
+}
+\arguments{
+  \item{p}{a \code{"spp"} object defining a multivariate spatial point pattern in a given sampling window (see \code{\link{spp}}).}
+  \item{upto }{maximum radius of the sample circles (see Details).}
+  \item{by }{interval length between successive sample circles radii (see Details).}
+  \item{marks}{by default \code{c(1,2)}, otherwise a vector of two numbers or character strings identifying the types (the \code{p$marks} levels)
+  of points of type 1 and 2, respectively.}
+}
+\details{
+  Function \code{K12val} returns individual values of \emph{K12(r)} and associated functions (see \code{\link{k12fun}})
+ estimated at each type 1 point of the pattern. For a given distance \emph{r}, these values can be mapped within the sampling window, as in
+ Getis & Franklin 1987 or Pélissier & Goreaud 2001. 
+}
+\value{
+ A list of class \code{c("vads","k12val")} with essentially the following components:
+ \item{r }{a vector of regularly spaced distances (\code{seq(by,upto,by)}).}
+ \item{xy }{a data frame with 2 components giving \eqn{(x,y)} coordinates of type 1 points of the pattern.}
+ \item{g12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the bivariate pair density function \eqn{g12(r)}.}
+ \item{n12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the bivariate neighbour density function \eqn{n12(r)}.}
+ \item{k12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the intertype function \eqn{K12(r)}.}
+ \item{l12val }{a matrix of size \eqn{(length(xy),length(r))} giving individual values the modified intertype function \eqn{L12(r)}.}
+}
+\references{ 
+ Getis, A. and Franklin, J. 1987. Second-order neighborhood analysis of mapped point patterns. \emph{Ecology}, 68:473-477.\cr\cr
+  Pélissier, R. and Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12:99-108.
+}
+\author{
+	\email{Raphael.Pelissier@ird.fr}
+}
+\note{
+ There are printing, summary and plotting methods for \code{"vads"} objects.
+}
+\seealso{ 
+	\code{\link{plot.vads}},
+	\code{\link{k12fun}},
+	\code{\link{dval}},
+	\code{\link{kval}}.
+}
+\examples{
+  data(BPoirier)
+  BP <- BPoirier
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
+  swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
+  k12vswrm <- k12val(swrm, 25, 1, marks=c("beech","oak"))
+  summary(k12vswrm)
+  plot(k12vswrm)
+ 
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
+  swc <- spp(BP$trees, win=c(55,45,45), marks=BP$species)
+  k12vswc <- k12val(swc, 25, 1, marks=c("beech","oak"))
+  summary(k12vswc)
+  plot(k12vswc)
+  
+  \dontrun{spatial point pattern in a complex sampling window}
+  swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$species)
+  k12vswrt <- k12val(swrt, 25, 1, marks=c("beech","oak"))
+  summary(k12vswrt)
+  plot(k12vswrt)
+}
+\keyword{spatial}
diff --git a/man/kdfun.Rd b/man/kdfun.Rd
index 735a436..c750e41 100755
--- a/man/kdfun.Rd
+++ b/man/kdfun.Rd
@@ -67,26 +67,26 @@ kdfun(p, upto, by, dis, nsim=0, alpha = 0.01)
 \examples{
   data(Paracou15)
   P15<-Paracou15
-  # spatial point pattern in a rectangle sampling window of size 125 x 125
+  \dontrun{spatial point pattern in a rectangle sampling window of size 125 x 125}
   swmr <- spp(P15$trees, win = c(175, 175, 250, 250), marks = P15$species)
-  # testing the species equivalence hypothesis
+  \dontrun{testing the species equivalence hypothesis}
   kdswmr <- kdfun(swmr, dis = P15$spdist, 50, 2, 100)
-  #running more simulations is slow
-  #kdswmr <- drfun(swmr, dis = P15$spdist, 50, 2, 500)
+  \dontrun{running more simulations is slow}
+  \donttest{kdswmr <- kdfun(swmr, dis = P15$spdist, 50, 2, 500)}
   plot(kdswmr)
 
-  # spatial point pattern in a circle with radius 50 centred on (125,125)
+ \dontrun{spatial point pattern in a circle with radius 50 centred on (125,125)}
   swmc <- spp(P15$trees, win = c(125,125,50), marks = P15$species)
   kdswmc <- kdfun(swmc, dis = P15$spdist, 50, 2, 100)
-  #running more simulations is slow
-  #kdswmc <- kdfun(swmc, dis = P15$spdist, 50, 2, 500)
+  \dontrun{running more simulations is slow}
+  \donttest{kdswmc <- kdfun(swmc, dis = P15$spdist, 50, 2, 500)}
   plot(kdswmc)
   
-  # spatial point pattern in a complex sampling window
+ \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(P15$trees, win = c(125,125,250,250), tri = P15$tri, marks = P15$species)
   kdswrt <- kdfun(swrt, dis = P15$spdist, 50, 2, 100)
-  #running simulations is slow
-  #kdswrt <- kdfun(swrt, dis = P15$spdist, 50, 2, 500)
+  \dontrun{running simulations is slow}
+  \donttest{kdswrt <- kdfun(swrt, dis = P15$spdist, 50, 2, 500)}
   plot(kdswrt)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/kfun.Rd b/man/kfun.Rd
index 43a1305..ae21fd0 100755
--- a/man/kfun.Rd
+++ b/man/kfun.Rd
@@ -82,19 +82,19 @@ kfun(p, upto, by, nsim=0, prec=0.01, alpha=0.01)
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
   swr <- spp(BP$trees, win=BP$rect)
   kswr <- kfun(swr,25,1,500)
   plot(kswr)
 
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
   swc <- spp(BP$trees, win=c(55,45,45))
   kswc <- kfun(swc, 25, 1, 500)
   plot(kswc)
   
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri1)
   kswrt <- kfun(swrt, 25, 1, 500)
   plot(kswrt)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/kmfun.Rd b/man/kmfun.Rd
index bc39f5a..0e6fb60 100755
--- a/man/kmfun.Rd
+++ b/man/kmfun.Rd
@@ -70,17 +70,17 @@ Ripley B.D. 1977. Modelling spatial patterns. \emph{Journal of the Royal Statist
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$dbh)
   kmswrm <- kmfun(swrm, 25, 2, 500)
   plot(kmswrm)
   
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
   swc <- spp(BP$trees, win=c(55,45,45), marks=BP$dbh)
   kmswc <- kmfun(swc, 25, 2, 500)
   plot(kmswc)
 
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$dbh)
   kmswrt <- kmfun(swrt, 25, 2, 500)
   plot(kmswrt)
diff --git a/man/kp.fun.Rd b/man/kp.fun.Rd
index c42e544..45d9d96 100755
--- a/man/kp.fun.Rd
+++ b/man/kp.fun.Rd
@@ -46,17 +46,17 @@ kp.fun(p, upto, by)
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # multivariate spatial point pattern in a rectangle sampling window 
+  \dontrun{multivariate spatial point pattern in a rectangle sampling window}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
   kp.swrm <- kp.fun(swrm, 25, 1)
   plot(kp.swrm)
   
- # multivariate spatial point pattern in a circle with radius 50 centred on (55,45)
+ \dontrun{multivariate spatial point pattern in a circle with radius 50 centred on (55,45)}
   swcm <- spp(BP$trees, win=c(55,45,45), marks=BP$species)
   kp.swcm <- kp.fun(swcm, 25, 1)
   plot(kp.swcm)
   
-  # multivariate spatial point pattern in a complex sampling window
+  \dontrun{multivariate spatial point pattern in a complex sampling window}
   swrtm <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$species)
   kp.swrtm <- kp.fun(swrtm, 25, 1)
   plot(kp.swrtm)
diff --git a/man/kpqfun.Rd b/man/kpqfun.Rd
index 3fa67d1..31243d7 100755
--- a/man/kpqfun.Rd
+++ b/man/kpqfun.Rd
@@ -47,17 +47,17 @@ A list of class \code{"fads"} with essentially the following components:
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # multivariate spatial point pattern in a rectangle sampling window 
+ \dontrun{multivariate spatial point pattern in a rectangle sampling window}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
   kpqswrm <- kpqfun(swrm, 25, 1)
   plot(kpqswrm)
   
- # multivariate spatial point pattern in a circle with radius 50 centred on (55,45)
+ \dontrun{multivariate spatial point pattern in a circle with radius 50 centred on (55,45)}
   swcm <- spp(BP$trees, win=c(55,45,45), marks=BP$species)
   kpqswcm <- kpqfun(swcm, 25, 1)
   plot(kpqswcm)
   
-  # multivariate spatial point pattern in a complex sampling window
+  \dontrun{multivariate spatial point pattern in a complex sampling window}
   swrtm <- spp(BP$trees, win=BP$rect, tri=BP$tri2, marks=BP$species)
   kpqswrtm <- kpqfun(swrtm, 25, 1)
   plot(kpqswrtm)
diff --git a/man/krfun.Rd b/man/krfun.Rd
index 4232582..dba05d1 100755
--- a/man/krfun.Rd
+++ b/man/krfun.Rd
@@ -54,7 +54,7 @@ The species equivalence hypothesis (H0 = "se") is tested by randomizing the betw
 \references{
  Rao, C.R. 1982. Diversity and dissimilarity coefficient: a unified approach. \emph{Theoretical Population Biology}, 21:24-43.
 
- Shimatani, K. 2001. On the measurement of species diversity incorporating species differences. \emph{Oïkos}, 93, 135-147.
+ Shimatani, K. 2001. On the measurement of species diversity incorporating species differences. \emph{Oikos}, 93, 135-147.
  
  Goreaud F. & Pélissier R. 1999. On explicit formulas of edge effect correction for Ripley's K-function. \emph{Journal of Vegetation Science}, 10:433-438.
 
@@ -77,31 +77,31 @@ The species equivalence hypothesis (H0 = "se") is tested by randomizing the betw
 \examples{
   data(Paracou15)
   P15<-Paracou15
-  # spatial point pattern in a rectangle sampling window of size 125 x 125
+  \dontrun{spatial point pattern in a rectangle sampling window of size 125 x 125}
   swmr <- spp(P15$trees, win = c(175, 175, 250, 250), marks = P15$species)
-  # testing the random labeling hypothesis
+  \dontrun{testing the random labeling hypothesis}
   krwmr.rl <- krfun(swmr, dis = P15$spdist, H0 = "rl", 25, 2, 50)
-  #running more simulations is slow
-  #krwmr.rl <- krfun(swmr, dis = P15$spdist, H0 = "rl", 25, 2, 500)
+  \dontrun{running more simulations is slow}
+  \donttest{krwmr.rl <- krfun(swmr, dis = P15$spdist, H0 = "rl", 25, 2, 500)}
   plot(krwmr.rl)
-  # testing the species equivalence hypothesis
+  \dontrun{testing the species equivalence hypothesis}
   krwmr.se <- krfun(swmr, dis = P15$spdist, H0 = "se", 25, 2, 50)
-  #running more simulations is slow
-  #krwmr.se <- krfun(swmr, dis = P15$spdist, H0 = "se", 25, 2, 500)
+  \dontrun{running more simulations is slow}
+  \donttest{krwmr.se <- krfun(swmr, dis = P15$spdist, H0 = "se", 25, 2, 500)}
   plot(krwmr.se)
 
-  # spatial point pattern in a circle with radius 50 centred on (125,125)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (125,125)}
   swmc <- spp(P15$trees, win = c(125,125,50), marks = P15$species)
   krwmc <- krfun(swmc, dis = P15$spdist, H0 = "rl", 25, 2, 100)
-  #running more simulations is slow
-  #krwmc <- krfun(swmc, dis = P15$spdist, H0 = "rl, 25, 2, 500)
+  \dontrun{running more simulations is slow}
+  \donttest{krwmc <- krfun(swmc, dis = P15$spdist, H0 = "rl", 25, 2, 500)}
   plot(krwmc)
   
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(P15$trees, win = c(125,125,250,250), tri = P15$tri, marks = P15$species)
   krwrt <- krfun(swrt, dis = P15$spdist, H0 = "rl", 25, 2)
-  #running simulations is slow
-  #krwrt <- krfun(swrt, dis = P15$spdist, H0 = "rl", 25, 2, 500)
+  \dontrun{running simulations is slow}
+  \donttest{krwrt <- krfun(swrt, dis = P15$spdist, H0 = "rl", 25, 2, 500)}
   plot(krwrt)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/ksfun.Rd b/man/ksfun.Rd
index 55259a2..cd96eb4 100755
--- a/man/ksfun.Rd
+++ b/man/ksfun.Rd
@@ -52,7 +52,7 @@ ksfun(p, upto, by, nsim=0, alpha=0.01)
 \references{
  Shimatani K. 2001. Multivariate point processes and spatial variation in species diversity. \emph{Forest Ecology and Managaement}, 142:215-229.
 
- Eckel, S., Fleisher, F., Grabarnik, P. and Schmidt V. 2008. An investigation of the spatial correlations for relative purchasing power in Baden-Württemberg. \emph{AstA - Advances in Statistical Analysis}, 92:135-152.
+ Eckel, S., Fleisher, F., Grabarnik, P. and Schmidt V. 2008. An investigation of the spatial correlations for relative purchasing power in Baden-Wurttemberg. \emph{AstA - Advances in Statistical Analysis}, 92:135-152.
  
  Simpson, E.H. 1949. Measurement of diversity. \emph{Nature}, 688:163.
  
@@ -75,19 +75,19 @@ ksfun(p, upto, by, nsim=0, alpha=0.01)
 \examples{
   data(Paracou15)
   P15<-Paracou15
-  # spatial point pattern in a rectangle sampling window of size 125 x 125
+  \dontrun{spatial point pattern in a rectangle sampling window of size 125 x 125}
   swmr <- spp(P15$trees, win = c(125, 125, 250, 250), marks = P15$species)
   kswmr <- ksfun(swmr, 50, 5, 500)
   plot(kswmr)
 
-  # spatial point pattern in a circle with radius 50 centred on (125,125)
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (125,125)}
   swmc <- spp(P15$trees, win = c(125, 125, 50), marks = P15$species)
   kswmc <- ksfun(swmc, 50, 5, 500)
   plot(kswmc)
   
-  # spatial point pattern in a complex sampling window
+  \dontrun{spatial point pattern in a complex sampling window}
   swrt <- spp(P15$trees, win = c(125, 125, 250, 250), tri=P15$tri, marks=P15$species)
   kswrt <- ksfun(swrt, 50, 5, 500)
   plot(kswrt)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/kval.Rd b/man/kval.Rd
index ac9f740..11f5a8d 100755
--- a/man/kval.Rd
+++ b/man/kval.Rd
@@ -1,74 +1,74 @@
-\encoding{latin1}
-\name{kval}
-\alias{kval}
-\alias{print.kval}
-\alias{summary.kval}
-\alias{print.summary.kval}
-\title{Multiscale local second-order neighbour density of a spatial point pattern}
-\description{
- Computes local second-order neighbour density estimates for an univariate spatial point pattern, i.e. the number of neighbours per unit area
-  within sample circles of regularly increasing radii \eqn{r}, centred at each point of the pattern (see Details). 
-}
-\usage{
-  kval(p, upto, by)
-}
-\arguments{
-  \item{p}{a \code{"spp"} object defining a spatial point pattern in a given sampling window (see \code{\link{spp}}).}
-  \item{upto }{maximum radius of the sample circles (see Details).}
-  \item{by }{interval length between successive sample circles radii (see Details).}
-}
-\details{
- Function \code{kval} returns indivdiual values of \emph{K(r)} and associated functions (see \code{\link{kfun}})
- estimated for each point of the pattern. For a given distance \emph{r}, these values can be mapped within the sampling window 
- (Getis & Franklin 1987, Pélissier & Goreaud 2001).  
-}
-\value{
-A list of class \code{c("vads","kval")} with essentially the following components:
- \item{r }{a vector of regularly spaced out distances (\code{seq(by,upto,by)}).}
- \item{xy }{a data frame with 2 components giving \eqn{(x,y)} coordinates of points of the pattern.}
- \item{gval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the pair density function \eqn{g(r)}.}
- \item{nval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the neighbour density function \eqn{n(r)}.}
- \item{kval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of Ripley's function \eqn{K(r)}.}
- \item{lval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values the modified Ripley's function \eqn{L(r)}.}
- }
-\references{ 
-  Getis, A. and Franklin, J. 1987. Second-order neighborhood analysis of mapped point patterns. \emph{Ecology}, 68:473-477.\cr\cr
-  Pélissier, R. and Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12:99-108.
-}
-\author{
-	\email{Raphael.Pelissier@ird.fr}
-}
-\note{
- There are printing, summary and plotting methods for \code{"vads"} objects.
-}
-\section{Warning }{
-  Function \code{kval} ignores the marks of multivariate and marked point patterns (they are all considered to be univariate patterns).
-}
-\seealso{
-	\code{\link{plot.vads}},
-	\code{\link{kfun}},
-	\code{\link{dval}},
-	\code{\link{k12val}}.
-}
-\examples{
-  data(BPoirier)
-  BP <- BPoirier
-  # spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]
-  swr <- spp(BP$trees, win=BP$rect)
-  kvswr <- kval(swr, 25, 1)
-  summary(kvswr)
-  plot(kvswr)
-
-  # spatial point pattern in a circle with radius 50 centred on (55,45)
-  swc <- spp(BP$trees, win=c(55,45,45))
-  kvswc <- kval(swc, 25, 1)
-  summary(kvswc)
-  plot(kvswc)
-  
-  # spatial point pattern in a complex sampling window
-  swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri1)
-  kvswrt <- kval(swrt, 25, 1)
-  summary(kvswrt)
-  plot(kvswrt)
-}
-\keyword{spatial}
\ No newline at end of file
+\encoding{latin1}
+\name{kval}
+\alias{kval}
+\alias{print.kval}
+\alias{summary.kval}
+\alias{print.summary.kval}
+\title{Multiscale local second-order neighbour density of a spatial point pattern}
+\description{
+ Computes local second-order neighbour density estimates for an univariate spatial point pattern, i.e. the number of neighbours per unit area
+  within sample circles of regularly increasing radii \eqn{r}, centred at each point of the pattern (see Details). 
+}
+\usage{
+  kval(p, upto, by)
+}
+\arguments{
+  \item{p}{a \code{"spp"} object defining a spatial point pattern in a given sampling window (see \code{\link{spp}}).}
+  \item{upto }{maximum radius of the sample circles (see Details).}
+  \item{by }{interval length between successive sample circles radii (see Details).}
+}
+\details{
+ Function \code{kval} returns indivdiual values of \emph{K(r)} and associated functions (see \code{\link{kfun}})
+ estimated for each point of the pattern. For a given distance \emph{r}, these values can be mapped within the sampling window 
+ (Getis & Franklin 1987, Pélissier & Goreaud 2001).  
+}
+\value{
+A list of class \code{c("vads","kval")} with essentially the following components:
+ \item{r }{a vector of regularly spaced out distances (\code{seq(by,upto,by)}).}
+ \item{xy }{a data frame with 2 components giving \eqn{(x,y)} coordinates of points of the pattern.}
+ \item{gval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the pair density function \eqn{g(r)}.}
+ \item{nval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of the neighbour density function \eqn{n(r)}.}
+ \item{kval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values of Ripley's function \eqn{K(r)}.}
+ \item{lval }{a matrix of size \eqn{(length(xy),length(r))} giving individual values the modified Ripley's function \eqn{L(r)}.}
+ }
+\references{ 
+  Getis, A. and Franklin, J. 1987. Second-order neighborhood analysis of mapped point patterns. \emph{Ecology}, 68:473-477.\cr\cr
+  Pélissier, R. and Goreaud, F. 2001. A practical approach to the study of spatial structure in simple cases of heterogeneous vegetation. \emph{Journal of Vegetation Science}, 12:99-108.
+}
+\author{
+	\email{Raphael.Pelissier@ird.fr}
+}
+\note{
+ There are printing, summary and plotting methods for \code{"vads"} objects.
+}
+\section{Warning }{
+  Function \code{kval} ignores the marks of multivariate and marked point patterns (they are all considered to be univariate patterns).
+}
+\seealso{
+	\code{\link{plot.vads}},
+	\code{\link{kfun}},
+	\code{\link{dval}},
+	\code{\link{k12val}}.
+}
+\examples{
+  data(BPoirier)
+  BP <- BPoirier
+  \dontrun{spatial point pattern in a rectangle sampling window of size [0,110] x [0,90]}
+  swr <- spp(BP$trees, win=BP$rect)
+  kvswr <- kval(swr, 25, 1)
+  summary(kvswr)
+  plot(kvswr)
+
+  \dontrun{spatial point pattern in a circle with radius 50 centred on (55,45)}
+  swc <- spp(BP$trees, win=c(55,45,45))
+  kvswc <- kval(swc, 25, 1)
+  summary(kvswc)
+  plot(kvswc)
+  
+  \dontrun{spatial point pattern in a complex sampling window}
+  swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri1)
+  kvswrt <- kval(swrt, 25, 1)
+  summary(kvswrt)
+  plot(kvswrt)
+}
+\keyword{spatial}
diff --git a/man/mimetic.Rd b/man/mimetic.Rd
index a7ea809..d2ad7db 100755
--- a/man/mimetic.Rd
+++ b/man/mimetic.Rd
@@ -48,17 +48,17 @@ mimetic(x,upto=NULL,by=NULL,prec=NULL,nsimax=3000,conv=50)
 \examples{
   data(BPoirier)
   BP<-BPoirier
-  # performing point pattern analysis in a rectangle sampling window
+  \dontrun{performing point pattern analysis in a rectangle sampling window}
   swr <- spp(BP$trees, win=BP$rect)
   plot(swr)
   
-  # performing the mimetic point process from "spp" object
+  \dontrun{performing the mimetic point process from "spp" object}
   mimswr <- mimetic(swr, 20, 2)
   plot(mimswr)
 
-   # performing the mimetic point process from "fads" object
+  \dontrun{performing the mimetic point process from "fads" object}
   mimkswr <- mimetic(kfun(swr, 20, 2))
   plot(mimkswr)
   
   }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/plot.fads.Rd b/man/plot.fads.Rd
index 409277b..cb629ec 100755
--- a/man/plot.fads.Rd
+++ b/man/plot.fads.Rd
@@ -47,17 +47,17 @@
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # Ripley's function 
+  \dontrun{Ripley's function}
   swr <- spp(BP$trees, win=BP$rect)
   k.swr <- kfun(swr, 25, 1, 500)
   plot(k.swr)
   
-  # Intertype function
+  \dontrun{Intertype function}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
   k12.swrm <- k12fun(swrm, 25, 1, 500, marks=c("beech","oak"))
   plot(k12.swrm, opt="L", cols=1)
   
-  # Mark correlation function
+  \dontrun{Mark correlation function}
   swrm <- spp(BP$trees, win=BP$rect, marks=BP$dbh)
   km.swrm <- kmfun(swrm, 25, 1, 500)
   plot(km.swrm, main="Example 1", sub=NULL, legend=FALSE)
diff --git a/man/plot.spp.Rd b/man/plot.spp.Rd
index 9f0503a..9454e65 100755
--- a/man/plot.spp.Rd
+++ b/man/plot.spp.Rd
@@ -67,32 +67,29 @@ Then the points themselves are plotted, in a fashion that depends on the type of
   data(BPoirier)
   BP<-BPoirier
   
-  # a univariate point pattern in a rectangle sampling window
+  \dontrun{a univariate point pattern in a rectangle sampling window}
   plot(spp(BP$trees, win=BP$rect))
   
- # a univariate point pattern in a circular sampling window
- #with all points and graduations displayed
+  \dontrun{a univariate point pattern in a circular sampling window}
  plot(spp(BP$trees, win=c(55,45,45)), out=TRUE, scale=TRUE)
  
- # a univariate point pattern in a complex sampling window
- #with points outside the sampling window displayed (in red colour)
+ \dontrun{a univariate point pattern in a complex sampling window}
+ \dontrun{(points outside the sampling window displayed in red colour)}
  plot(spp(BP$trees, win=BP$rect, tri=BP$tri1), out=TRUE)
   
- # a multivariate point pattern in a rectangle sampling window
+ \dontrun{a multivariate point pattern in a rectangle sampling window}
  plot(spp(BP$trees, win=BP$rect, marks=BP$species))
  
- # a multivariate point pattern in a circular sampling window
- #with all points inside the sampling window displayed in blue colour
- #and all points outside displayed with the symbol "+" in red colour
+ \dontrun{a multivariate point pattern in a circular sampling window}
+ \dontrun{(points inside/outside the sampling window displayed in blue colour/as red crosses)}
  plot(spp(BP$trees, win=c(55,45,45), marks=BP$species), out=TRUE, cols=c("blue","blue","blue"), 
  chars.out=c("+","+","+"), cols.out=c("red","red","red"))
  
- # a marked point pattern in a rectangle sampling window
- #with circles in green colour
+  \dontrun{a marked point pattern in a rectangle sampling window with circles in green colour}
   plot(spp(BP$trees, win=BP$rect, marks=BP$dbh), cols="green")
 
- # a marked point pattern in a circular sampling window
- #with squares in red colour inside and circles in blue colour outside
+  \dontrun{a marked point pattern in a circular sampling window}
+  \dontrun{(squares in red colour inside and circles in blue colour outside)}
   plot(spp(BP$trees, win=c(55,45,45), marks=BP$dbh), out=TRUE, chars="squares", 
   cols="red", cols.out="blue")
 }
diff --git a/man/plot.vads.Rd b/man/plot.vads.Rd
index 6deced8..a2f212e 100755
--- a/man/plot.vads.Rd
+++ b/man/plot.vads.Rd
@@ -54,19 +54,19 @@ type of \code{'vads'} object:
 \examples{
   data(BPoirier)
   BP <- BPoirier
-  # local density in a rectangle sampling window
+  \dontrun{local density in a rectangle sampling window}
   dswr <- dval(spp(BP$trees, win=BP$rect), 25, 1, 11, 9)
   plot(dswr)
-  # display only distance r from 5 to 10 with null symbols as red crosses
+  \dontrun{display only distance r from 5 to 10 with null symbols as red crosses}
   plot(dswr, select=c(5:10), char0=3, col0="red")
   
-  # local L(r) values in a circular sampling window
+  \dontrun{local L(r) values in a circular sampling window}
   lvswc <- kval(spp(BP$trees, win=c(55,45,45)), 25, 0.5)
   plot(lvswc)
-  # display square symbols in blue for selected values of r and remove title
+  \dontrun{display square symbols in blue for selected values of r and remove title}
   plot(lvswc, chars="squares", cols="blue", select=c(5,7.5,10,12.5,15), main=NULL)
   
-   # local K12(r) values (1="beech", 2="oak") in a complex sampling window
+  \dontrun{local K12(r) values (1="beech", 2="oak") in a complex sampling window}
   k12swrt <- k12val(spp(BP$trees, win=BP$rect, tri=BP$tri1, marks=BP$species), 25, 1)
   plot(k12swrt, opt="kval")
 }
diff --git a/man/spp.Rd b/man/spp.Rd
index 93c86d9..39f97cc 100755
--- a/man/spp.Rd
+++ b/man/spp.Rd
@@ -74,40 +74,40 @@ Function \code{ppp2spp} converts an \code{\link[spatstat]{ppp.object}} from pack
 \examples{
 	data(BPoirier)
 	BP <- BPoirier
-	# univariate pattern in a rectangle of size [0,110] x [0,90]
+	\dontrun{univariate pattern in a rectangle of size [0,110] x [0,90]}
 	swr <- spp(BP$trees, win=BP$rect)
-	# an alternative using atomic vectors of point coordinates
-	#swr <- spp(BP$trees, win=BP$rect) 
+	\dontrun{an alternative using atomic vectors of point coordinates}
+	swr <- spp(BP$trees, win=BP$rect) 
 	summary(swr)
 	plot(swr)
 	
-	# univariate pattern in a circle with radius 50 centred on (55,45)
+	\dontrun{univariate pattern in a circle with radius 50 centred on (55,45)}
 	swc <- spp(BP$trees, win=c(55,45,50))
 	summary(swc)
 	plot(swc)
 	plot(swc, out=TRUE) # plot points outside the circle
 
-	# multivariate pattern in a rectangle of size [0,110] x [0,90]
+	\dontrun{multivariate pattern in a rectangle of size [0,110] x [0,90]}
 	swrm <- spp(BP$trees, win=BP$rect, marks=BP$species)
 	summary(swrm)
 	plot(swrm)
 	plot(swrm, chars=c("b","h","o")) # replace symbols by letters
 	
-	# marked pattern in a rectangle of size [0,110] x [0,90]
+	\dontrun{marked pattern in a rectangle of size [0,110] x [0,90]}
 	swrn <- spp(BP$trees, win=BP$rect, marks=BP$dbh)
 	summary(swrn)
 	plot(swrn)
 	
-	# multivariate pattern in a complex sampling window
+	\dontrun{multivariate pattern in a complex sampling window}
 	swrt <- spp(BP$trees, win=BP$rect, tri=BP$tri1, marks=BP$species)
 	summary(swrt)
 	plot(swrt)
 	plot(swrt, out=TRUE) # plot points outside the sampling window
 	
 	
-	#converting a ppp object from spatstat
+	\dontrun{converting a ppp object from spatstat}
 	data(demopat)
 	demo.spp<-ppp2spp(demopat)
 	plot(demo.spp)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/swin.Rd b/man/swin.Rd
index 8fcf150..bce930f 100755
--- a/man/swin.Rd
+++ b/man/swin.Rd
@@ -70,17 +70,17 @@ Function \code{owin2swin} converts an \code{\link[spatstat]{owin.object}} from p
  \email{Raphael.Pelissier@ird.fr}
 }
 \examples{
-  #rectangle of size [0,110] x [0,90]
+  \dontrun{rectangle of size [0,110] x [0,90]}
   wr <- swin(c(0,0,110,90))
   summary(wr)
   plot(wr)
   
-  #circle with radius 50 centred on (55,45)
+  \dontrun{circle with radius 50 centred on (55,45)}
   wc <- swin(c(55,45,50))
   summary(wc)
   plot(wc)
   
- # polygon (diamond shape)
+ \dontrun{polygon (diamond shape)}
  t1 <- c(0,0,55,0,0,45)
  t2 <- c(55,0,110,0,110,45)
  t3 <- c(0,45,0,90,55,90)
@@ -89,21 +89,21 @@ Function \code{owin2swin} converts an \code{\link[spatstat]{owin.object}} from p
  summary(wp)
  plot(wp)
  
- #rectangle with a hole
+ \dontrun{rectangle with a hole}
  h1 <- c(25,45,55,75,85,45)
  h2 <- c(25,45,55,15,85,45)
  wrh <- swin(wr, rbind(h1,h2))
  summary(wrh)
  plot(wrh)
 
- #circle with a hole
+ \dontrun{circle with a hole}
  wch <- swin(wc, rbind(h1,h2))
  summary(wch)
  plot(wch)
  
- #converting an owin object from spatstat
+ \dontrun{converting an owin object from spatstat}
  data(demopat)
  demo.swin<-owin2swin(demopat$window)
  plot(demo.swin)
 }
-\keyword{spatial}
\ No newline at end of file
+\keyword{spatial}
diff --git a/man/triangulate.Rd b/man/triangulate.Rd
index e2a4579..d15e2fd 100755
--- a/man/triangulate.Rd
+++ b/man/triangulate.Rd
@@ -43,19 +43,19 @@ is \eqn{(n-2)+2t}, with \eqn{n<200} in this version of the program.
   BP <- BPoirier
   plot(BP$poly1$x, BP$poly1$y)
   
-  # a single polygon triangulation
+  \dontrun{a single polygon triangulation}
   tri1 <- triangulate(BP$poly1)
   plot(swin(BP$rect, tri1))
   
-  # a single polygon with a hole
-  #tri2 <- triangulate(c(-10,-10,120,100), BP$poly1)
-  #plot(swin(c(-10,-10,120,100), tri2))
+  \dontrun{a single polygon with a hole}
+  \donttest{tri2 <- triangulate(c(-10,-10,120,100), BP$poly1)
+  plot(swin(c(-10,-10,120,100), tri2))}
   
-  # the same with narrower outer polygon
-  #tri3 <- lapply(BP$poly2,triangulate)
-  #tri3<-do.call(rbind,tri3)
-  #xr<-range(tri3$ax,tri3$bx,tri3$cx)
-  #yr<-range(tri3$ay,tri3$by,tri3$cy)
-  #plot(swin(c(xr[1],yr[1],xr[2],yr[2]), tri3))
-  }
+  \dontrun{the same with narrower outer polygon}
+  \donttest{tri3 <- lapply(BP$poly2,triangulate)
+  tri3<-do.call(rbind,tri3)
+  xr<-range(tri3$ax,tri3$bx,tri3$cx)
+  yr<-range(tri3$ay,tri3$by,tri3$cy)
+  plot(swin(c(xr[1],yr[1],xr[2],yr[2]), tri3))}
+}
 \keyword{spatial}
diff --git a/src/Zlibs.c b/src/Zlibs.c
index 362f14b..a161905 100755
--- a/src/Zlibs.c
+++ b/src/Zlibs.c
@@ -2458,11 +2458,11 @@ int intertype_rect_ic(int *point_nb1, double *x1, double *y1, int *point_nb2, do
                       int *t2, double *dt, int *nbSimu, int *h0, double *prec, int *nsimax, int *conv, int *rep, double *lev, double *g, double *k,
                       double *gic1, double *gic2, double *kic1, double *kic2, double *gval, double *kval, double *lval, double *nval)
     {
-    int i, j, i0, i1, i2, ptot, r;
+    int i, j, i0, i1, i2, r;
     double **gic, **kic;
     double *gg, *kk, *ll, *nn;
     double *gt, *kt, *lt, *nt;
-    int erreur=0, mess;
+    int erreur=0;
     int *type;
     //double *x,*y,*cost,surface,*xx,*yy;
     double *x, *y, *cost, densite_1, densite_2, densite_tot;
@@ -2522,7 +2522,6 @@ int intertype_rect_ic(int *point_nb1, double *x1, double *y1, int *point_nb2, do
         vecalloc(&kt, *t2);
         vecalloc(&lt, *t2);
         vecalloc(&nt, *t2);
-        /*ptot=*point_nb1+*point_nb2;*/
         erreur=ripley_rect(&point_nbtot, x, y, xmi, xma, ymi, yma, t2, dt, gt, kt);
         if (erreur!=0) return -1;
         for (j=0; j<*t2; j++)
@@ -2700,11 +2699,11 @@ int intertype_disq_ic(int *point_nb1, double *x1, double *y1, int *point_nb2, do
                       int *nsimax, int *conv, int *rep, double *lev, double *g, double *k, double *gic1, double *gic2,
                       double *kic1, double *kic2, double *gval, double *kval, double *lval, double *nval)
     {
-    int i, j, i0, i1, i2, ptot, r;
+    int i, j, i0, i1, i2, r;
     double **gic, **kic;
     double *gt, *kt, *lt, *nt;
     double *gg, *kk, *ll, *nn;
-    int erreur=0, mess;
+    int erreur=0;
     int *type;
     double *x, *y, *cost, densite_1, densite_2, densite_tot;
     int point_nb=0, point_nbtot;
@@ -2941,11 +2940,11 @@ int intertype_tr_rect_ic(int *point_nb1, double *x1, double *y1, int *point_nb2,
                          int *t2, double *dt, int *nbSimu, int *h0, double *prec, int *nsimax, int *conv, int *rep, double *lev, double *g, double *k,
                          double *gic1, double *gic2, double *kic1, double *kic2, double *gval, double *kval, double *lval, double *nval)
     {
-    int i, j, i0, i1, i2, ptot, r;
+    int i, j, i0, i1, i2, r;
     double **gic, **kic;
     double *gg, *kk, *ll, *nn;
     double *gt, *kt, *lt, *nt;
-    int erreur=0, mess;
+    int erreur=0;
     int *type;
     double *x, *y, *cost, densite_1, densite_2, densite_tot;
     int point_nb=0, point_nbtot;
@@ -3183,11 +3182,11 @@ int intertype_tr_disq_ic(int *point_nb1, double *x1, double *y1, int *point_nb2,
                          int *t2, double *dt, int *nbSimu, int *h0, double *prec, int *nsimax, int *conv, int *rep, double *lev, double *g, double *k,
                          double *gic1, double *gic2, double *kic1, double *kic2, double *gval, double *kval, double *lval, double *nval)
     {
-    int i, j, i0, i1, i2, ptot, r;
+    int i, j, i0, i1, i2, r;
     double **gic, **kic;
     double *gg, *kk, *ll, *nn;
     double *gt, *kt, *lt, *nt;
-    int erreur=0, mess;
+    int erreur=0;
     int *type;
     double *x, *y, *cost, densite_1, densite_2, densite_tot;
     int point_nb=0, point_nbtot;
@@ -6145,7 +6144,7 @@ int rao_rect(int *point_nb, double *x, double *y, double *xmi, double *xma, doub
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -6285,7 +6284,7 @@ int rao_rect_ic(int *point_nb, double *x, double *y, double *xmi, double *xma, d
 
     //Ripley for all points	
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -6546,7 +6545,7 @@ int rao_disq(int *point_nb, double *x, double *y, double *x0, double *y0, double
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb1, point_nb2, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -6683,8 +6682,8 @@ int rao_disq_ic(int *point_nb, double *x, double *y, double *x0, double *y0, dou
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     //Ripley for all points	
-    int erreur, ind;
-    double intensity1, point_nb1, point_nb2, intensity2;
+    int erreur;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -6940,7 +6939,7 @@ int rao_tr_rect(int *point_nb, double *x, double *y, double *xmi, double *xma, d
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -7076,7 +7075,7 @@ int rao_tr_disq(int *point_nb, double *x, double *y, double *x0, double *y0,
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -7213,7 +7212,7 @@ int rao_tr_rect_ic(int *point_nb, double *x, double *y, double *xmi, double *xma
 
     //Ripley for all points	
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -7474,7 +7473,7 @@ int rao_tr_disq_ic(int *point_nb, double *x, double *y, double *x0, double *y0,
 
     //Ripley for all points	
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
+    double intensity1, intensity2;
     double intensity=*point_nb/(*surface);
     double *gii, *kii;
     vecalloc(&gii, *t2);
@@ -7705,7 +7704,7 @@ int rao_tr_disq_ic(int *point_nb, double *x, double *y, double *x0, double *y0,
 int randomdist(int *vec, int nb_type, double *mat, double *matp)
     {
     int i, j, a, jj;
-    int mat_size, rowvec, colvec, ind;
+    int rowvec, colvec, ind;
     int erreur=0;
 
     GetRNGstate();
@@ -8368,8 +8367,8 @@ int shen(int *point_nb, double *x, double *y,
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
-    double intensity=*point_nb/(*surface);
+    double intensity1, intensity2;
+    //double intensity=*point_nb/(*surface);
     double *gsii, *ksii, *grii, *krii;
     vecalloc(&gsii, *t2);
     vecalloc(&ksii, *t2);
@@ -8490,8 +8489,8 @@ int shen_ic(int *point_nb, double *x, double *y,
     complete_tab(*point_nb, xx, yy, type, compt, l, x, y);
 
     int erreur;
-    double intensity1, point_nb2, point_nb1, intensity2;
-    double intensity=*point_nb/(*surface);
+    double intensity1, intensity2;
+    //double intensity=*point_nb/(*surface);
     double *gsii, *ksii, *grii, *krii;
     vecalloc(&gsii, *t2);
     vecalloc(&ksii, *t2);
diff --git a/src/Zlibs.h b/src/Zlibs.h
index 920b269..e55e401 100755
--- a/src/Zlibs.h
+++ b/src/Zlibs.h
@@ -1,87 +1,152 @@
-int corr_disq_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*);
-int corr_disq(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*); 
-int corr_rect_ic(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int corr_rect(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int corr_tr_disq_ic(int*,double*x,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*);
-int corr_tr_disq(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*); 
-int corr_tr_rect_ic(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int corr_tr_rect(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int density_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,int*,double*); 
-int density_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,int*,double*);
-int density_tr_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,int*,double*); 
-int density_tr_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,int*,double*); 
+double un_point(double,double,double,double,double,double,double,double,double);
 double deux_point(double,double,double,double,double,double,double,double,double);
-double deuxbord_point(double,double,double,double,double,double,double,double,double);
+double ununun_point(double,double,double,double,double,double,double,double,double);
+double trois_point(double,double,double,double,double,double,double,double,double);
 double deuxun_point(double,double,double,double,double,double,double,double,double);
-double echange_point_disq(int,double*,double*,double,double,double,double,double,double,double*,int*,double*,double*,double*); 
-double echange_point_rect(int,double*,double*,double,double,double,double,double,double,double,double*,int*,double*,double*,double*); 
-double echange_point_tr_disq(int,double*,double*,double,double,double,int*,double*,double*,double*,double*,double*,double*,double,double,double,double*,int*,double*,double*,double*); 
-double echange_point_tr_rect(int,double*,double*,double,double,double,double,int*,double*,double*,double*,double*,double*,double*,double,double,double,double*,int*,double*,double*,double*); 
-void ic(int,int,double**,double**,double*,double*,int);
+double deuxbord_point(double,double,double,double,double,double,double,double,double);
+
 int in_droite(double,double,double,double,double,double,double,double,int);
 int in_triangle(double,double,double,double,double,double,double,double,int);
-int intertype_disq_ic(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int intertype_disq(int*,double*,double*,int*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int intertype_rect_ic(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int intertype_rect(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int intertype_tr_disq_ic(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*);
-int intertype_tr_disq(int*,double*,double*,int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int intertype_tr_rect_ic(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*);
-int intertype_tr_rect(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*); 
-int intertype(int*,double*,double*,int*,double*,double*,int*,double*,double*,double*);
-int intertypelocal_disq(int*,double*,double*,int*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int intertypelocal_rect(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int intertypelocal_tr_disq(int*,double*,double*,int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*); 
-int intertypelocal_tr_rect(int*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int mimetic_disq(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,int*,int*,double*,double*,double*,double*,double*,int*); 
-int mimetic_rect(int*,double*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,int*,int*,double*,double*,double*,double*,double*,int*);
-int mimetic_tr_disq(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*cy,double*,int*,double*,double*,int*,int*,double*,double*,double*,double*,double*,int*); 
-int mimetic_tr_rect(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,int*,int*,double*,double*,double*,double*,double*,int*);
+
+void ic(int,int,double **,double **,double *,double *,int);
+
+double perim_in_rect(double, double, double, double, double, double, double);
 double perim_in_disq(double,double,double,double,double,double);
-double perim_in_rect(double,double,double,double,double,double,double);
-double perim_triangle(double,double,double,int,double*,double*,double*,double*,double*,double*);
-int randlabelling(double*,double*,int,double*,double*,int,double*,double*,int*); 
-void randmark(int ,double*,double*); 
-int randomdist(int*,int,double*,double*); 
-int randomlab(double*,double*,int,int*,int,double**,int*,double**);
-int randshifting_disq(int*,double*,double*,int,double*,double*,double,double,double,double); 
-int randshifting_rect(int*,double*,double*,int,double*,double*,double,double,double,double,double); 
-int randshifting_tr_disq(int*,double*,double*,int,double*,double*,double,double,double,int,double*,double*,double*,double*,double*,double*,double);
-int randshifting_tr_rect(int*,double*,double*,int,double*,double*,double,double,double,double,int,double*,double*,double*,double*,double*,double*,double);
-int rao_disq_ic(int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*);
-int rao_disq(int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,int*);
-int rao_rect_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int rao_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int rao_tr_disq_ic(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int rao_tr_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int rao_tr_rect_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int rao_tr_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,int*);
-int ripley_disq_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int ripley_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripley_rect_ic(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int ripley_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripley_tr_disq_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int ripley_tr_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripley_tr_rect_ic(int*,double*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*); 
-int ripley_tr_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripleylocal_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripleylocal_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripleylocal_tr_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
-int ripleylocal_tr_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*); 
-void s_alea_disq(int,double*,double*,double,double,double,double);
+double perim_triangle(double,double,double,int,double *,double *,double *,double *,double *,double *);
+
+extern int ripley_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*);
+extern int ripley_disq(int *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int ripley_tr_rect(int *,double *,double *,double *,double *,double *,double *,int *,double *,double *,
+                   double *,double *,double *,double *,int *,double *,double *,double *);
+extern int ripley_tr_disq(int *,double *,double *,double *,double *,double *,int *,double *,double *,double *,double *,
+                   double *,double *,int *,double *,double *,double *);
+
+extern int ripley_rect_ic(int *,double *,double *,double *,double *,double *,double *,double *,int *,double *,int *,
+                   double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
+extern int ripley_disq_ic(int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,double *,
+                   double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
+extern int ripley_tr_rect_ic(int *,double *,double *,double *,double *,double *,double *,double *,int *, double *,
+                      double *,double *,double *,double *,double *,int *,double *,int *,double *,double *,double *,double *,
+                      double *,double *,double *,double *,double *,double *,double *,double *);
+extern int ripley_tr_disq_ic(int *,double *,double *,double *,double *,double *,double *,int *, double *, double *,
+                      double *,double *,double *,double *,int *,double *,int *,double *,double *,double *,double *,double *,
+                      double *,double *,double *,double *,double *,double *,double *);
+
+extern int ripleylocal_rect(int*,double *,double *,double*,double*,double*,double*,int*,double*,double *,double *);
+extern int ripleylocal_disq(int *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int ripleylocal_tr_rect(int *,double *,double *,double *,double *,double *,double *,int *,
+                        double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int ripleylocal_tr_disq(int *,double *,double *,double *,double *,double *,int *,
+                        double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+
+extern int density_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,int*,double*);
+extern int density_disq(int*,double *,double *,double*,double*,double*,int*,double*,double *,double *,int*,double *);
+extern int density_tr_rect(int*,double *,double *,double*,double*,double*,double*,int*,double *,double *,double *,
+                    double *,double *,double *,int*,double*,double *,double *,int*,double *);
+extern int density_tr_disq(int*,double *,double *,double*,double*,double*,int*,double *,double *,double *,double *,
+                    double *,double *,int*,double*,double *,double *,int*,double *);
+
+extern int intertype_rect(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                   int *,double *,double *,double *);
+extern int intertype_disq(int *,double *,double *,int *,double *,double *,double *,double *,double *,int *,
+                   double *,double *,double *);
+extern int intertype_tr_rect(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,int *,
+                      double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int intertype_tr_disq(int *,double *,double *,int *,double *,double *,double *,double *,double *,int *,
+                      double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+
+extern int intertype_rect_ic(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                      double *,int *,double *,int *,int *,double *,int *, int *, int *, double *,double *,double *,double *,double *,double *,double *,
+                      double *,double *,double *,double *);
+extern int intertype_disq_ic(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,int *,
+                      double *,int *,int *,double *,int *,int *,int *,double *,double *,double *,double *,double *,double *,double *,double *,
+                      double *,double *,double *);
+extern int intertype_tr_rect_ic(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                         double *,int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,int *,int *,int *,double *,
+                         double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
+extern int intertype_tr_disq_ic(int *,double *,double *,int *, double *, double *,double *,double *,double *,double *,
+                         int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,int *,int *,int*,double *,double *,
+                         double *,double *,double *,double *,double *,double *,double *,double *,double *);
+
+extern int intertypelocal_rect(int*,double *,double *,int*,double *,double *,double*,double*,double*,double*,
+                        int*,double*,double *,double *);
+extern int intertypelocal_disq(int *,double *,double *,int *,double *,double *,double *,double *,	double *,int *,
+                        double *,double *,double *);
+extern int intertypelocal_tr_rect(int *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                           int *,double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int intertypelocal_tr_disq(int *,double *,double *,int *,double *,double *,double *,double *,double *,int *,
+                           double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+
 void s_alea_rect(int,double[],double[],double,double,double,double,double);
-void s_alea_tr_disq(int ,double*,double*,double,double,double,int,double*,double*,double*,double*,double*,double*,double);
-void s_alea_tr_rect(int,double*,double*,double,double,double,double,int,double*,double*,double*,double*,double*,double*,double); 
-int shen_ic(int*,double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int shen(int*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,int*); 
-int shimatani_disq_ic(int*,double*,double*,double*,double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*);
-int shimatani_disq(int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,int*);
-int shimatani_rect_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int shimatani_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,int*);
-int shimatani_tr_disq_ic(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*); 
-int shimatani_tr_disq(int*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,int*);
-int shimatani_tr_rect_ic(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*);
-int shimatani_tr_rect(int*,double*,double*,double*,double*,double*,double*,int*,double*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,int*); 
-double trois_point(double,double,double,double,double,double,double,double,double);
-double un_point(double,double,double,double,double,double,double,double,double);
-double ununun_point(double,double,double,double,double,double,double,double,double);
+void s_alea_disq(int,double *,double *,double,double,double,double);
+void s_alea_tr_rect(int,double *,double *,double,double,double,double,int,double *,double *,double *,double *,
+                    double *,double *,double);
+void s_alea_tr_disq(int ,double *,double *,double,double,double,int,double *,double *,double *,double *,
+                    double *,double *,double);
+
+int randlabelling(double *, double *, int, double *, double *,int, double *, double *,int *);
+int randshifting_rect(int *,double *,double *,int,double *,double *,double,double,double,double,double);
+int randshifting_disq(int *,double *,double *,int,double *,double *,double,double,double,double);
+int randshifting_tr_rect(int *,double *,double *,int,double *,double *,double,double,double,double,int,
+                         double *,double *,double *,double *,double *,double *,double);
+int randshifting_tr_disq(int *,double *,double *,int,double *,double *,double,double,double,int,
+                         double *,double *,double *,double *,double *,double *,double);
+int randomlab(double *,double *,int,int *,int,double **,int *,double **);
+void randmark(int ,double *,double *);
+int randomdist(int *,int,double *,double *);
+extern int corr_rect(int *,double *,double *,double *, double *,double *,double *,double *,int *,double *,double *,double *);
+extern int corr_disq(int *,double *,double *,double *, double *,double *,double *,int *,double *,double *,double *);
+extern int corr_tr_rect(int *,double *,double *,double *, double *,double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,int *,double *,double *,double *);
+extern int corr_tr_disq(int *,double *,double *,double *, double *,double *,double *,int *,double *,double *,double *,double *,double *,double *,int *,double *,double *,double *);
+extern int corr_rect_ic(int *,double *,double *,double *, double *,double *,double *,double *,int *,double *,int *, double *,double *,double *,double *,double *, double *,double *, double *, double *);
+extern int corr_disq_ic(int *,double *,double *,double *, double *,double *,double *,int *,double *,int *, double *,double *,double *,double *,double *, double *,double *, double *, double *);
+extern int corr_tr_rect_ic(int *,double *,double *,double *, double *,double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,int *,double *,int *, double *,double *,double *,double *,double *, double *,double *, double *, double *);
+extern int corr_tr_disq_ic(int *,double *x,double *,double *, double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,int *,double *,int *, double *,double *,double *,double *,double *, double *,double *, double *, double *);
+extern int shimatani_rect(int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,double *, double *,int *);
+extern int shimatani_disq(int *,double *,double *, double *,double *,double *,int *,double *,int *,int *,double *,double *, double *,int *);
+extern int shimatani_tr_rect(int *,double *,double *, double *,double *,double *,double *,int *, double *, double *, double *, double *, double *, double *, int *,double *,int *,int *,double *,double *, double *,int *);
+extern int shimatani_tr_disq(int *,double *,double *, double *,double *,double *,int *, double *, double *, double *, double *, double *, double *, int *,double *,int *,int *,double *,double *, double *,int *);
+extern int shimatani_rect_ic(int *,double *,double *, double *,double *,double *,double *,int *,double *,int *,double *,int *,int *,double *,double *,
+                      double *, double *,double *,double *,double *,double *,double *,double *,int *);
+extern int shimatani_disq_ic(int *,double *,double *, double *,double *,double *,int *,double *,int *,double *,int *,int *,double *,double *,
+                      double *, double *,double *,double *,double *,double *,double *,double *,int *);
+extern int shimatani_tr_rect_ic(int *,double *,double *, double *,double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,
+                         int *,double *,int *,double *,int *,int *,double *,double *,double *, double *,double *,double *,double *,double *,double *,double *,int *);
+extern int shimatani_tr_disq_ic(int *,double *,double *, double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,
+                         int *,double *,int *,double *,int *,int *,double *,double *,double *, double *,double *,double *,double *,double *,double *,double *,int *);
+
+extern int rao_rect(int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,int *,double *,double *,double *,double *,
+             double *,double *,double *,int *);
+extern int rao_rect_ic(int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,int *,int *,double *,double *,
+                double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,int *);
+extern int rao_disq(int *,double *,double *,double *,double *,double *,int *,double *,int *,int *,int *,double *,double *,double *,double *,
+             double *,double *,double *,int *);
+extern int rao_disq_ic(int *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,int *,int *,double *,double *,
+                double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,int *);
+extern int rao_tr_rect(int *,double *,double *,double *,double *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                int *,double *,int *,int *,int *,double *,double *,double *,double *,double *,double *,double *,int *);
+
+extern int rao_tr_rect_ic(int *,double *,double *,double *,double *,double *,double *,int *,double *,double *,double *,double *,double *,double *,
+                   int *,double *,int *,int *,double *,int *,int *,double *,double *,double *,double *,double *,double *,double *,double *,
+                   double *,double *,double *,double *,double *,int *);
+extern int rao_tr_disq(int *,double *,double *,double *,double *,double *,int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,int *,
+                double *,double *,double *,double *,double *,double *,double *,int *);
+extern int rao_tr_disq_ic(int *,double *,double *,double *,double *,double *,int *,double *,double *,double *,double *,double *,double *,int *,double *,int *,int *,double *,
+                   int *,int *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,int *);
+
+extern int mimetic_rect(int *,double *,double *, double *,double *,double *,double *,double *,double *, int *,double *,double *,int *,int *,double *,double *,double *,double *,double *,int *);
+extern int mimetic_disq(int *,double *,double *,double *,double *,double *,double *,double *, int *, double *, double *, int *, int *, double *,double *,double *,double *,double *,int *);
+extern int mimetic_tr_rect(int *,double *,double *, double *,double *,double *,double *,double *,int *, double *, double *, double *, double *, double *, double *,
+                    double *, int *, double *, double *, int *, int *, double *,double *, double *,double *,double *,int *);
+extern int mimetic_tr_disq(int *,double *,double *, double *,double *,double *,double *,int *, double *,double *,double *,double *,double *,double *cy,
+                    double *, int *, double *, double *, int *, int *, double *,double *,double *,double *,double *,int *);
+double echange_point_rect(int,double *,double *,double,double,double,double,double,double,double,double *,int *,double *,double *,double *);
+double echange_point_disq(int,double *,double *,double,double,double,double,double,double,double *,int *,double *,double *,double *);
+double echange_point_tr_rect(int,double *,double *,double,double,double,double,int *,double *,double *,double *,double *,double *,double *,
+                             double,double,double,double *,int *,double *,double *,double *);
+double echange_point_tr_disq(int,double *,double *,double,double,double,int *,double *,double *,double *,double *,double *,double *,
+                             double,double,double,double *,int *,double *,double *,double *);
+extern int shen(int *,double *,double *,int *,double *,int *,int *,double *,double *,double *,double *, double *, int *);
+extern int shen_ic(int *,double *,double *,int *,double *,int *,double *,int *,int *,double *,double *,double *,
+            double *, double *, double *,double *,double *,double *,double *,double *,int *);
+int intertype(int *,double *,double *,int *, double *, double *,int *,double *,double *,double *);
diff --git a/src/adssub.c b/src/adssub.c
index 2ed04ba..41e605e 100755
--- a/src/adssub.c
+++ b/src/adssub.c
@@ -347,3 +347,57 @@ void complete_tab(int point_nb,double **xx,double **yy,int *type,int *compt,int
 	return ;
 }
 
+
+
+/*test wether points are inside a polygon (points on boundaries are considered outside)*/
+void pnpoly(double *testx, double *testy, double *vertx, double *verty, int *npts, int *nvert, double *xmi, double *ymi, double *pxr, double *pyr, double *score) {
+  
+	int i, j, k;
+	int nedg=*nvert;
+
+	/*so as to shift all coordinates to positive values only*/
+/*	if(*xmi<0) {
+		for(i=0;i<*npts;i++) {
+			testx[i]=testx[i]-*xmi;
+		}
+		for(i=0;i<*nvert;i++) {
+			vertx[i]=vertx[i]-*xmi;
+		}
+		for(i=0;i<2;i++) {
+			pxr[i]=pxr[i]-*xmi;
+		}
+		//decalVal(testx,*npts,-*xmi);
+		//decalVal(vertx,*nvert,-*xmi);
+		//decalVal(pxr,2,-*xmi);
+	}
+	if(*ymi<0) {
+		for(i=0;i<*npts;i++) {
+			testy[i]=testy[i]-*ymi;
+		}
+		for(i=0;i<*nvert;i++) {
+			verty[i]=verty[i]-*ymi;
+		}
+		for(i=0;i<2;i++) {
+			pyr[i]=pyr[i]-*ymi;
+		}
+		//decalVal(testy,*npts,-*ymi);
+		//decalVal(verty,*nvert,-*ymi);
+		//decalVal(pyr,2,-*ymi);
+	}*/
+
+  	for(k=0;k<*npts;k++) {
+		score[k]=0;
+		//for (i=0, j=(nedg-1); i <nedg; j = i++) {
+		j=(nedg-1);
+		for (i=0; i <nedg; i++) {
+				
+			if ((((verty[i] <= testy[k]) && (testy[k] < verty[j])) || ((verty[j] <= testy[k]) && (testy[k] < verty[i]))) && (testx[k] < (vertx[j] - vertx[i]) * (testy[k] - verty[i]) / (verty[j] - verty[i]) + vertx[i]))
+				{score[k] = 1;}	
+			j=i;
+			
+  		}
+		// We're outside the polygon!
+		/*if (testx[k] <= pxr[1] || testx[k] >= pxr[2] || testy[k] <= pyr[1] || testy[k] >= pyr[2]) 
+		{score[k]=0;}*/
+	}	
+}
diff --git a/src/adssub.h b/src/adssub.h
index 85e85ff..2452d4b 100755
--- a/src/adssub.h
+++ b/src/adssub.h
@@ -3,26 +3,33 @@
 #include <limits.h>
 #include <R_ext/PrtUtil.h>
 
-double bacos(double);
-void complete_tab(int,double**,double**,int*,int*,int*,double*,double*); 
-void decalCirc(int,double*,double*,double*,double*,double); 
-void decalCirc2(int,double*,double*,int,double*,double*,double*,double*,double); 
-void decalCircTri(int,double*,double*,double*,double*,double, int,double*,double*,double*,double*,double*,double*);
-void decalCircTri2(int,double*,double*,int,double*,double*,double*,double*,double,int,double*,double*,double*,double*,double*,double*); 
-void decalRect(int,double*,double*,double*,double*,double*,double*); 
-void decalRect2(int,double*,double*,int,double*,double*,double*,double*,double*,double*); 
-void decalRectTri(int,double*,double*,double*,double*,double*,double*, int,double*,double*,double*,double*,double*,double*);
-void decalRectTri2(int,double*,double*,int,double*,double*,double*,double*,double*,double*, int,double*,double*,double*,double*,double*,double*);
-void decalSample(int,double*,double*,double,double); 
-void decalVal(double*,int,double); 
-void freeinttab(int**); 
-void freeintvec(int*); 
-void freetab(double**); 
-void freevec(double*); 
-double Pi(); 
-void progress(int,int*,int); 
-void taballoc(double***,int,int); 
-double** taballoca(int,int*); 
-void tabintalloc(int***,int,int); 
-void vecalloc(double**,int);
-void vecintalloc(int**,int);
+double Pi();
+void progress(int,int*, int);
+/*double alea ();*/
+void freeintvec (int *);
+void freetab (double **);
+void freevec (double *);
+void taballoc (double ***,int,int);
+void tabintalloc (int ***,int,int);
+void freeinttab (int **);
+void vecalloc (double **vec, int n);
+void vecintalloc (int **vec, int n);
+double bacos(double a);
+void decalVal(double *,int,double);
+void decalRect(int,double *,double *,double *,double *,double *,double *);
+void decalCirc(int,double *,double *,double *,double *,double);
+void decalRectTri(int,double *,double *,double *,double *,double *,double *,
+	int,double *,double *,double *,double *,double *,double *);
+void decalCircTri(int,double *,double *,double *,double *,double,
+	int,double *,double *,double *,double *,double *,double *);
+void decalRect2(int,double *,double *,int,double *,double *,double *,double *,double *,double *);
+void decalCirc2(int,double *,double *,int,double *,double *,double *,double *,double);
+void decalRectTri2(int,double *,double *,int,double *,double *,double *,double *,double *,double *,
+	int,double *,double *,double *,double *,double *,double *);
+void decalCircTri2(int,double *,double *,int,double *,double *,double *,double *,double,int,
+	double *,double *,double *,double *,double *,double *);
+void decalSample(int,double *,double *,double,double);
+//void decalPoly(int ,double *, double *,double *, double *, double *, double *,int ,double *, double *);
+double** taballoca(int,int *);
+void complete_tab(int,double **,double **,int *,int *,int *,double *,double *);
+extern void pnpoly(double *, double *, double *, double *, int *, int *, double *, double *, double *, double *, double *);
diff --git a/src/init.c b/src/init.c
index f7bfb7d..1e1728d 100644
--- a/src/init.c
+++ b/src/init.c
@@ -1,82 +1,81 @@
-#include <R_ext/RS.h>
+#include <R.h>
+#include <Rinternals.h>
 #include <stdlib.h> // for NULL
 #include <R_ext/Rdynload.h>
-#include "Zlibs.h"
 #include "triangulate.h"
+#include "Zlibs.h"
+#include "adssub.h"
 
-/* .Fortran calls */
-extern void F77_NAME(inpoly)(void *, void *, void *, void *, void *, void *, void *, void *);
+// Generated by using tools::package_native_routine_registration_skeleton(dir)
 
+extern int triangulate(int *npoly, int *tabpt, int *nptTot,double *vertX, double *vertY, int *ntri,
+                       double *X1, double *Y1,double *X2, double *Y2,double *X3, double *Y3);
+  
 static const R_CMethodDef CEntries[] = {
-    {"corr_disq",              (DL_FUNC) &corr_disq,              11},
-    {"corr_disq_ic",           (DL_FUNC) &corr_disq_ic,           19},
-    {"corr_rect",              (DL_FUNC) &corr_rect,              12},
-    {"corr_rect_ic",           (DL_FUNC) &corr_rect_ic,           20},
-    {"corr_tr_disq",           (DL_FUNC) &corr_tr_disq,           18},
-    {"corr_tr_disq_ic",        (DL_FUNC) &corr_tr_disq_ic,        26},
-    {"corr_tr_rect",           (DL_FUNC) &corr_tr_rect,           19},
-    {"corr_tr_rect_ic",        (DL_FUNC) &corr_tr_rect_ic,        27},
-    {"density_disq",           (DL_FUNC) &density_disq,           12},
-    {"density_rect",           (DL_FUNC) &density_rect,           13},
-    {"density_tr_disq",        (DL_FUNC) &density_tr_disq,        19},
-    {"density_tr_rect",        (DL_FUNC) &density_tr_rect,        20},
-    {"intertype_disq",         (DL_FUNC) &intertype_disq,         13},
-    {"intertype_disq_ic",      (DL_FUNC) &intertype_disq_ic,      29},
-    {"intertype_rect",         (DL_FUNC) &intertype_rect,         14},
-    {"intertype_rect_ic",      (DL_FUNC) &intertype_rect_ic,      30},
-    {"intertype_tr_disq",      (DL_FUNC) &intertype_tr_disq,      20},
-    {"intertype_tr_disq_ic",   (DL_FUNC) &intertype_tr_disq_ic,   36},
-    {"intertype_tr_rect",      (DL_FUNC) &intertype_tr_rect,      21},
-    {"intertype_tr_rect_ic",   (DL_FUNC) &intertype_tr_rect_ic,   37},
-    {"intertypelocal_disq",    (DL_FUNC) &intertypelocal_disq,    13},
-    {"intertypelocal_rect",    (DL_FUNC) &intertypelocal_rect,    14},
-    {"intertypelocal_tr_disq", (DL_FUNC) &intertypelocal_tr_disq, 20},
-    {"intertypelocal_tr_rect", (DL_FUNC) &intertypelocal_tr_rect, 21},
-    {"mimetic_disq",           (DL_FUNC) &mimetic_disq,           19},
-    {"mimetic_rect",           (DL_FUNC) &mimetic_rect,           20},
-    {"mimetic_tr_disq",        (DL_FUNC) &mimetic_tr_disq,        26},
-    {"mimetic_tr_rect",        (DL_FUNC) &mimetic_tr_rect,        27},
-    {"rao_disq",               (DL_FUNC) &rao_disq,               19},
-    {"rao_disq_ic",            (DL_FUNC) &rao_disq_ic,            27},
-    {"rao_rect",               (DL_FUNC) &rao_rect,               20},
-    {"rao_rect_ic",            (DL_FUNC) &rao_rect_ic,            28},
-    {"rao_tr_disq",            (DL_FUNC) &rao_tr_disq,            26},
-    {"rao_tr_disq_ic",         (DL_FUNC) &rao_tr_disq_ic,         34},
-    {"rao_tr_rect",            (DL_FUNC) &rao_tr_rect,            27},
-    {"rao_tr_rect_ic",         (DL_FUNC) &rao_tr_rect_ic,         35},
-    {"ripley_disq",            (DL_FUNC) &ripley_disq,            10},
-    {"ripley_disq_ic",         (DL_FUNC) &ripley_disq_ic,         22},
-    {"ripley_rect",            (DL_FUNC) &ripley_rect,            11},
-    {"ripley_rect_ic",         (DL_FUNC) &ripley_rect_ic,         23},
-    {"ripley_tr_disq",         (DL_FUNC) &ripley_tr_disq,         17},
-    {"ripley_tr_disq_ic",      (DL_FUNC) &ripley_tr_disq_ic,      29},
-    {"ripley_tr_rect",         (DL_FUNC) &ripley_tr_rect,         18},
-    {"ripley_tr_rect_ic",      (DL_FUNC) &ripley_tr_rect_ic,      30},
-    {"ripleylocal_disq",       (DL_FUNC) &ripleylocal_disq,       10},
-    {"ripleylocal_rect",       (DL_FUNC) &ripleylocal_rect,       11},
-    {"ripleylocal_tr_disq",    (DL_FUNC) &ripleylocal_tr_disq,    17},
-    {"ripleylocal_tr_rect",    (DL_FUNC) &ripleylocal_tr_rect,    18},
-    {"shen",                   (DL_FUNC) &shen,                   13},
-    {"shen_ic",                (DL_FUNC) &shen_ic,                21},
-    {"shimatani_disq",         (DL_FUNC) &shimatani_disq,         14},
-    {"shimatani_disq_ic",      (DL_FUNC) &shimatani_disq_ic,      23},
-    {"shimatani_rect",         (DL_FUNC) &shimatani_rect,         15},
-    {"shimatani_rect_ic",      (DL_FUNC) &shimatani_rect_ic,      24},
-    {"shimatani_tr_disq",      (DL_FUNC) &shimatani_tr_disq,      21},
-    {"shimatani_tr_disq_ic",   (DL_FUNC) &shimatani_tr_disq_ic,   30},
-    {"shimatani_tr_rect",      (DL_FUNC) &shimatani_tr_rect,      22},
-    {"shimatani_tr_rect_ic",   (DL_FUNC) &shimatani_tr_rect_ic,   31},
-    {"c_triangulate",          (DL_FUNC) &c_triangulate,          12},
-    {NULL, NULL, 0}
-};
-
-static const R_FortranMethodDef FortranEntries[] = {
-    {"inpoly", (DL_FUNC) &F77_NAME(inpoly), 8},
-    {NULL, NULL, 0}
+  {"corr_disq",              (DL_FUNC) &corr_disq,              11},
+  {"corr_disq_ic",           (DL_FUNC) &corr_disq_ic,           19},
+  {"corr_rect",              (DL_FUNC) &corr_rect,              12},
+  {"corr_rect_ic",           (DL_FUNC) &corr_rect_ic,           20},
+  {"corr_tr_disq",           (DL_FUNC) &corr_tr_disq,           18},
+  {"corr_tr_rect",           (DL_FUNC) &corr_tr_rect,           19},
+  {"corr_tr_rect_ic",        (DL_FUNC) &corr_tr_rect_ic,        27},
+  {"density_disq",           (DL_FUNC) &density_disq,           12},
+  {"density_rect",           (DL_FUNC) &density_rect,           13},
+  {"density_tr_disq",        (DL_FUNC) &density_tr_disq,        19},
+  {"density_tr_rect",        (DL_FUNC) &density_tr_rect,        20},
+  {"intertype_disq",         (DL_FUNC) &intertype_disq,         13},
+  {"intertype_disq_ic",      (DL_FUNC) &intertype_disq_ic,      29},
+  {"intertype_rect",         (DL_FUNC) &intertype_rect,         14},
+  {"intertype_rect_ic",      (DL_FUNC) &intertype_rect_ic,      30},
+  {"intertype_tr_disq",      (DL_FUNC) &intertype_tr_disq,      20},
+  {"intertype_tr_disq_ic",   (DL_FUNC) &intertype_tr_disq_ic,   36},
+  {"intertype_tr_rect",      (DL_FUNC) &intertype_tr_rect,      21},
+  {"intertype_tr_rect_ic",   (DL_FUNC) &intertype_tr_rect_ic,   37},
+  {"intertypelocal_disq",    (DL_FUNC) &intertypelocal_disq,    13},
+  {"intertypelocal_rect",    (DL_FUNC) &intertypelocal_rect,    14},
+  {"intertypelocal_tr_disq", (DL_FUNC) &intertypelocal_tr_disq, 20},
+  {"intertypelocal_tr_rect", (DL_FUNC) &intertypelocal_tr_rect, 21},
+  {"mimetic_disq",           (DL_FUNC) &mimetic_disq,           19},
+  {"mimetic_rect",           (DL_FUNC) &mimetic_rect,           20},
+  {"mimetic_tr_disq",        (DL_FUNC) &mimetic_tr_disq,        26},
+  {"mimetic_tr_rect",        (DL_FUNC) &mimetic_tr_rect,        27},
+  {"pnpoly",                 (DL_FUNC) &pnpoly,                 11},
+  {"rao_disq",               (DL_FUNC) &rao_disq,               19},
+  {"rao_disq_ic",            (DL_FUNC) &rao_disq_ic,            27},
+  {"rao_rect",               (DL_FUNC) &rao_rect,               20},
+  {"rao_rect_ic",            (DL_FUNC) &rao_rect_ic,            28},
+  {"rao_tr_disq",            (DL_FUNC) &rao_tr_disq,            26},
+  {"rao_tr_disq_ic",         (DL_FUNC) &rao_tr_disq_ic,         34},
+  {"rao_tr_rect",            (DL_FUNC) &rao_tr_rect,            27},
+  {"rao_tr_rect_ic",         (DL_FUNC) &rao_tr_rect_ic,         35},
+  {"ripley_disq",            (DL_FUNC) &ripley_disq,            10},
+  {"ripley_disq_ic",         (DL_FUNC) &ripley_disq_ic,         22},
+  {"ripley_rect",            (DL_FUNC) &ripley_rect,            11},
+  {"ripley_rect_ic",         (DL_FUNC) &ripley_rect_ic,         23},
+  {"ripley_tr_disq",         (DL_FUNC) &ripley_tr_disq,         17},
+  {"ripley_tr_disq_ic",      (DL_FUNC) &ripley_tr_disq_ic,      29},
+  {"ripley_tr_rect",         (DL_FUNC) &ripley_tr_rect,         18},
+  {"ripley_tr_rect_ic",      (DL_FUNC) &ripley_tr_rect_ic,      30},
+  {"ripleylocal_disq",       (DL_FUNC) &ripleylocal_disq,       10},
+  {"ripleylocal_rect",       (DL_FUNC) &ripleylocal_rect,       11},
+  {"ripleylocal_tr_disq",    (DL_FUNC) &ripleylocal_tr_disq,    17},
+  {"ripleylocal_tr_rect",    (DL_FUNC) &ripleylocal_tr_rect,    18},
+  {"shen",                   (DL_FUNC) &shen,                   13},
+  {"shen_ic",                (DL_FUNC) &shen_ic,                21},
+  {"shimatani_disq",         (DL_FUNC) &shimatani_disq,         14},
+  {"shimatani_disq_ic",      (DL_FUNC) &shimatani_disq_ic,      23},
+  {"shimatani_rect",         (DL_FUNC) &shimatani_rect,         15},
+  {"shimatani_rect_ic",      (DL_FUNC) &shimatani_rect_ic,      24},
+  {"shimatani_tr_disq",      (DL_FUNC) &shimatani_tr_disq,      21},
+  {"shimatani_tr_disq_ic",   (DL_FUNC) &shimatani_tr_disq_ic,   30},
+  {"shimatani_tr_rect",      (DL_FUNC) &shimatani_tr_rect,      22},
+  {"shimatani_tr_rect_ic",   (DL_FUNC) &shimatani_tr_rect_ic,   31},
+  {"triangulate",            (DL_FUNC) &triangulate,            12},
+  {NULL, NULL, 0}
 };
 
 void R_init_ads(DllInfo *dll)
 {
-    R_registerRoutines(dll, CEntries, NULL, FortranEntries, NULL);
-    R_useDynamicSymbols(dll, FALSE);
-}
\ No newline at end of file
+  R_registerRoutines(dll, CEntries, NULL, NULL, NULL);
+  R_useDynamicSymbols(dll, FALSE);
+}
diff --git a/src/spatstatsub.f b/src/spatstatsub.f
deleted file mode 100755
index f186cb8..0000000
--- a/src/spatstatsub.f
+++ /dev/null
@@ -1,47 +0,0 @@
-C Output from Public domain Ratfor, version 1.0
-      subroutine inpoly(x,y,xp,yp,npts,nedges,score,onbndry)
-      implicit double precision(a-h,o-z)
-      dimension x(npts), y(npts), xp(nedges), yp(nedges), score(npts)
-      logical onbndry(npts)
-      zero = 0.d0
-      half = 0.5d0
-      one = 1.d0
-      do23000 i = 1,nedges 
-      x0 = xp(i)
-      y0 = yp(i)
-      if(i .eq. nedges)then
-      x1 = xp(1)
-      y1 = yp(1)
-      else
-      x1 = xp(i+1)
-      y1 = yp(i+1)
-      endif
-      dx = x1 - x0
-      dy = y1 - y0
-      do23004 j = 1,npts 
-      xcrit = (x(j) - x0)*(x(j) - x1)
-      if(xcrit .le. zero)then
-      if(xcrit .eq. zero)then
-      contrib = half
-      else
-      contrib = one
-      endif
-      ycrit = y(j)*dx - x(j)*dy + x0*dy - y0*dx
-      if((dx .lt. 0 .and. ycrit .ge. zero) .or. (dx .gt. zero .and. ycri
-     *t .lt. zero))then
-      score(j) = score(j) - sign(one,dx)*contrib
-      onbndry(j) = onbndry(j) .or. (ycrit .eq. zero)
-      else
-      if(dx .eq. zero)then
-      if(x(j) .eq. x0)then
-      ycrit = (y(j) - y0)*(y(j) - y1)
-      onbndry(j) = onbndry(j) .or. (ycrit .le. zero)
-      endif
-      endif
-      endif
-      endif
-23004 continue
-23000 continue
-      return
-      end
-      
diff --git a/src/triangulate.c b/src/triangulate.c
index 7193f52..3a58f2d 100755
--- a/src/triangulate.c
+++ b/src/triangulate.c
@@ -2126,81 +2126,3 @@ int is_point_inside_polygon(vertex)
   return _greater_than_equal_to(&seg[rseg].v1, &seg[rseg].v0);
 }
 
-int c_triangulate(int *npoly, int *tabpt, int *nptTot,double *vertX, double *vertY, int *ntri, double *X1, double *Y1,double *X2, double *Y2,double *X3, double *Y3) {
-  int i,j,k,l;
-  int **triangles;
-  double **vertices;
-  double *x,*y;
-  tabintalloc(&triangles,*ntri,3);
-  taballoc(&vertices,*nptTot+1,2);
-  l=0;
-  for(i=0;i<*npoly;i++) {
-    int npt=tabpt[i];
-    vecalloc(&x,npt+1);
-    vecalloc(&y,npt+1);
-    for(j=1;j<=npt;j++) {
-      k=j+l-1;
-      x[j]=vertX[k];
-      y[j]=vertY[k];
-    }
-    if(i==0) {
-      if(testclock(x,y,npt)) { /*clockwise order*/
-k=npt;
-        for(j=1;j<=npt;j++) {
-          vertices[j+l][0]=x[k];
-          vertices[j+l][1]=y[k];
-          k--;
-        }
-      }
-      else { /*anti-clockwise order*/
-for(j=1;j<=npt;j++) {
-  vertices[j+l][0]=x[j];
-  vertices[j+l][1]=y[j];
-}
-      }
-    }
-    else {
-      if(!testclock(x,y,npt)) { /*anti-clockwise order*/
-k=npt;
-        for(j=1;j<=npt;j++) {
-          vertices[j+l][0]=x[k];
-          vertices[j+l][1]=y[k];
-          k--;
-        }
-      }
-      else { /*clockwise order*/
-for(j=1;j<=npt;j++) {
-  vertices[j+l][0]=x[j];
-  vertices[j+l][1]=y[j];
-}
-      }
-    }
-    l+=npt;
-    freevec(x);
-    freevec(y);
-  }
-  
-  /*Test de l'unicite des points*/
-  for(i=2;i<=*nptTot;i++) {
-    for(j=1;j<i;j++) {
-      if((vertices[i][0]==vertices[j][0])&&(vertices[i][1]==vertices[j][1])) {
-        Rprintf("Error : Duplicate input vertices\n");
-        return -1;
-      }
-    }
-  }
-  triangulate_polygon(*npoly,tabpt,vertices,triangles);
-  for(i=0;i<*ntri;i++) {
-    X1[i]=vertices[triangles[i][2]][0];
-    Y1[i]=vertices[triangles[i][2]][1];
-    X2[i]=vertices[triangles[i][1]][0];
-    Y2[i]=vertices[triangles[i][1]][1];
-    X3[i]=vertices[triangles[i][0]][0];
-    Y3[i]=vertices[triangles[i][0]][1];
-  }
-  freeinttab(triangles);
-  freetab(vertices);
-  return 0;
-}
-
-
diff --git a/src/triangulate.h b/src/triangulate.h
index 50a0b50..baa3568 100755
--- a/src/triangulate.h
+++ b/src/triangulate.h
@@ -88,7 +88,7 @@ typedef struct {
 #define LASTPT  2
 
 
-#define INFINITY 1<<30 
+#define INFINITY 1<<30
 #define C_EPS 1.0e-7		/* tolerance value: Used for making */
 				/* all decisions about collinearity or */
 				/* left/right of segment. Decrease */
@@ -140,20 +140,26 @@ extern node_t qs[QSIZE];		/* Query structure */
 extern trap_t tr[TRSIZE];		/* Trapezoid structure */
 extern segment_t seg[SEGSIZE];		/* Segment table */
 
+
 /* Functions */
-extern int c_triangulate(int*, int *, int *,double *, double *, int *, double *, double *,double *, double *,double *, double *);
+
 extern int triangulate_polygon(int, int *, double**,int**);
 extern int is_point_inside_polygon(double *);
+
 int triangulate_polygon(int, int [], double**, int**);
+
 int testclock(double *,double *,int);
+
 extern int monotonate_trapezoids(int);
 extern int triangulate_monotone_polygons(int, int, int**);
+
 extern int _greater_than(point_t *, point_t *);
 extern int _equal_to(point_t *, point_t *);
 extern int _greater_than_equal_to(point_t *, point_t *);
 extern int _less_than(point_t *, point_t *);
 extern int locate_endpoint(point_t *, point_t *, int);
 extern int construct_trapezoids(int);
+
 extern int generate_random_ordering(int);
 extern int choose_segment(void);
 extern int read_segments(char *, int *);
diff --git a/src/util.c b/src/util.c
new file mode 100755
index 0000000..c6e6a23
--- /dev/null
+++ b/src/util.c
@@ -0,0 +1,80 @@
+#include "adssub.h"
+#include "triangulate.h"
+
+int triangulate(int *npoly, int *tabpt, int *nptTot,double *vertX, double *vertY, int *ntri,
+double *X1, double *Y1,double *X2, double *Y2,double *X3, double *Y3) {
+	int i,j,k,l;
+	int **triangles;
+	double **vertices;
+	double *x,*y;
+	tabintalloc(&triangles,*ntri,3);
+	taballoc(&vertices,*nptTot+1,2);
+	l=0;
+	for(i=0;i<*npoly;i++) {
+		int npt=tabpt[i];
+		vecalloc(&x,npt+1);
+		vecalloc(&y,npt+1);
+		for(j=1;j<=npt;j++) {
+			k=j+l-1;
+			x[j]=vertX[k];
+			y[j]=vertY[k];
+		}
+		if(i==0) {
+			if(testclock(x,y,npt)) { /*clockwise order*/
+				k=npt;
+				for(j=1;j<=npt;j++) {
+					vertices[j+l][0]=x[k];
+					vertices[j+l][1]=y[k];
+					k--;
+				}
+			}
+			else { /*anti-clockwise order*/
+				for(j=1;j<=npt;j++) {
+					vertices[j+l][0]=x[j];
+					vertices[j+l][1]=y[j];
+				}
+			}
+		}
+		else {
+			if(!testclock(x,y,npt)) { /*anti-clockwise order*/
+				k=npt;
+				for(j=1;j<=npt;j++) {
+					vertices[j+l][0]=x[k];
+					vertices[j+l][1]=y[k];
+					k--;
+				}
+			}
+			else { /*clockwise order*/
+				for(j=1;j<=npt;j++) {
+					vertices[j+l][0]=x[j];
+					vertices[j+l][1]=y[j];
+				}
+			}
+		}
+		l+=npt;
+		freevec(x);
+		freevec(y);
+	}
+
+	/*Test de l'unicite des points*/
+	for(i=2;i<=*nptTot;i++) {
+		for(j=1;j<i;j++) {
+			if((vertices[i][0]==vertices[j][0])&&(vertices[i][1]==vertices[j][1])) {
+				Rprintf("Error : Duplicate input vertices\n");
+				return -1;
+			}
+		}
+	}
+	triangulate_polygon(*npoly,tabpt,vertices,triangles);
+	for(i=0;i<*ntri;i++) {
+		X1[i]=vertices[triangles[i][2]][0];
+		Y1[i]=vertices[triangles[i][2]][1];
+		X2[i]=vertices[triangles[i][1]][0];
+		Y2[i]=vertices[triangles[i][1]][1];
+		X3[i]=vertices[triangles[i][0]][0];
+		Y3[i]=vertices[triangles[i][0]][1];
+	}
+	freeinttab(triangles);
+	freetab(vertices);
+	return 0;
+}
-- 
GitLab