module Halstead: sig
.. end
Halstead metrics computation
val update_val : int -> 'a -> ('a, int) Hashtbl.t -> unit
val update_val_incr : 'a -> ('a, int) Hashtbl.t -> unit
type
operand_tbl = {
}
type
operator_tbl = {
}
val id_from_init : ('a * 'b * 'c * 'd) * 'e -> 'a
class halsteadCabsVisitor :
object
.. end
val compose : 'a -> int -> int * int -> int * int
val fold : ('a, int) Hashtbl.t -> int * int -> int * int
val compute_operators : operator_tbl -> float * float
val compute_operands : operand_tbl -> float * float
type
halstead_metrics = {
|
distinct_operators : float ; |
|
total_operators : float ; |
|
distinct_operands : float ; |
|
total_operands : float ; |
|
program_length : float ; |
|
program_volume : float ; |
|
program_level : float ; |
|
vocabulary_size : float ; |
|
difficulty_level : float ; |
|
effort_to_implement : float ; |
|
time_to_implement : float ; |
|
bugs_delivered : float ; |
}
val get_metrics : unit -> halstead_metrics
val to_list : halstead_metrics -> string list list
val pp_metrics : Format.formatter ->
< get_operand_tbl : unit -> operand_tbl;
get_operator_tbl : unit -> operator_tbl; .. > ->
unit
val compute_metrics : unit -> unit
val get_metrics : unit -> halstead_metrics