diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/ocaml/std_vector/runme.ml | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/ocaml/std_vector/runme.ml')
| -rw-r--r-- | Examples/ocaml/std_vector/runme.ml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Examples/ocaml/std_vector/runme.ml b/Examples/ocaml/std_vector/runme.ml new file mode 100644 index 0000000..feb70dd --- /dev/null +++ b/Examples/ocaml/std_vector/runme.ml @@ -0,0 +1,35 @@ +(* This example was mostly lifted from the guile example directory *) + +open Swig +open Example + +let with_vector v f = + for i = 0 to ((v -> size()) as int) - 1 do + f v i + done + +let print_DoubleVector v = + begin + with_vector v + (fun v i -> + print_float ((v '[i to int]) as float) ; + print_string " ") ; + print_endline + end + +(* Call average with a Ocaml array... *) + +let v = new_DoubleVector '() +let rec fill_dv v x = + if x < 0.0001 then v else + begin + v -> push_back ((x to float)) ; + fill_dv v (x *. x) + end +let _ = fill_dv v 0.999 +let _ = print_DoubleVector v ; print_endline "" +let u = new_IntVector '() +let _ = for i = 1 to 4 do + u -> push_back ((i to int)) +done +let _ = (print_float ((_average u) as float) ; print_newline ()) |
