X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpretor/value.ml diff --git a/interpretor/value.ml b/interpretor/value.ml deleted file mode 100644 index 48fc31c..0000000 --- a/interpretor/value.ml +++ /dev/null @@ -1,81 +0,0 @@ -(** - Module: Value - Description: basic data type in the vectorial faust interpreter. - @author WANG Haisheng - Created: 31/05/2013 Modified: 17/07/2013 -*) - -open Types;; -open Basic;; - -let convert : (basic -> 'a) -> basic -> 'a = - fun oper -> fun b -> oper b;; - -class value : basic -> value_type = - fun (b_init : basic) -> - object (self) - val mutable b = b_init - method get = b - method normalize = b <- basic_normalize self#get - - method to_float = convert basic_to_float self#get - method to_int = convert basic_to_int self#get - method to_float_array = convert basic_to_float_array self#get - method to_string = convert basic_to_string self#get - method of_float_array : float array -> value_type = - fun data -> new value (basic_of_float_array data) - - method private prim1 : (basic -> basic) -> value = - fun oper -> - new value (oper self#get) - - method neg = self#prim1 basic_neg - method recip = self#prim1 basic_recip - method zero = self#prim1 basic_zero - method floor = self#prim1 basic_floor - method ceil = self#prim1 basic_ceil - method rint = self#prim1 basic_rint - method int = self#prim1 basic_int - method float = self#prim1 basic_float - method sin = self#prim1 basic_sin - method asin = self#prim1 basic_asin - method cos = self#prim1 basic_cos - method acos = self#prim1 basic_acos - method tan = self#prim1 basic_tan - method atan = self#prim1 basic_atan - method exp = self#prim1 basic_exp - method sqrt = self#prim1 basic_sqrt - method ln = self#prim1 basic_ln - method lg = self#prim1 basic_lg - method abs = self#prim1 basic_abs - - method private prim2 : (basic -> basic -> basic) -> value -> value = - fun oper -> - fun v -> - new value (oper self#get v#get) - - method add = self#prim2 basic_add - method sub = self#prim2 basic_sub - method mul = self#prim2 basic_mul - method div = self#prim2 basic_div - method power = self#prim2 basic_power - method _and = self#prim2 basic_and - method _or = self#prim2 basic_or - method _xor = self#prim2 basic_xor - method _mod = self#prim2 basic_mod - method fmod = self#prim2 basic_fmod - method remainder = self#prim2 basic_remainder - method gt = self#prim2 basic_gt - method lt = self#prim2 basic_lt - method geq = self#prim2 basic_geq - method leq = self#prim2 basic_leq - method eq = self#prim2 basic_eq - method neq = self#prim2 basic_neq - method atan2 = self#prim2 basic_atan2 - method max = self#prim2 basic_max - method min = self#prim2 basic_min - method shl = self#prim2 basic_shl - method shr = self#prim2 basic_shr - - end;; -