Sums and Products


sum <identifier> = <from> to <to> do <body>
sum <identifier> = <from> to <to> by <increment> do <body>
sum <identifier> in <matrix> do <body>
prod <identifier> = <from> to <to> do <body>
prod <identifier> = <from> to <to> by <increment> do <body>
prod <identifier> in <matrix> do <body>

If you substitute for with sum or prod, then you will get a sum or a product instead of a for loop. Instead of returning the last value, these will return the sum or the product of the values respectively.

If no body is executed (for example sum i=1 to 0 do ...) then sum returns 0 and prod returns 1 as is the standard convention.

For floating point numbers the same roundoff error protection is done as in the for loop. See the section called “For Loops”.