Working on binary I/O

This commit is contained in:
Anthony Scemama 2022-01-11 14:47:04 +01:00
parent dfbbf8b329
commit ca7f0f0171
5 changed files with 29 additions and 17 deletions

View File

@ -120,13 +120,17 @@ let of_bytes b =
let to_string b =
Printf.sprintf "%s %s # %s %s %s %d"
(Sample.to_string b.value )
(Weight.to_float b.weight |> string_of_float)
(Property.to_string b.property)
(Compute_node.to_string b.compute_node)
(string_of_int b.pid)
(Block_id.to_int b.block_id)
if Qmcchem_config.binary_io then
to_bytes b
|> Bytes.to_string
else
Printf.sprintf "%s %s # %s %s %s %d"
(Sample.to_string b.value )
(Weight.to_float b.weight |> string_of_float)
(Property.to_string b.property)
(Compute_node.to_string b.compute_node)
(string_of_int b.pid)
(Block_id.to_int b.block_id)
let dir_name = lazy(

View File

@ -115,3 +115,5 @@ let ip_address = lazy (
let binary_io = false

View File

@ -758,7 +758,8 @@ let run ?(daemon=true) ezfio_filename =
| Some wall ->
begin
output_string !block_channel (Block.to_string wall);
output_char !block_channel '\n';
if not Qmcchem_config.binary_io then
output_char !block_channel '\n';
end
| _ -> ()
end
@ -767,7 +768,8 @@ let run ?(daemon=true) ezfio_filename =
if (status = Status.Running) then
touch_worker b.Block.compute_node b.Block.pid ;
output_string !block_channel (Block.to_string b);
output_char !block_channel '\n';
if not Qmcchem_config.binary_io then
output_char !block_channel '\n';
recv_log (Block.to_string b)
end
| Message.Test

View File

@ -344,7 +344,7 @@ let create_ezfio_handler () =
let lines =
input_lines "ezfio.ml"
(* /!\ Change when ezfio.ml changes *)
|> List.mapi (fun i l -> if i > 444 then Some l else None)
|> List.mapi (fun i l -> if i > 442 then Some l else None)
|> List.filter (fun x -> x <> None)
|> List.map (fun x ->
match x with

View File

@ -146,6 +146,10 @@ for p in properties_qmcvar:
print >>file, """| %(P)s -> "%(P)s" """%{'P':p[1].capitalize(), 'p':p[1]}
print >>file, """;;
let of_bytes x =
Bytes.to_string x
|> of_string
let to_bytes x =
to_string x
|> Bytes.of_string