Fixed MNTM's implementation of read_input_as_ntm #239
Merged
+113
−68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Completed also
test_read_input_as_ntm()
to be able to detect whether the tapes are different after running an MNTM normally and as an NTM (which would have detected that bothmntm.accepts_input(input_str))
andmntm.read_input_stepwise(input_str)
weren't working in unison.Now, the following code does work:
The final NTM output is the following:
TMConfiguration('q4', TMTape('0101#^_$^01#_$^01#_', '#', 18))
Whereas the final MNTM output is:
MTMConfiguration('q4', (TMTape('0101#', '#', 4), TMTape('$01#', '#', 0), TMTape('$01#', '#', 0)))
.If we concatenate either of them, we get:
0101#^_$^01#_$^01#_
(which is whattest_read_input_as_ntm()
now tests).