Files
Viper_VRTE/builtins.vp
T

61 lines
2.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import stdint as __stdint
import t
def ord(s: char) -> int: return int(s)
def chr(i: int) -> char: return char(i)
def min(a: double, b: double) -> double: return a if a < b else b
def max(a: double, b: double) -> double: return a if a > b else b
# rawptr 已内置于编译器(TPC/TPV 双端),作为语法保留字,不可重定义:
# rawptr[T] 固定表示"裸指针,指向原始类型 T"(等价 t.CPtr[T])。
sizet: t.CTypedef = t.CSizeT
size_t: t.CTypedef = sizet
uzt: t.CTypedef = sizet
int8: t.CTypedef = t.CInt8T
int16: t.CTypedef = t.CInt16T
int32: t.CTypedef = t.CInt32T
int64: t.CTypedef = t.CInt64T
uint8: t.CTypedef = t.CUInt8T
uint16: t.CTypedef = t.CUInt16T
uint32: t.CTypedef = t.CUInt32T
uint64: t.CTypedef = t.CUInt64T
intfast8: t.CTypedef = t.CIntFast8T
intfast16: t.CTypedef = t.CIntFast16T
intfast32: t.CTypedef = t.CIntFast32T
intfast64: t.CTypedef = t.CIntFast64T
uintfast8: t.CTypedef = t.CUIntFast8T
uintfast16: t.CTypedef = t.CUIntFast16T
uintfast32: t.CTypedef = t.CUIntFast32T
uintfast64: t.CTypedef = t.CUIntFast64T
intleast8: t.CTypedef = t.CIntLeast8T
intleast16: t.CTypedef = t.CIntLeast16T
intleast32: t.CTypedef = t.CIntLeast32T
intleast64: t.CTypedef = t.CIntLeast64T
uintleast8: t.CTypedef = t.CUIntLeast8T
uintleast16: t.CTypedef = t.CUIntLeast16T
uintleast32: t.CTypedef = t.CUIntLeast32T
uintleast64: t.CTypedef = t.CUIntLeast64T
# C 基础类型名裸名别名(裸名家族,不随 import 注入;编译器最后匹配本文件兜底解析)
# 目标 x86_64-pc-windows-gnu(Windows/mingw-w64,LLP64):
# uchar = 8 位无符号(t.CUnsignedChar,固定 Size=8;C 的 unsigned char)
# short = 16 位有符号(t.CShort,固定 Size=16)
# ushort = 16 位无符号(t.CUnsignedShort,固定 Size=16)
# uint = u32,32 位无符号(等价 uint32/u32,底层 t.CUnsignedInt Size=32)
# long = 32 位有符号(t.CLong,Size 由 t.configure_platform 依 triple 置 32)
# ulong = 32 位无符号(t.CUnsignedLong,Size 由 t.configure_platform 依 triple 置 32)
# longlong = 64 位有符号(t.CLongLong,固定 Size=64)
# ulonglong = 64 位无符号(t.CUnsignedLongLong,固定 Size=64)
uchar: t.CTypedef = t.CUnsignedChar
short: t.CTypedef = t.CShort
ushort: t.CTypedef = t.CUnsignedShort
uint: t.CTypedef = t.CUnsignedInt
long: t.CTypedef = t.CLong
ulong: t.CTypedef = t.CUnsignedLong
longlong: t.CTypedef = t.CLongLong
ulonglong: t.CTypedef = t.CUnsignedLongLong