projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added demux; added getAllInputs() and getAllOutputs() for all components
[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
add55f7
..
c2e974a
100644
(file)
--- a/
era.mi/src/era/mi/logic/wires/WireArray.java
+++ b/
era.mi/src/era/mi/logic/wires/WireArray.java
@@
-42,8
+42,9
@@
public class WireArray
WireArrayInput input = inputs.get(0);
if (!Arrays.equals(input.getValues(), values))
{
WireArrayInput input = inputs.get(0);
if (!Arrays.equals(input.getValues(), values))
{
+ Bit[] oldValues = values.clone();
System.arraycopy(input.getValues(), 0, values, 0, length);
System.arraycopy(input.getValues(), 0, values, 0, length);
- notifyObservers();
+ notifyObservers(
oldValues
);
}
}
}
}
@@
-69,8
+70,9
@@
public class WireArray
if (!Arrays.equals(newValues, values))
{
if (!Arrays.equals(newValues, values))
{
-
notifyObservers()
;
+
Bit[] oldValues = values
;
values = newValues;
values = newValues;
+ notifyObservers(oldValues);
}
}
}
}
@@
-217,10
+219,10
@@
public class WireArray
return observers.add(ob);
}
return observers.add(ob);
}
- private void notifyObservers()
+ private void notifyObservers(
Bit[] oldValues
)
{
for (WireArrayObserver o : observers)
{
for (WireArrayObserver o : observers)
- o.update(this);
+ o.update(this
, oldValues
);
}
/**
}
/**