projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Did some clean up
[Mograsim.git]
/
era.mi
/
src
/
era
/
mi
/
logic
/
wires
/
WireArray.java
diff --git
a/era.mi/src/era/mi/logic/wires/WireArray.java
b/era.mi/src/era/mi/logic/wires/WireArray.java
index
39af936
..
ca93fcb
100644
(file)
--- a/
era.mi/src/era/mi/logic/wires/WireArray.java
+++ b/
era.mi/src/era/mi/logic/wires/WireArray.java
@@
-22,7
+22,7
@@
public class WireArray
public final int travelTime;
\r
private List<WireArrayObserver> observers = new ArrayList<WireArrayObserver>();
\r
public final int length;
\r
public final int travelTime;
\r
private List<WireArrayObserver> observers = new ArrayList<WireArrayObserver>();
\r
public final int length;
\r
-
private
List<WireArrayEnd> inputs = new ArrayList<WireArrayEnd>();
\r
+ List<WireArrayEnd> inputs = new ArrayList<WireArrayEnd>();
\r
\r
public WireArray(int length, int travelTime)
\r
{
\r
\r
public WireArray(int length, int travelTime)
\r
{
\r
@@
-61,12
+61,7
@@
public class WireArray
Bit[] bits = input.getValues();
\r
for (int i = 0; i < length; i++)
\r
{
\r
Bit[] bits = input.getValues();
\r
for (int i = 0; i < length; i++)
\r
{
\r
- if (Bit.Z.equals(bits[i]) || newValues[i].equals(bits[i]))
\r
- continue;
\r
- else if (Bit.Z.equals(newValues[i]))
\r
- newValues[i] = bits[i];
\r
- else
\r
- newValues[i] = Bit.X;
\r
+ newValues[i] = newValues[i].combineWith(bits[i]);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-78,7
+73,7
@@
public class WireArray
}
\r
}
\r
\r
}
\r
}
\r
\r
-
private
void recalculate()
\r
+ void recalculate()
\r
{
\r
switch (inputs.size())
\r
{
\r
{
\r
switch (inputs.size())
\r
{
\r
@@
-228,7
+223,7
@@
public class WireArray
return new WireArrayEnd(this);
\r
}
\r
\r
return new WireArrayEnd(this);
\r
}
\r
\r
-
private
void registerInput(WireArrayEnd toRegister)
\r
+ void registerInput(WireArrayEnd toRegister)
\r
{
\r
inputs.add(toRegister);
\r
}
\r
{
\r
inputs.add(toRegister);
\r
}
\r
@@
-244,9
+239,9
@@
public class WireArray
{
\r
public final WireArray owner;
\r
private boolean open;
\r
{
\r
public final WireArray owner;
\r
private boolean open;
\r
-
private
Bit[] inputValues;
\r
+ Bit[] inputValues;
\r
\r
\r
-
private
WireArrayEnd(WireArray owner)
\r
+ WireArrayEnd(WireArray owner)
\r
{
\r
super();
\r
this.owner = owner;
\r
{
\r
super();
\r
this.owner = owner;
\r
@@
-269,12
+264,11
@@
public class WireArray
*/
\r
public void feedSignals(Bit... newValues)
\r
{
\r
*/
\r
public void feedSignals(Bit... newValues)
\r
{
\r
- if (newValues.length == length)
\r
- {
\r
- feedSignals(0, newValues);
\r
- } else
\r
+ if (newValues.length != length)
\r
throw new IllegalArgumentException(
\r
String.format("Attempted to input %d bits instead of %d bits.", newValues.length, length));
\r
throw new IllegalArgumentException(
\r
String.format("Attempted to input %d bits instead of %d bits.", newValues.length, length));
\r
+ feedSignals(0, newValues);
\r
+
\r
}
\r
\r
/**
\r
}
\r
\r
/**
\r