func()

in prompb/io/prometheus/client/metrics.pb.go [1260:1409]


func (m *Histogram) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.XXX_unrecognized != nil {
		i -= len(m.XXX_unrecognized)
		copy(dAtA[i:], m.XXX_unrecognized)
	}
	if len(m.PositiveCount) > 0 {
		for iNdEx := len(m.PositiveCount) - 1; iNdEx >= 0; iNdEx-- {
			f2 := math.Float64bits(float64(m.PositiveCount[iNdEx]))
			i -= 8
			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f2))
		}
		i = encodeVarintMetrics(dAtA, i, uint64(len(m.PositiveCount)*8))
		i--
		dAtA[i] = 0x72
	}
	if len(m.PositiveDelta) > 0 {
		var j3 int
		dAtA5 := make([]byte, len(m.PositiveDelta)*10)
		for _, num := range m.PositiveDelta {
			x4 := (uint64(num) << 1) ^ uint64((num >> 63))
			for x4 >= 1<<7 {
				dAtA5[j3] = uint8(uint64(x4)&0x7f | 0x80)
				j3++
				x4 >>= 7
			}
			dAtA5[j3] = uint8(x4)
			j3++
		}
		i -= j3
		copy(dAtA[i:], dAtA5[:j3])
		i = encodeVarintMetrics(dAtA, i, uint64(j3))
		i--
		dAtA[i] = 0x6a
	}
	if len(m.PositiveSpan) > 0 {
		for iNdEx := len(m.PositiveSpan) - 1; iNdEx >= 0; iNdEx-- {
			{
				size, err := m.PositiveSpan[iNdEx].MarshalToSizedBuffer(dAtA[:i])
				if err != nil {
					return 0, err
				}
				i -= size
				i = encodeVarintMetrics(dAtA, i, uint64(size))
			}
			i--
			dAtA[i] = 0x62
		}
	}
	if len(m.NegativeCount) > 0 {
		for iNdEx := len(m.NegativeCount) - 1; iNdEx >= 0; iNdEx-- {
			f6 := math.Float64bits(float64(m.NegativeCount[iNdEx]))
			i -= 8
			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f6))
		}
		i = encodeVarintMetrics(dAtA, i, uint64(len(m.NegativeCount)*8))
		i--
		dAtA[i] = 0x5a
	}
	if len(m.NegativeDelta) > 0 {
		var j7 int
		dAtA9 := make([]byte, len(m.NegativeDelta)*10)
		for _, num := range m.NegativeDelta {
			x8 := (uint64(num) << 1) ^ uint64((num >> 63))
			for x8 >= 1<<7 {
				dAtA9[j7] = uint8(uint64(x8)&0x7f | 0x80)
				j7++
				x8 >>= 7
			}
			dAtA9[j7] = uint8(x8)
			j7++
		}
		i -= j7
		copy(dAtA[i:], dAtA9[:j7])
		i = encodeVarintMetrics(dAtA, i, uint64(j7))
		i--
		dAtA[i] = 0x52
	}
	if len(m.NegativeSpan) > 0 {
		for iNdEx := len(m.NegativeSpan) - 1; iNdEx >= 0; iNdEx-- {
			{
				size, err := m.NegativeSpan[iNdEx].MarshalToSizedBuffer(dAtA[:i])
				if err != nil {
					return 0, err
				}
				i -= size
				i = encodeVarintMetrics(dAtA, i, uint64(size))
			}
			i--
			dAtA[i] = 0x4a
		}
	}
	if m.ZeroCountFloat != 0 {
		i -= 8
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.ZeroCountFloat))))
		i--
		dAtA[i] = 0x41
	}
	if m.ZeroCount != 0 {
		i = encodeVarintMetrics(dAtA, i, uint64(m.ZeroCount))
		i--
		dAtA[i] = 0x38
	}
	if m.ZeroThreshold != 0 {
		i -= 8
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.ZeroThreshold))))
		i--
		dAtA[i] = 0x31
	}
	if m.Schema != 0 {
		i = encodeVarintMetrics(dAtA, i, uint64((uint32(m.Schema)<<1)^uint32((m.Schema>>31))))
		i--
		dAtA[i] = 0x28
	}
	if m.SampleCountFloat != 0 {
		i -= 8
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.SampleCountFloat))))
		i--
		dAtA[i] = 0x21
	}
	if len(m.Bucket) > 0 {
		for iNdEx := len(m.Bucket) - 1; iNdEx >= 0; iNdEx-- {
			{
				size, err := m.Bucket[iNdEx].MarshalToSizedBuffer(dAtA[:i])
				if err != nil {
					return 0, err
				}
				i -= size
				i = encodeVarintMetrics(dAtA, i, uint64(size))
			}
			i--
			dAtA[i] = 0x1a
		}
	}
	if m.SampleSum != 0 {
		i -= 8
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.SampleSum))))
		i--
		dAtA[i] = 0x11
	}
	if m.SampleCount != 0 {
		i = encodeVarintMetrics(dAtA, i, uint64(m.SampleCount))
		i--
		dAtA[i] = 0x8
	}
	return len(dAtA) - i, nil
}