code: def compute_samples(channels, nsamples=None):
      '''
      create a generator which computes the samples.
      essentially it creates a sequence of the sum of each function in the channel
      at each sample in the file for each channel.
      '''
      return islice(izip(*(imap(sum, izip(*channel)) for channel in channels)), nsamplesf compute_samples(channels, nsamples=None):
      '''
      create a generator which computes the samples.
      essentially it creates a sequence of the sum of each function in the channel
      at each sample in the file for each channel.
      '''
      return islice(izip(*(imap(sum, izip(*channel)) for channel in channels)), nsamples)
docs: create a generator which computes the samples.
      essentially it creates a sequence of the sum of each function in the channel
      at each sample in the file for each channel.