SimpleMiorModel.java
1.7 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package mior.model;
public abstract class SimpleMiorModel extends AbstractMiorModel {
protected final int nbMM;
protected final int nbOM;
protected final MiorMM [] mmList;
protected final MiorOM [] omList;
protected final int [] associations;
protected MiorWorld world;
/*public SimpleMiorModel(int nbMM, int nbOM) {
this(nbMM, nbOM, nbMM * nbOM);
}*/
/*
public SimpleMiorModel(int nbMM, int nbOM, int associationsSize) {
super();
this.nbMM = nbMM;
this.nbOM = nbOM;
this.mmList = new MiorMM[nbMM];
this.omList = new MiorOM[nbOM];
this.associations = new int[associationsSize];
this.world = new MiorWorld(nbMM, nbOM);
init(nbMM, nbOM);
}*/
public SimpleMiorModel(MiorWorld world) {
this.world = world;
this.nbMM = world.nbMM;
this.nbOM = world.nbOM;
this.mmList = new MiorMM[nbMM];
this.omList = new MiorOM[nbOM];
this.associations = new int[nbMM * nbOM];
init(nbMM, nbOM);
}
private void init(int nbMM, int nbOM) {
MiorUtils.initRandomMMArray(mmList, world.width);
MiorUtils.initRandomOMArray(omList, world.width);
MiorUtils.initAssociations(associations);
world = new MiorWorld(world);
}
@Override
public final MiorMM[] getMMList() {
return mmList;
}
@Override
public final MiorOM[] getOMList() {
return omList;
}
@Override
public final MiorWorld getWorld() {
return world;
}
@Override
public int getNbSimulations() {
return 1;
}
@Override
public final boolean isAccessible(int iMM, int iOM) {
return isAccessible(iMM, iOM, 0);
}
@Override
public boolean isAccessible(int iMM, int iOM, int iSim) {
return associations[iMM * nbOM + iOM] != -1;
}
@Override
protected void resetImpl() {
init(world.nbMM, world.nbOM);
}
}