(** Module: Symbol Description: Symbols' information in faust. @author WANG Haisheng Created: 05/08/2013 Modified: 05/08/2013 *) open Types;; exception Symbol_error of string;; (* MACRO *) let delay_memory_length = 100000;; let rdtable_memory_length = 100000;; let vectorize_memory_length = 1000;; let dimension_of_symbol : symbol -> int * int = fun (s : symbol) -> match s with |Add -> (2, 1) |Sub -> (2, 1) |Mul -> (2, 1) |Div -> (2, 1) |Pass -> (1, 1) |Stop -> (1, 0) |Mem -> (1, 1) |Delay -> (2, 1) |Floor -> (1, 1) |Int -> (1, 1) |Sin -> (1, 1) |Cos -> (1, 1) |Atan -> (1, 1) |Atan2 -> (2, 1) |Sqrt -> (1, 1) |Rdtable -> (3, 1) |Mod -> (2, 1) |Vectorize -> (2, 1) |Vconcat -> (2, 1) |Vpick -> (2, 1) |Serialize -> (1, 1) |Larger -> (2, 1) |Smaller -> (2, 1) |Prefix -> (2, 1) |Select2 -> (3, 1) |Select3 -> (4, 1);; let delay_of_symbol : symbol -> int = fun (s : symbol) -> match s with |Add -> 0 |Sub -> 0 |Mul -> 0 |Div -> 0 |Pass -> 0 |Stop -> 0 |Mem -> 1 |Delay -> delay_memory_length |Floor -> 0 |Int -> 0 |Sin -> 0 |Cos -> 0 |Atan -> 0 |Atan2 -> 0 |Sqrt -> 0 |Rdtable -> rdtable_memory_length |Mod -> 0 |Larger -> 0 |Smaller -> 0 |Vectorize -> vectorize_memory_length |Vconcat -> 0 |Vpick -> 0 |Serialize -> 0 |Prefix -> 1 |Select2 -> 0 |Select3 -> 0;;