Module Int_storage

module Int_storage: sig .. end
* int_storage.mli * * Creation: <2016-03-14 feret> * Last modification: Time-stamp: <Nov 23 2016> * * openkappa * Jérôme Feret, projet Abstraction, INRIA Paris-Rocquencourt * * * This library provides primitives to deal with storage functions * * Copyright 2010,2011,2012,2013,2014,2015 Institut National * de Recherche en Informatique et en Automatique. * All rights reserved. This file is distributed * under the terms of the GNU Library General Public License

type ('a, 'b) unary = Remanent_parameters_sig.parameters ->
Exception.method_handler -> 'a -> Exception.method_handler * 'b
type ('a, 'b, 'c) binary = Remanent_parameters_sig.parameters ->
Exception.method_handler -> 'a -> 'b -> Exception.method_handler * 'c
type ('a, 'b, 'c, 'd) ternary = Remanent_parameters_sig.parameters ->
Exception.method_handler -> 'a -> 'b -> 'c -> Exception.method_handler * 'd
type ('a, 'b, 'c, 'd, 'e) quaternary = Remanent_parameters_sig.parameters ->
Exception.method_handler ->
'a -> 'b -> 'c -> 'd -> Exception.method_handler * 'e
type 'a unary_no_output = Remanent_parameters_sig.parameters ->
Exception.method_handler -> 'a -> Exception.method_handler
type ('a, 'b) binary_no_output = Remanent_parameters_sig.parameters ->
Exception.method_handler -> 'a -> 'b -> Exception.method_handler
module type Storage = sig .. end
module Extend: 
functor (Extension : Storage) ->
functor (Underlying : Storage) -> Storage with type key = Extension.key * Underlying.key and type dimension = Extension.dimension * Underlying.dimension
Cartesian product
module Quick_key_list: 
functor (Basic : Storage) -> Storage with type key = Basic.key and type dimension = Basic.dimension
also record the list of key, for more efficient fold/iter
module Int_storage_imperatif: Storage  with type key = int and type dimension = int
simple array implementation
module Nearly_infinite_arrays: 
functor (Basic : Storage with type dimension = int and type key = int) -> Storage with type key = int and type dimension = int
expandable arrays (the size is still limited by max_int
module Nearly_inf_Imperatif: Storage 
  with type key = int
  and type dimension = int
expandable 1-dim array
module Quick_Nearly_inf_Imperatif: Storage 
  with type key = int
  and type dimension = int
expandable 1-dim array with sparse fold/iter
module Int_Int_storage_Imperatif_Imperatif: Storage 
  with type key = int * int
  and type dimension = int * int
2-dim matrices with sparse fold/iter
module Nearly_Inf_Int_Int_storage_Imperatif_Imperatif: Storage 
  with type key = int * int
  and type dimension = int * int
2-dim expandable matrices
module Nearly_Inf_Int_Int_Int_storage_Imperatif_Imperatif_Imperatif: Storage 
  with type key = int * (int * int)
  and type dimension = int * (int * int)
3-dim expandable matrices