Completing basic operations in basic.ml for primitives float, And, Or, Xor, fmod...
[Faustine.git] / interpretor / process.ml
index e7568df..f094b7b 100644 (file)
@@ -89,7 +89,8 @@ class proc_const : faust_exp -> process_type =
       method eval : beam_type -> beam_type = 
        fun (input : beam_type) ->
          if input#get = [||] then
       method eval : beam_type -> beam_type = 
        fun (input : beam_type) ->
          if input#get = [||] then
-           new beam [| new signal 0 (fun t -> new value self#const)|]
+           new beam [| new signal (new rate 0 1) 
+                        (fun t -> new value self#const)|]
          else
            raise (Process_error "proc_const accepts no input.")
       end;;
          else
            raise (Process_error "proc_const accepts no input.")
       end;;
@@ -265,7 +266,7 @@ and proc_rec : faust_exp -> process_type =
       method eval : beam_type -> beam_type = 
        fun (input : beam_type) ->
          let memory = Hashtbl.create self#delay in
       method eval : beam_type -> beam_type = 
        fun (input : beam_type) ->
          let memory = Hashtbl.create self#delay in
-         let rates = ref (Array.make self#dim#output 0) in
+         let rates = ref (Array.make self#dim#output (new rate 0 1)) in
 
          let split : (time -> value_type array) -> (time -> value_type) array = 
            fun beam_at ->
 
          let split : (time -> value_type array) -> (time -> value_type) array = 
            fun beam_at ->