Hongbo Zhang wrote: > Hi List, > I want to implement sliding window algorithm (in place, no memory > copy), I wonder whether I need to write c code. > > To make it clear and simple, > In c, you can record the head pointer of the array, and do the > modulo operations when get and set > In ocaml, it seems you have an array a of type int array, you can > not do things like this *(&a+5).
Perhaps I'm missing something, but if you're planning on using arrays, what's wrong with retrieving the item using the array index modulo the length of the array? i.e. let a = [| ... or whatever ... |] in a.(5 mod Array.length a) If accessing an array by index instead of by pointer worries you, then you're looking at the wrong language ;o) David -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.fr/wws/info/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs