Skip to content

Commit bf83d48

Browse files
committed
feat(libs): add endian conversion functions
1 parent 9e2fe00 commit bf83d48

File tree

6 files changed

+12419
-0
lines changed

6 files changed

+12419
-0
lines changed

compiler/libs/libs/numbers.yaka

+60
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,63 @@ def uu2f(a: u64) -> float:
8888
@nativemacro
8989
def i2s(a: int) -> str:
9090
ccode """(yk__sdsfromlonglong(nn__a))"""
91+
92+
@nativemacro
93+
def to_le16(a: u16) -> u16:
94+
ccode """(end_htole16(nn__a))"""
95+
96+
@nativemacro
97+
def to_le32(a: u32) -> u32:
98+
ccode """(end_htole32(nn__a))"""
99+
100+
@nativemacro
101+
def to_le64(a: u64) -> u64:
102+
ccode """(end_htole64(nn__a))"""
103+
104+
@nativemacro
105+
def from_le16(a: u16) -> u16:
106+
ccode """(end_le16toh(nn__a))"""
107+
108+
@nativemacro
109+
def from_le32(a: u32) -> u32:
110+
ccode """(end_le32toh(nn__a))"""
111+
112+
@nativemacro
113+
def from_le64(a: u64) -> u64:
114+
ccode """(end_le64toh(nn__a))"""
115+
116+
@nativemacro
117+
def to_be16(a: u16) -> u16:
118+
ccode """(end_htobe16(nn__a))"""
119+
120+
@nativemacro
121+
def to_be32(a: u32) -> u32:
122+
ccode """(end_htobe32(nn__a))"""
123+
124+
@nativemacro
125+
def to_be64(a: u64) -> u64:
126+
ccode """(end_htobe64(nn__a))"""
127+
128+
@nativemacro
129+
def from_be16(a: u16) -> u16:
130+
ccode """(end_be16toh(nn__a))"""
131+
132+
@nativemacro
133+
def from_be32(a: u32) -> u32:
134+
ccode """(end_be32toh(nn__a))"""
135+
136+
@nativemacro
137+
def from_be64(a: u64) -> u64:
138+
ccode """(end_be64toh(nn__a))"""
139+
140+
@nativemacro
141+
def swap_16(a: u16) -> u16:
142+
ccode """(end_bswap16(nn__a))"""
143+
144+
@nativemacro
145+
def swap_32(a: u32) -> u32:
146+
ccode """(end_bswap32(nn__a))"""
147+
148+
@nativemacro
149+
def swap_64(a: u64) -> u64:
150+
ccode """(end_bswap64(nn__a))"""

0 commit comments

Comments
 (0)