revert src/test/utils.c
[valse.git] / src / test / testEMGLLF.R
CommitLineData
df3ef2db
BA
1testEMGLLF = function()
2{
3 testFolder = "data/"
4 array_delimiter = " "
5
6 #get dimensions
7 dimensions = read.table(paste(testFolder,"dimensions",sep=""), header=FALSE,
8 sep=array_delimiter)
9 n = dimensions[1]
10 p = dimensions[2]
11 m = dimensions[3]
12 k = dimensions[4]
13
14 #get all input arrays
15 phiInit = read.table(paste(testFolder,"phiInit",sep=""), header=FALSE, sep=array_delimiter)
16 rhoInit = read.table(paste(testFolder,"rhoInit",sep=""), header=FALSE, sep=array_delimiter)
17 piInit = read.table(paste(testFolder,"piInit",sep=""), header=FALSE, sep=array_delimiter)
18 gamInit = read.table(paste(testFolder,"gamInit",sep=""), header=FALSE, sep=array_delimiter)
19 mini = read.table(paste(testFolder,"mini",sep=""), header=FALSE, sep=array_delimiter)
20 maxi = read.table(paste(testFolder,"maxi",sep=""), header=FALSE, sep=array_delimiter)
21 gamma = read.table(paste(testFolder,"gamma",sep=""), header=FALSE, sep=array_delimiter)
22 lambda = read.table(paste(testFolder,"lambda",sep=""), header=FALSE, sep=array_delimiter)
23 X = read.table(paste(testFolder,"X",sep=""), header=FALSE, sep=array_delimiter)
24 Y = read.table(paste(testFolder,"Y",sep=""), header=FALSE, sep=array_delimiter)
25 tau = read.table(paste(testFolder,"tau",sep=""), header=FALSE, sep=array_delimiter)
26
27 #run EMGLLF.c
28 EMG = .Call("EMGLLF_core",phiInit,rhoInit,piInit1,gamInit,mini,maxi,gamma,lambda,X,Y,tau,
29 PACKAGE="valse")
30 phi = EMG$phi
31 rho = EMG$rho
32 pi = EMG$pi
33 LLF = EMG$LLF
34 S = EMG$S
35
36 #get all stored outputs
37 ref_phi = read.table(paste(testFolder,"phi",sep=""), header=FALSE, sep=array_delimiter)
38 ref_rho = read.table(paste(testFolder,"rho",sep=""), header=FALSE, sep=array_delimiter)
39 ref_pi = read.table(paste(testFolder,"pi",sep=""), header=FALSE, sep=array_delimiter)
40 ref_LLF = read.table(paste(testFolder,"LLF",sep=""), header=FALSE, sep=array_delimiter)
41 ref_S = read.table(paste(testFolder,"S",sep=""), header=FALSE, sep=array_delimiter)
42
43 #check that output correspond to stored output
44 tol = 1e-5;
45 checkOutput("phi",phi,ref_phi,tol);
46 checkOutput("rho",rho,ref_rho,tol);
47 checkOutput("pi",pi,ref_pi,tol);
48 checkOutput("LLF",LLF,ref_LLF,tol);
49 checkOutput("S",S,ref_S,tol);
50}