Memory15<OT extends ProgramOperation> class Null safety

HP 15C's memory. Like in the HP 16C, registers and programs are stored by the nybble. However, matrices, the imaginary stack, and storage for solve/integrate just deduct from the memory otherwise available, but don't actually use it.

On the 16C it made more sense to store the registers by the nybble, since register size changes with the word size, rounded up to the nearest nybble. The 16C's memory contents aren't changed when the word size changes, and while the mapping of the memory interpretation isn't specified, the fact that a temporary change in word size doesn't lose information in the registers is.

On the 15C, there's nothing like this behavior; registers are always 14 nybbles. We keep the user registers in the common storage, since we inherit that from our superclass, but the other uses of the register pool storage use regular dart structures for their underlying storage.

Inheritance

Constructors

Memory15(Model15<OT> model, {required int memoryNybbles})

Properties

availableRegisters int
Number of uncommitted registers available in the pool.
read-only
hashCode int
The hash code for this object.
read-onlyinherited
model Model15<OT>
final
numRegisters int
read / write
policy MemoryPolicy15
latefinal
program ProgramMemory<OT>
latefinalinherited
programNybbles int
Amount of memory taken up by program
read-onlyinherited
registers Registers
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited
storage ByteData
finalinherited
totalNybbles int
Total number of nybbles of storage
read-onlyinherited

Methods

availableRegistersWithProgram(MProgramRunner? runner) int
decodeJson(Map<String, dynamic> json) → void
inherited
initializeSystem(OperationMap<OT> layout, OT lbl, OT rtn) → void
Called by our controller, which necessarily happens after the Model exists.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
reset() → void
inherited
toJson() Map<String, Object>
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited