This file is indexed.

/usr/lib/ocaml/gsl/gsl_vectmat.mli is in libocamlgsl-ocaml-dev 1.19.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
(* gsl-ocaml - OCaml interface to GSL                       *)
(* Copyright (©) 2002-2012 - Olivier Andrieu                *)
(* Distributed under the terms of the GPL version 3         *)

(** Generic variant types for vectors and matrices *)

(** {3 Real values} *)

type vec = [
  | `V of Gsl_vector.vector
  | `VF of Gsl_vector_flat.vector ]

val vec_convert :
  ?protect:bool ->
  [< `A of float array 
   | `VF of Gsl_vector_flat.vector 
   | `V of Gsl_vector.vector] -> [> vec]
       
type mat = [
  | `M of Gsl_matrix.matrix
  | `MF of Gsl_matrix_flat.matrix ]

val mat_convert :
  ?protect:bool ->
  [< `M of Gsl_matrix.matrix
   | `MF of Gsl_matrix_flat.matrix
   | `A of float array * int * int
   | `AA of float array array] -> [> mat]

val mat_flat :
  ?protect:bool ->
  [< `M of Gsl_matrix.matrix
   | `MF of Gsl_matrix_flat.matrix
   | `A of float array * int * int
   | `AA of float array array] -> Gsl_matrix_flat.matrix
    
(** {3 Complex values} *)

type cvec = [
  | `CV  of Gsl_vector_complex.vector
  | `CVF of Gsl_vector_complex_flat.vector ]

type cmat = [
  | `CM  of Gsl_matrix_complex.matrix
  | `CMF of Gsl_matrix_complex_flat.matrix ]

val cmat_convert :
  ?protect:bool ->
  [< `CM of Gsl_matrix_complex.matrix
   | `CMF of Gsl_matrix_complex_flat.matrix
   | `CA of Gsl_complex.complex_array * int * int ] -> 
  [> cmat]


(** {3 Generic vector operations} *)

val length    : [< vec| cvec] -> int
val to_array  : [< vec] -> float array
val v_copy    : [< vec] -> [> vec]
val subvector : [< vec] -> off:int -> len:int -> [> vec]

external v_memcpy : [< vec] -> [< vec] -> unit 
    = "ml_gsl_vector_memcpy"

external v_add : [< vec] -> [< vec] -> unit 
    = "ml_gsl_vector_add"
external v_sub : [< vec] -> [< vec] -> unit 
    = "ml_gsl_vector_sub"
external v_mul : [< vec] -> [< vec] -> unit 
    = "ml_gsl_vector_mul"
external v_div : [< vec] -> [< vec] -> unit 
    = "ml_gsl_vector_div"

external v_max : [< vec] -> float
    = "ml_gsl_vector_max"
external v_min : [< vec] -> float
    = "ml_gsl_vector_min"
external v_minmax : [< vec] -> float * float
    = "ml_gsl_vector_minmax"
external v_max_index : [< vec] -> int
    = "ml_gsl_vector_maxindex"
external v_min_index : [< vec] -> int
    = "ml_gsl_vector_minindex"
external v_minmax_index : [< vec] -> int * int
    = "ml_gsl_vector_minmaxindex"

(** {3 Generic matrix operations} *)

val dims      : [< mat| cmat] -> int * int
val tmp       : [< mat] -> [> `M of Gsl_matrix.matrix]
val to_arrays : [< mat] -> float array array
val m_copy    : [< mat] -> [> mat]

external m_memcpy : [< mat] -> [< mat] -> unit 
    = "ml_gsl_matrix_memcpy"

external m_add : [< mat] -> [< mat] -> unit 
    = "ml_gsl_matrix_add"
external m_sub : [< mat] -> [< mat] -> unit 
    = "ml_gsl_matrix_sub"
external m_mul : [< mat] -> [< mat] -> unit 
    = "ml_gsl_matrix_mul"
external m_div : [< mat] -> [< mat] -> unit 
    = "ml_gsl_matrix_div"
external m_add_diagonal : [< mat] -> float -> unit
    = "ml_gsl_matrix_add_diagonal"

external swap_rows : [< mat] -> int -> int -> unit 
    = "ml_gsl_matrix_swap_rows"
external swap_columns : [< mat] -> int -> int -> unit
    = "ml_gsl_matrix_swap_columns"
external swap_rowcol : [< mat] -> int -> int -> unit
    = "ml_gsl_matrix_swap_rowcol"
external transpose : [< mat] -> [< mat] -> unit
    = "ml_gsl_matrix_transpose_memcpy"
external transpose_in_place : [< mat] -> unit
    = "ml_gsl_matrix_transpose"

(** {3 Other generic operations} *)

val is_null      : [< vec | mat] -> bool
val scale        : [< vec | mat] -> float -> unit
val add_constant : [< vec | mat] -> float -> unit