All Downloads are FREE. Search and download functionalities are using the official Maven repository.

APT.Arithmetic-smem.arithmetic.process-column.write-result.soar Maven / Gradle / Ivy


## Won't chunk correctly because carry-borrow is a local negation!

sp {process-column*propose*write-result
   (state  ^name process-column
              ^result 
             -^carry-borrow.digit 1
             -^current-column.result)
-->
   ( ^operator  + =)
   ( ^name write-result)
}

# This is required so that chunking works correctly - argh!
sp {process-column*propose*write-result2
   (state  ^name process-column
              ^result 
              ^carry-borrow.digit 1
              ^current-column )
   ( ^next-column.carry-borrow
        -^result)
-->
   ( ^operator  + =)
   ( ^name write-result)
}

sp {process-column*apply*write-result
   (state  ^operator.name write-result
              ^result 
              ^current-column )
-->
   ( ^result )
}