Blame view
BRIC/cspFiles/sequence_aux.csp
1.08 KB
eeb5cac08
![]() |
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 |
-------------------------------------------------------------------- -------------------------------------------------------------------- -- Sequence auxiliary operations -------------------------------------------------------------------- -------------------------------------------------------------------- -- Overriding insert(<>,i,x) = <> insert(<y>^s,n,x) = if (n==1) then <x>^s else <y>^insert(s,n-1,x) -------------------------------------------------------------------- -- Indexing at(<x>^s,n) = if (n==1) then x else at(s,n-1) -------------------------------------------------------------------- -- Sequence of 0s zeroSeq(n) = if (n==1) then <0> else <0>^zeroSeq(n-1) -------------------------------------------------------------------- map(f,<>) = <> map(f,<x>^xs) = <f(x)>^(map(f,xs)) e2l(x) = <x> addHead(e,<>) = <> addHead(e,<x>^xs) = <<e>^x>^(addHead(e,xs)) seqCons(<>,xxs) = <> seqCons(<x>^xs,xss) = (addHead(x,xss))^(seqCons(xs,xss)) distCartProd(<>) = <> distCartProd(<xs>) = map(e2l,xs) distCartProd(<xs>^xxs) = seqCons(xs, distCartProd(xxs)) |