You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Mark Hayden wrote:
> let rec sum1_help a len ofs sum =
> if ofs < len then (
> sum1_help a len (succ ofs) (sum + a.(ofs))
> ) else (
> sum
> )
> ;;
>
> (* Does not allocate
> *)
> let sum1 a =
> let len = Array.length a in
> sum1_help a len 0 0
> ;;
This is just as fast and seems clearer:
let sum8 array =
let sum = ref 0 in
for i = 0 to (Array.length array) - 1 do
sum := !sum + array.(i)
done;
!sum ;;