Directories

bufio 
bytes 
c 
frontend/preprocessor 
frontend/tokenizerExample:
libc 
compresspackage compress is a collection of utilities to aid with other compression packages
gzip 
shocopackage shoco is an implementation of the shoco short string compressor
zlib 
container 
avlpackage avl implements an AVL tree.
bit_arrayThe Bit Array can be used in several ways:
intrusive/list 
lru 
priority_queue 
queue 
small_array 
topological_sortThe following is a generic O(V+E) topological sorter implementation.
cryptopackage crypto implements a selection of cryptography algorithms and useful
blake2bpackage blake2b implements the BLAKE2b hash algorithm.
blake2spackage blake2s implements the BLAKE2s hash algorithm.
chacha20package chacha20 implements the ChaCha20 and XChaCha20 stream ciphers.
chacha20poly1305package chacha20poly1305 implements the AEAD_CHACHA20_POLY1305 Authenticated
ed25519package ed25519 implements the Ed25519 EdDSA signature algorithm.
hashpackage hash provides a generic interface to the supported hash algorithms.
hkdfpackage hkdf implements the HKDF HMAC-based Extract-and-Expand Key
hmacpackage hmac implements the HMAC MAC algorithm.
kmacpackage kmac implements the KMAC MAC algorithm.
legacy/keccakpackage keccak implements the Keccak hash algorithm family.
legacy/md5package md5 implements the MD5 hash algorithm.
legacy/sha1package sha1 implements the SHA1 hash algorithm.
pbkdf2package pbkdf2 implements the PBKDF2 password-based key derivation function.
poly1305package poly1305 implements the Poly1305 one-time MAC algorithm.
ristretto255package ristretto255 implement the ristretto255 prime-order group.
sha2package sha2 implements the SHA2 hash algorithm family.
sha3package sha3 implements the SHA3 hash algorithm family.
shakepackage shake implements the SHAKE and cSHAKE XOF algorithm families.
sm3package sm3 implements the SM3 hash algorithm.
tuplehashpackage tuplehash implements the TupleHash and TupleHashXOF algorithms.
x25519package x25519 implements the X25519 (aka curve25519) Elliptic-Curve
debug 
pe 
dynlibPackage core:dynlib implements loading of shared libraries/DLLs and their symbols.
encoding 
base32 
base64 
cborPackage cbor encodes, decodes, marshals and unmarshals types from/into RCF 8949 compatible CBOR binary.
csvpackage csv reads and writes comma-separated values (CSV) files.
endianPackage endian implements a simple translation between bytes and numbers with
entity 
hex 
hxaImplementation of the HxA 3D asset format
json 
varintImplementation of the LEB128 variable integer encoding as used by DWARF encoding and DEX files, among others.
xmlXML 1.0 / 1.1 parser
fmtpackage fmt implemented formatted I/O with procedures similar to C's printf and Python's format.
hash 
xxhashAn implementation of Yann Collet's [xxhash Fast Hash Algorithm](https://cyan4973.github.io/xxHash/).
imagepackage image implements a general 2D image library to be used with other image related packages
netpbmFormats:
png 
qoipackage qoi implements a QOI image reader
tgapackage tga implements a TGA image writer for 8-bit RGB and RGBA images.
iopackage io provides basic interfaces for generic data stream primitives.
log 
math 
bigA BigInt implementation in Odin.
bits 
cmplx 
easeeasing procedures and flux easing used for animations
fixed 
linalgcore:math/linalg implements linear algebra procedures useful for 3D spatial transformations
linalg/glslcore:math/linalg/glsl implements a GLSL-like mathematics library plus numerous other utility procedures
linalg/hlslcore:math/linalg/hlsl implements a HLSL-like mathematics library plus numerous other utility procedures
noiseOpenSimplex2 noise implementation.
randPackage core:math/rand implements various random number generators
mempackage mem implements various types of allocators.
virtual 
netPackage net implements cross-platform Berkeley Sockets, DNS resolution and associated procedures.
odin 
ast 
doc-format 
format 
parser 
printer 
tokenizer 
os 
path 
filepathThe path/filepath package uses either forward slashes or backslashes depending on the operating system
slashpathThe slashpath package is only to be used for paths separated by forward slashes,
prof 
spallimport "core:prof/spall"
reflect 
simd 
slice 
heapPackage implements a generic max heap in-place on a slice for any type.
sort 
strconv 
decimalMultiple precision decimal numbers
stringsProcedures to manipulate UTF-8 encoded strings
sync 
sysPlatform specific packages - documentation may be for a specific platform only
darwin(Generated with -target:darwin_arm64, please read the source code directly)
darwin/Foundation(Generated with -target:windows_amd64, please read the source code directly)
haiku(Generated with -target:haiku_arm64, please read the source code directly)
info(Generated with -target:windows_amd64, please read the source code directly)
linux(Generated with -target:linux_arm64, please read the source code directly)
unix(Generated with -target:linux_arm64, please read the source code directly)
valgrind(Generated with -target:windows_amd64, please read the source code directly)
windows(Generated with -target:windows_amd64, please read the source code directly)
testing 
text 
edit 
i18nThe i18n package is flexible and easy to use.
match 
scannerpackage text/scanner provides a scanner and tokenizer for UTF-8-encoded text.
tableThe package table implements ASCII/markdown/HTML/custom rendering of tables.
thread 
time 
datetimeCalendrical conversions using a proleptic Gregorian calendar.
unicode 
utf16 
utf8 
utf8/utf8string