Java Reference
In-Depth Information
Write now a function
static
Signal xorSignals(Signal s1, Signal s2)
.
SOLUTION:
Program 11.7
The various functions acting on
Signal
objects
public class
WorkingSignals
{
public static
Signal invert (Signal s)
{
return new
Signal (! s . initialValue , s . transitions ) ;
}
public static boolean
valueAt( Signal s ,
int
time)
{
boolean
v = s. initialValue ;
Transition t = s. transitions ;
while
(t !=
null
)
{
if
(time
<
t . time)
return
v;
v= !v;
t=t.next;
return
v;
}
{
public static void
print(Signal s)
boolean
v = s. initialValue ;
Transition t = s. transitions ;
System . out . print (
"-inf -> "
);
while
(t !=
null
)
{
System . out . println ( t . time +
":"
+v);
System . out . print ( t . time +
"->"
);
v= !v;
t=t.next;
System . out . println (
"+inf : "
+v);
}
public static
Transition shift (Transition t ,
int
delta)
{
if
(t ==
null
)
return null
;
else
return new
Transition(t . time + delta ,
shift(t.next , delta));
}
public static
Signal shift (Signal s ,
int
delta)
{
return new
Signal(s . initialValue ,
shift(s. transitions , delta));
}
{
public static boolean
isWellFormed ( Transition t )
||
if
(t ==
null
t.next ==
null
)
return true
;
Search WWH ::
Custom Search