Browse thread
[Caml-list] OCaml Speed for Block Convolutions
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Tom _ <tom7ca@y...> |
| Subject: | Re: [Caml-list] OCaml Speed for Block Convolutions |
> E.g.
>
> let a = ref 0. in
> for i = 0 to n-1 do
> a := !a +. Array.unsafe_get xs i
> done
Incidentally, rather than trying to come up
with other workaround for imperative variables,
maybe it would be better to just make the
straightforward functional implementation fast:
let loop i total =
if i=n then total else
loop (i+1) (total + Array.unsafe_get xs i)
in loop 0 0.0
In fact, in a compiler that already has TRO
and type inference, shouldn't this be entirely
equivalent to an imperative loop?
Another approach would be to adopt a "functional"
loop syntax as found in languages like SISAL.
Tom.
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year! http://personal.mail.yahoo.com/
-------------------
To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr