(0...n).each do |i|
        t = ((t1.to_f + t2) / 2.0) + (((t2 - t1) / 2.0) * z[i])
        sum += w[i] * yield(t)
      end