Xiaojun Liu <[email protected]> writes: > Hi, > > I have two Stream of integers, called s1 and s2. I want to > add their corresponding elements to form a new stream called s. > I use map(f,x,y) to do this, but the result is unexpected if s1 is > actually a finite stream, i.e. > > (1) -> s1 := [i for i in 1..3] :: Stream INT > > (1) [1,2,3] > Type: Stream(Integer) > (2) -> s2 := [j for j in 1..] :: Stream INT > > (2) [1,2,3,4,5,6,7,8,9,10,...] > Type: Stream(Integer) > (3) -> map(+, s1, s2) > > (3) [2,4,6] > Type: Stream(Integer) > > But I want the result : [2,4,6,4,5,6,7,8,9,10,...]. > Is there any simple way to do this? > > Do I have to append s1 to a infinite stream by letting the rest > elements all be 0 manually?
I think that's the way to go. It's not that bad: [i+j for i in concat(s1, repeating [0]) for j in s2] Martin -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en.
