Name the output executable "runme" in the examples. Replace use of "foolib" in the string_from_ptr example. Fix a warning in the std_vector example. Add strings_test to Examples/ocaml/check.list. Disable two tests that were causing the OCaml test suite to fail.
35 lines
754 B
OCaml
35 lines
754 B
OCaml
(* 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
|
|
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 ())
|