# samples of ways to define factorial function "!" # RECURSIVE --- { func uint.8: ! gives uint.64 if $>13 then @ErrorReport FactorialTooLarge if $<2 return 1 return $-- * $.! } # ITERATIVE --- { func uint.8: ! gives uint.64 if $>13 then @ErrorReport FactorialTooLarge ulong F = 1 { do while $ > 1 F = F*($--) } return F }