fGoIfWLTQ LLLL [D>=23]
PC = (W < Q) ? LLLL : (PC + 1)
"Go if W less than Q"
Compares the contents of the floating point registers W and Q. Transfers program control (jumps) to the destination LLLL
if is less than Q. Does not affect the contents of W or Q.
Dialect restriction: This instruction is not implemented in boards with dialect numbers less than 23.
See also fGoIfWLEQ, fGoIfWGTQ, fGoIfWGEQ
Example:
fAnin TempSensor ;Read the temperature sensor
fRecallQ SetPoint ;Get the current set point
fGoIfWLTQ TurnOnHeater ;Jump if the temperature is too low
Note that there is an inherent hazard in comparing two floating point numbers for equality. The numbers you are comparing may have been arrived at via a number of arithmetic operations. Because floating point arithmetic has limited accuracy (24 bits = about 6 or 7 decimal digits in our case), two numbers that should be identical may differ by a small amount. That means an equals test may fail on two numbers that should be identical.