update swig on windows
This commit is contained in:
35
winx64/bin/swigwin-4.0.0/Examples/ocaml/std_vector/runme.ml
Normal file
35
winx64/bin/swigwin-4.0.0/Examples/ocaml/std_vector/runme.ml
Normal file
@@ -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
|
||||
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 ())
|
||||
Reference in New Issue
Block a user