7ed60fde37c2f253ba795418a549c2df0d031c77
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / mi / parameters / BooleanImmediate.java
1 package net.mograsim.machine.mi.parameters;
2
3 import net.mograsim.logic.core.types.BitVector;
4
5 public class BooleanImmediate implements MicroInstructionParameter
6 {
7         private boolean value;
8         
9         public BooleanImmediate(boolean value)
10         {
11                 this.value = value;
12         }
13         
14         @Override
15         public BitVector getValue()
16         {
17                 return value ? BitVector.SINGLE_1 : BitVector.SINGLE_0;
18         }
19
20         @Override
21         public ParameterType getType()
22         {
23                 return ParameterType.BOOLEAN_IMMEDIATE;
24         }
25         
26         @Override
27         public int hashCode()
28         {
29                 final int prime = 31;
30                 int result = 1;
31                 result = prime * result + (value ? 1231 : 1237);
32                 return result;
33         }
34
35         @Override
36         public boolean equals(Object obj)
37         {
38                 if (this == obj)
39                         return true;
40                 if (obj == null)
41                         return false;
42                 if (!(obj instanceof BooleanImmediate))
43                         return false;
44                 BooleanImmediate other = (BooleanImmediate) obj;
45                 if (value != other.value)
46                         return false;
47                 return true;
48         }
49         
50         
51 }