sig
type permut = (int, Bigarray.int_elt, Bigarray.c_layout) Bigarray.Array1.t
val of_array : int array -> Permut.permut
val to_array : Permut.permut -> int array
val init : Permut.permut -> unit
val create : int -> Permut.permut
val make : int -> Permut.permut
val swap : Permut.permut -> int -> int -> unit
val size : Permut.permut -> int
val valid : Permut.permut -> bool
external reverse : Permut.permut -> unit = "ml_gsl_permutation_reverse"
val inverse : Permut.permut -> Permut.permut
external next : Permut.permut -> unit = "ml_gsl_permutation_next"
external prev : Permut.permut -> unit = "ml_gsl_permutation_prev"
external permute : Permut.permut -> 'a array -> unit = "ml_gsl_permute"
external permute_barr :
Permut.permut -> ('a, 'b, 'c) Bigarray.Array1.t -> unit
= "ml_gsl_permute_barr"
external permute_complex :
Permut.permut -> Gsl_complex.complex_array -> unit
= "ml_gsl_permute_complex"
external permute_inverse : Permut.permut -> 'a array -> unit
= "ml_gsl_permute_inverse"
external permute_inverse_barr :
Permut.permut -> ('a, 'b, 'c) Bigarray.Array1.t -> unit
= "ml_gsl_permute_inverse_barr"
external permute_inverse_complex :
Permut.permut -> Gsl_complex.complex_array -> unit
= "ml_gsl_permute_inverse_complex"
val mul : Permut.permut -> Permut.permut -> Permut.permut
val linear_to_canonical : Permut.permut -> Permut.permut
val canonical_to_linear : Permut.permut -> Permut.permut
external inversions : Permut.permut -> int = "ml_gsl_permute_inversions"
external canonical_cycles : Permut.permut -> int
= "ml_gsl_permute_canonical_cycles"
external linear_cycles : Permut.permut -> int
= "ml_gsl_permute_linear_cycles"
end