Owl_computation_symbol.Makemodule Shape : Owl_computation_shape_sig.Sigmodule Shape = Shapeval op_to_str : Shape.Type.op -> stringval is_random_variable : Shape.Type.op -> boolval refnum : 'a Owl_graph.node -> intval node_shape : Shape.Type.attr Owl_graph.node -> int arrayval node_numel : Shape.Type.attr Owl_graph.node -> intval is_shape_unknown : Shape.Type.attr Owl_graph.node -> boolval infer_shape_graph : Shape.Type.attr Owl_graph.node array -> unitval node_to_str : Shape.Type.attr Owl_graph.node -> stringval node_to_arr : Shape.Type.t -> Shape.Type.arrval arr_to_node : Shape.Type.arr -> Shape.Type.tval node_to_elt : Shape.Type.t -> Shape.Type.eltval elt_to_node : Shape.Type.elt -> Shape.Type.tval make_empty_block : ?block_id:int -> int -> Shape.Type.blockval make_value_block : Shape.Type.Device.value -> Shape.Type.t -> unitval make_node : 
  ?name:string ->
  ?value:Shape.Type.Device.value array ->
  ?shape:int array option array ->
  ?freeze:bool ->
  ?reuse:bool ->
  ?state:Shape.Type.state ->
  Shape.Type.op ->
  Shape.Type.attr Owl_graph.nodeval make_then_connect : 
  ?shape:int array option array ->
  Shape.Type.op ->
  Shape.Type.attr Owl_graph.node array ->
  Shape.Type.attr Owl_graph.nodeval var_arr : ?shape:int array -> string -> Shape.Type.arrval var_elt : string -> Shape.Type.eltval const_arr : string -> Shape.Type.Device.A.arr -> Shape.Type.arrval const_elt : string -> Shape.Type.Device.A.elt -> Shape.Type.eltval get_nodes_using_block : Shape.Type.block -> Shape.Type.t listval _get_value_block : Shape.Type.block -> Shape.Type.Device.valueval get_block_opt : 
  Shape.Type.attr Owl_graph.node ->
  Shape.Type.block array optionval get_block : Shape.Type.attr Owl_graph.node -> Shape.Type.block arrayval _set_block : 
  Shape.Type.attr Owl_graph.node ->
  Shape.Type.block array ->
  unitval add_node_to_block : Shape.Type.t -> Shape.Type.block -> unitval get_active_node : Shape.Type.block -> Shape.Type.t optionval set_active_node : Shape.Type.block -> Shape.Type.t -> unitval get_block_id : Shape.Type.attr Owl_graph.node -> intval set_value : Shape.Type.t -> Shape.Type.Device.value array -> unitval get_value : Shape.Type.attr Owl_graph.node -> Shape.Type.Device.value arrayval set_operator : Shape.Type.attr Owl_graph.node -> Shape.Type.op -> unitval get_operator : Shape.Type.attr Owl_graph.node -> Shape.Type.opval set_reuse : Shape.Type.attr Owl_graph.node -> bool -> unitval get_reuse : Shape.Type.attr Owl_graph.node -> boolval is_var : Shape.Type.attr Owl_graph.node -> boolval is_const : Shape.Type.attr Owl_graph.node -> boolval is_node_arr : Shape.Type.attr Owl_graph.node -> boolval is_node_elt : Shape.Type.attr Owl_graph.node -> boolval is_assigned : Shape.Type.attr Owl_graph.node -> boolval check_assigned : Shape.Type.attr Owl_graph.node -> unitval is_valid : Shape.Type.attr Owl_graph.node -> boolval validate : Shape.Type.attr Owl_graph.node -> unitval invalidate : Shape.Type.attr Owl_graph.node -> unitval invalidate_graph : Shape.Type.attr Owl_graph.node -> unitval is_freeze : Shape.Type.attr Owl_graph.node -> boolval freeze : Shape.Type.attr Owl_graph.node -> unitval freeze_descendants : Shape.Type.attr Owl_graph.node array -> unitval freeze_ancestors : Shape.Type.attr Owl_graph.node array -> unitval pack_arr : Shape.Type.Device.A.arr -> Shape.Type.arrval unpack_arr : Shape.Type.arr -> Shape.Type.Device.A.arrval pack_elt : Shape.Type.Device.A.elt -> Shape.Type.eltval unpack_elt : Shape.Type.elt -> Shape.Type.Device.A.eltval unsafe_assign_arr : Shape.Type.arr -> Shape.Type.Device.A.arr -> unitval assign_arr : Shape.Type.arr -> Shape.Type.Device.A.arr -> unitval assign_elt : Shape.Type.elt -> Shape.Type.Device.A.elt -> unitval float_to_elt : float -> Shape.Type.eltval elt_to_float : Shape.Type.elt -> float