-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathread_header.R
51 lines (36 loc) · 2.09 KB
/
read_header.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
################################################################################
################################################################################
read_header<- function(to.read){
L<-readBin(to.read, integer(),n = 4, endian = "little")
L
#formulation<-readBin(con=to.read, what=raw(),size=100 , n = 1, endian = "little")
formulation<- readChar(to.read, nchars=100, useBytes = 100)
formulation
msq0<-readBin(to.read, double(),n = 1, endian = "little")
msq1<-readBin(to.read, double(),n = 1, endian = "little")
l0<-readBin(to.read, double(),n = 1, endian = "little")
l1<-readBin(to.read, double(),n = 1, endian = "little")
mu<-readBin(to.read, double(),n = 1, endian = "little")
g<-readBin(to.read, double(),n = 1, endian = "little")
metropolis_local_hit<-readBin(to.read, integer(),n = 1, endian = "little")
metropolis_global_hit<-readBin(to.read, integer(),n = 1, endian = "little")
metropolis_delta<-readBin(to.read, double(),n = 1, endian = "little")
cluster_hit<-readBin(to.read, integer(),n = 1, endian = "little")
cluster_min_size<-readBin(to.read, double(),n = 1, endian = "little")
seed<-readBin(to.read, integer(),n = 1, endian = "little")
replica<-readBin(to.read, integer(),n = 1, endian = "little")
ncorr<-readBin(to.read, integer(),n = 1, endian = "little")
size<-readBin(to.read, integer(),n = 1, size = 8, endian = "little")
head_size<-seek(to.read, where = 0, origin = "current", rw = "read")
end_file<- seek(to.read, where = 0, origin = "end", rw = "read")
end_file<-seek(to.read, where = NA, origin = "current", rw = "read")
confs<-(end_file-head_size)/(size*8+4)
header<- list("L"=L,"formulation"=formulation, "msq0"=msq0, "msq1"=msq1, "l0"=l0,
"l1"=l1, "mu"=mu, "g"=g, "metropolis_local_hit"=metropolis_local_hit,
"metropolis_global_hit"=metropolis_global_hit,
"cluster_hit"=cluster_hit, "cluster_min_size"=cluster_min_size,
"seed"=seed, "replica"=replica, "ncorr"=ncorr, "size"=size,
"head_size"=head_size, "end_file"=end_file, "confs"=confs)
seek(to.read, where = head_size, origin = "start", rw = "read")
return(header)
}