+++ /dev/null
-(**
- Module: Beam
- Description: beam definition and operations
- @author WANG Haisheng
- Created: 21/07/2013 Modified: 21/07/2013
-*)
-
-exception Beam_matching of string;;
-
-open Signal;;
-
-class beam : signal_type array -> beam_type =
- fun (sa_init : signal_type array) ->
- object (self)
- val sa = sa_init
- val l = Array.length sa
-
- method get = sa
-
- method length = l
-
- method sub : int -> int -> beam_type =
- fun start ->
- fun len ->
- new beam (Array.sub self#get start len)
-
- method append : beam_type -> beam_type =
- fun b ->
- new beam (Array.append self#get b)
-
- method matching : int -> beam_type
- fun size ->
- if size = self#length then self
- else if size > self#length && size mod self#length = 0 then
-
- else if size < self#length && self#length mod size = 0 then
-
- else raise (Beam_matching "matching size error")
-
-
- end