...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package internal
16
17 import (
18 "math"
19 "unsafe"
20 )
21
22 func BoolToRaw(b bool) uint64 {
23 if b {
24 return 1
25 }
26 return 0
27 }
28
29 func RawToBool(r uint64) bool {
30 return r != 0
31 }
32
33 func Int64ToRaw(i int64) uint64 {
34 return uint64(i)
35 }
36
37 func RawToInt64(r uint64) int64 {
38 return int64(r)
39 }
40
41 func Float64ToRaw(f float64) uint64 {
42 return math.Float64bits(f)
43 }
44
45 func RawToFloat64(r uint64) float64 {
46 return math.Float64frombits(r)
47 }
48
49 func RawPtrToFloat64Ptr(r *uint64) *float64 {
50 return (*float64)(unsafe.Pointer(r))
51 }
52
53 func RawPtrToInt64Ptr(r *uint64) *int64 {
54 return (*int64)(unsafe.Pointer(r))
55 }
56
View as plain text