func (q *Float64Queue) Push(elem float64) {
	if q.count == len(q.buf) {
		q.resize()
	}
	q.buf[q.tail] = elem
	q.tail = (q.tail + 1) % len(q.buf)
	q.count++
}
Push puts an element on the end of the queue.
package codegen
var nilfloat64 float64
type Float64Queue struct {
	buf               []float64
	head, tail, count int
	minlen            int
}
func NewFloat64Queue(capacity int) *Float64Queue {
	if capacity < 16 {
		capacity = 16
	}
	return &Float64Queue{buf: make([]float64, capacity), minlen: capacity}
}
func (q *Float64Queue) Len() int {
	return q.count
}