blob: 5791c6e7aaa1f2fd093cf8e9a51462378d66b430 [file] [log] [blame]
Abhay Kumara2ae5992025-11-10 14:02:24 +00001// Copyright The OpenTelemetry Authors
2// SPDX-License-Identifier: Apache-2.0
3
4package attribute // import "go.opentelemetry.io/otel/attribute"
5
6import (
7 "math"
8)
9
10func boolToRaw(b bool) uint64 { // nolint:revive // b is not a control flag.
11 if b {
12 return 1
13 }
14 return 0
15}
16
17func rawToBool(r uint64) bool {
18 return r != 0
19}
20
21func int64ToRaw(i int64) uint64 {
22 // Assumes original was a valid int64 (overflow not checked).
23 return uint64(i) // nolint: gosec
24}
25
26func rawToInt64(r uint64) int64 {
27 // Assumes original was a valid int64 (overflow not checked).
28 return int64(r) // nolint: gosec
29}
30
31func float64ToRaw(f float64) uint64 {
32 return math.Float64bits(f)
33}
34
35func rawToFloat64(r uint64) float64 {
36 return math.Float64frombits(r)
37}