-
Notifications
You must be signed in to change notification settings - Fork 9
/
task.mli
40 lines (30 loc) · 1.43 KB
/
task.mli
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
(* ========================================================================== *)
(* FPTaylor: A Tool for Rigorous Estimation of Round-off Errors *)
(* *)
(* Author: Alexey Solovyev, University of Utah *)
(* *)
(* This file is distributed under the terms of the MIT license *)
(* ========================================================================== *)
(* -------------------------------------------------------------------------- *)
(* FPTaylor input task *)
(* -------------------------------------------------------------------------- *)
type var_info = {
var_name : string;
var_type : Rounding.value_type;
lo_bound : Const.t;
hi_bound : Const.t;
uncertainty : Const.t;
}
type task = {
name : string;
expression : Expr.expr;
variables : var_info list;
constraints : (string * Expr.formula) list;
}
val all_variables : task -> string list
val all_active_variables : task -> string list
val find_variable : task -> string -> var_info
val variable_type : task -> string -> Rounding.value_type
val variable_interval : task -> string -> Interval.interval
val variable_num_interval : task -> string -> Num.num * Num.num
val constraints_of_task : task -> Expr.constraints