Further overhaul of package line comments.

This commit is contained in:
Jeroen van Rijn
2025-10-09 23:05:29 +02:00
parent 2bc409eab5
commit 7a9ea3ee6d
147 changed files with 155 additions and 186 deletions

View File

@@ -1,2 +1,2 @@
// package bufio implements buffered I/O. It wraps an `io.Stream` interface to provide buffering.
// Wraps an `io.Stream` interface to provide buffered I/O.
package bufio

View File

@@ -1,4 +1,4 @@
// package bytes implements procedures for manipulation of byte slices.
// Procedures for manipulation of `[]byte` slices.
package bytes
import "base:intrinsics"

View File

@@ -1,4 +1,4 @@
// package c just defines the basic types used by C programs.
// Defines the basic types used by `C` programs for foreign function and data structure interop.
package c
import builtin "base:builtin"

View File

@@ -1,2 +1,2 @@
// package libc declares the commonly used things in "libc" (C standard library).
// Declares the commonly used things in `libc` (`C` standard library).
package libc

View File

@@ -1,4 +1,4 @@
// package compress is a collection of utilities to aid with other compression packages.
// A collection of utilities to aid with other `compress`ion packages.
package compress
/*

View File

@@ -1,4 +1,4 @@
// package gzip implements a small GZIP unpacker as an example.
// A small `GZIP` unpacker.
package compress_gzip
/*
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.

View File

@@ -1,2 +0,0 @@
// package shoco is an implementation of the shoco short string compressor.
package compress_shoco

View File

@@ -1,4 +1,4 @@
// package shoco is an implementation of the shoco short string compressor.
// `Shoco` short string compression and decompression.
package compress_shoco
/*

View File

@@ -1,4 +1,4 @@
// package zlib implements Deflate decompression.
// `Deflate` decompression of raw and `ZLIB`-type streams.
package compress_zlib
/*
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.

View File

@@ -1,8 +1,4 @@
/*
package avl implements an AVL tree.
The implementation is non-intrusive, and non-recursive.
*/
// A non-intrusive and non-recursive implementation of `AVL` trees.
package container_avl
@(require) import "base:intrinsics"

View File

@@ -1,4 +1,4 @@
// package bit_array implements a dynamically-sized array of bits.
// A dynamically-sized array of bits.
package container_dynamic_bit_array
/*

View File

@@ -1,4 +1,4 @@
// package list implements an intrusive doubly-linked list.
// An intrusive doubly-linked list.
package container_intrusive_list
/*

View File

@@ -1,2 +0,0 @@
// package lru implements an LRU cache. It automatically removes older entries if its capacity is reached.
package container_lru

View File

@@ -1,3 +1,4 @@
// A least-recently-used (`LRU`) cache. It automatically removes older entries if its capacity is reached.
package container_lru
import "base:runtime"

View File

@@ -1,2 +0,0 @@
// package priority_queue implements a Priority Queue data structure.
package container_priority_queue

View File

@@ -1,3 +1,4 @@
// A priority queue data structure.
package container_priority_queue
import "base:builtin"

View File

@@ -1,2 +0,0 @@
// package queue implements a dynamically resizable double-ended queue/ring-buffer.
package container_queue

View File

@@ -1,3 +1,4 @@
// A dynamically resizable double-ended queue/ring-buffer.
package container_queue
import "base:builtin"

View File

@@ -1,2 +0,0 @@
// package rbtree implements a red-black tree.
package container_rbtree

View File

@@ -1,3 +1,4 @@
// A red-black tree with the same API as our AVL tree.
package container_rbtree
@(require) import "base:intrinsics"

View File

@@ -1,4 +1,4 @@
// package small_array implements a dynamic array-like interface on a stack-allocated, fixed-size array.
// A dynamic array-like interface on a stack-allocated, fixed-size array.
package container_small_array
/*

View File

@@ -1,2 +0,0 @@
// package topological_sort implements a generic O(V+E) topological sorter.
package container_topological_sort

View File

@@ -1,11 +1,7 @@
// A generic `O(V+E)` topological sorter implementation. This is the fastest known method for topological sorting.
// Odin's map type is being used to accelerate lookups.
package container_topological_sort
/*
The following is a generic O(V+E) topological sorter implementation.
This is the fastest known method for topological sorting and Odin's
map type is being used to accelerate lookups.
*/
import "base:intrinsics"
import "base:runtime"
_ :: intrinsics

View File

@@ -1,6 +1,5 @@
/*
package aead implements a generic interface to Authenticated Encryption with Associated Data algorithms.
A generic interface to Authenticated Encryption with Associated Data (`AEAD`) algorithms.
Both a one-shot and context based interface are provided, with similar
usage. If multiple messages are to be sealed/opened via the same key,

View File

@@ -1,5 +1,5 @@
/*
package aegis implements the AEGIS-128L and AEGIS-256 AEAD algorithms.
`AEGIS-128L` and `AEGIS-256` AEAD algorithms.
Where AEAD stands for Authenticated Encryption with Additional Data.

View File

@@ -1,5 +1,5 @@
/*
package aes implements the AES block cipher and some common modes.
The `AES` block cipher and some common modes.
See:
- [[ https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package blake2b implements the BLAKE2b hash algorithm.
`BLAKE2b` hash algorithm.
See:
- [[ https://datatracker.ietf.org/doc/html/rfc7693 ]]

View File

@@ -1,5 +1,5 @@
/*
package blake2s implements the BLAKE2s hash algorithm.
`BLAKE2s` hash algorithm.
See:
- [[ https://datatracker.ietf.org/doc/html/rfc7693 ]]

View File

@@ -1,5 +1,5 @@
/*
package chacha20 implements the ChaCha20 and XChaCha20 stream ciphers.
`ChaCha20` and `XChaCha20` stream ciphers.
See:
- [[ https://datatracker.ietf.org/doc/html/rfc8439 ]]

View File

@@ -1,5 +1,5 @@
/*
package chacha20poly1305 implements the CHACHA20_POLY1305 and XChaCha20_Poly1305 AEAD algorithms.
`AEAD_CHACHA20_POLY1305` and `AEAD_XChaCha20_Poly1305` algorithms.
Where AEAD stands for Authenticated Encryption with Additional Data.

View File

@@ -1,4 +1,4 @@
// package crypto implements a selection of cryptography algorithms and useful helper routines.
// A selection of cryptography algorithms and useful helper routines.
package crypto
import "base:runtime"

View File

@@ -1,5 +1,5 @@
/*
package deoxysii implements the Deoxys-II-256 Authenticated Encryption with Additional Data algorithm.
`Deoxys-II-256` Authenticated Encryption with Additional Data (`AEAD`) algorithm.
- [[ https://sites.google.com/view/deoxyscipher ]]
- [[ https://thomaspeyrin.github.io/web/assets/docs/papers/Jean-etal-JoC2021.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package ed25519 implements the Ed25519 EdDSA signature algorithm.
`Ed25519` EdDSA signature algorithm.
See:
- [[ https://datatracker.ietf.org/doc/html/rfc8032 ]]

View File

@@ -1,5 +1,5 @@
/*
package hash provides a generic interface to the supported hash algorithms.
A generic interface to the supported hash algorithms.
A high-level convenience procedure group `hash` is provided to easily
accomplish common tasks.

View File

@@ -1,5 +1,5 @@
/*
package hkdf implements the HKDF HMAC-based Extract-and-Expand Key Derivation Function.
`HKDF` HMAC-based Extract-and-Expand Key Derivation Function.
See: [[ https://www.rfc-editor.org/rfc/rfc5869 ]]
*/

View File

@@ -1,5 +1,5 @@
/*
package hmac implements the HMAC MAC algorithm.
`HMAC` message authentication code (`MAC`) algorithm.
See:
- [[ https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.198-1.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package kmac implements the KMAC MAC algorithm.
`KMAC` message authentication code (`MAC`) algorithm.
See:
- [[ https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-185.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package keccak implements the Keccak hash algorithm family.
`Keccak` hash algorithm family.
During the SHA-3 standardization process, the padding scheme was changed
thus Keccac and SHA-3 produce different outputs. Most users should use

View File

@@ -1,5 +1,5 @@
/*
package md5 implements the MD5 hash algorithm.
`MD5` hash algorithm.
WARNING: The MD5 algorithm is known to be insecure and should only be
used for interoperating with legacy applications.

View File

@@ -1,5 +1,5 @@
/*
package sha1 implements the SHA1 hash algorithm.
`SHA1` hash algorithm.
WARNING: The SHA1 algorithm is known to be insecure and should only be
used for interoperating with legacy applications.

View File

@@ -1,5 +1,5 @@
/*
package pbkdf2 implements the PBKDF2 password-based key derivation function.
`PBKDF2` password-based key derivation function.
See: [[ https://www.rfc-editor.org/rfc/rfc2898 ]]
*/

View File

@@ -1,5 +1,5 @@
/*
package poly1305 implements the Poly1305 one-time MAC algorithm.
`Poly1305` one-time MAC algorithm.
See:
- [[ https://datatracker.ietf.org/doc/html/rfc8439 ]]

View File

@@ -1,5 +1,5 @@
/*
package ristretto255 implement the ristretto255 prime-order group.
Ristretto255 prime-order group.
See:
- [[ https://www.rfc-editor.org/rfc/rfc9496 ]]

View File

@@ -1,5 +1,5 @@
/*
package sha2 implements the SHA2 hash algorithm family.
`SHA2` hash algorithm family.
See:
- [[ https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package sha3 implements the SHA3 hash algorithm family.
`SHA3` hash algorithm family.
The SHAKE XOF can be found in crypto/shake. While discouraged if the
pre-standardization Keccak algorithm is required, it can be found in

View File

@@ -1,5 +1,5 @@
/*
package shake implements the SHAKE and cSHAKE XOF algorithm families.
`SHAKE` and `cSHAKE` XOF algorithm families.
The SHA3 hash algorithm can be found in the crypto/sha3.

View File

@@ -1,5 +1,5 @@
/*
package siphash Implements the SipHash hashing algorithm.
`SipHash` hashing algorithm.
Use the specific procedures for a certain setup. The generic procedures will default to Siphash 2-4.

View File

@@ -1,5 +1,5 @@
/*
package sm3 implements the SM3 hash algorithm.
`SM3` hash algorithm.
See:
- [[ https://datatracker.ietf.org/doc/html/draft-sca-cfrg-sm3-02 ]]

View File

@@ -1,5 +1,5 @@
/*
package tuplehash implements the TupleHash and TupleHashXOF algorithms.
`TupleHash` and `TupleHashXOF` algorithms.
See:
- [[ https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-185.pdf ]]

View File

@@ -1,5 +1,5 @@
/*
package x25519 implements the X25519 (aka curve25519) Elliptic-Curve Diffie-Hellman key exchange protocol.
`X25519` (aka `curve25519`) Elliptic-Curve Diffie-Hellman key exchange protocol.
See:
- [[ https://www.rfc-editor.org/rfc/rfc7748 ]]

View File

@@ -1,5 +1,5 @@
/*
package x448 implements the X448 (aka curve448) Elliptic-Curve Diffie-Hellman key exchange protocol.
`X448` (aka `curve448`) Elliptic-Curve Diffie-Hellman key exchange protocol.
See:
- [[ https://www.rfc-editor.org/rfc/rfc7748 ]]

View File

@@ -1,2 +1,2 @@
// package pe implements a reader for the PE executable format for debug purposes.
// A reader for the Windows `PE` executable format for debug purposes.
package debug_pe

View File

@@ -1,4 +1,4 @@
// package debug implements a stack trace library. Only works when debug symbols are enabled `-debug`.
// Stack trace library. Only works when debug symbols are enabled using `-debug`.
package debug_trace
/*
Example:

View File

@@ -1,5 +1,5 @@
/*
package dynlib implements loading of shared libraries/DLLs and their symbols.
Cross-platform loading of shared libraries/DLLs and their symbols.
The behaviour of dynamically loaded libraries is specific to the target platform of the program.
For in depth detail on the underlying behaviour please refer to your target platform's documentation.

View File

@@ -1,3 +1,4 @@
// `Base32` encoding and decoding, as specified in `RFC 4648`.
package encoding_base32
// Base32 encoding/decoding implementation as specified in RFC 4648.

View File

@@ -1,2 +0,0 @@
// package base32 implements Base32 encoding and decoding, as specified in RFC 4648.
package encoding_base32

View File

@@ -1,3 +1,4 @@
// `Base64` encoding and decoding.
package encoding_base64
import "core:io"

View File

@@ -1,2 +0,0 @@
// package base64 implements Base64 encoding and decoding.
package encoding_base64

View File

@@ -1,4 +1,4 @@
// package cbor implements encoding and decoding types from/into RCF 8949 compatible CBOR binary.
// Encoding and decoding types from/into `RCF 8949` compatible `CBOR` binary.
package encoding_cbor
/*
Package cbor encodes, decodes, marshals and unmarshals types from/into RCF 8949 compatible CBOR binary.

View File

@@ -1,5 +1,5 @@
/*
package csv reads and writes comma-separated values (CSV) files.
Reader and writer for comma-separated values (`CSV`) files, per `RFC 4180`.
This package supports the format described in [[ RFC 4180; https://tools.ietf.org/html/rfc4180.html ]]
Example:

View File

@@ -1,5 +1,5 @@
/*
Package endian implements a simple translation between bytes and numbers with specific endian encodings.
A simple translation between bytes and numbers with specific endian encodings.
Example:
buf: [100]u8

View File

@@ -1,5 +1,5 @@
/*
package entity implements a unicode `&entity;` encoder and decoder.
Encode and decode `rune`s to/from a Unicode `&entity;`.
This code has several procedures to map unicode runes to/from different textual encodings.
- SGML/XML/HTML entity

View File

@@ -1,4 +1,4 @@
// package hex implements encoding and decoding of hex-encoded binary, e.g. `0x23` -> `#`.
// Encoding and decoding of hex-encoded binary, e.g. `0x23` -> `#`.
package encoding_hex
import "core:io"

View File

@@ -1,5 +1,5 @@
/*
package hxa implements Eskil Steenberg's HxA 3D asset interchange format.
Eskil Steenberg's `HxA` 3D asset interchange format.
HxA is a interchangeable graphics asset format.
Designed by Eskil Steenberg. @quelsolaar / eskil 'at' obsession 'dot' se / www.quelsolaar.com

View File

@@ -1,4 +1,4 @@
// package ini implements a variant of the `.ini` file format with `key = value` entries in `[sections]`.
// Reader and writer for a variant of the `.ini` file format with `key = value` entries in `[sections]`.
package encoding_ini
import "base:runtime"

View File

@@ -1,2 +0,0 @@
// package json implements encoding and decoding JSON in strict JSON, JSON5 and BitSquid variants.
package encoding_json

View File

@@ -1,3 +1,4 @@
// Encoding and decoding JSON in strict `JSON`, `JSON5` and `BitSquid` variants.
package encoding_json
import "core:strings"

View File

@@ -1,5 +1,5 @@
/*
package uuid implements Universally Unique Identifiers according to RFC 4122, with additions from RFC 9562.
Universally Unique Identifiers (`UUID`) according to `RFC 4122`, with additions from `RFC 9562`.
The UUIDs are textually represented and read in the following string format:
`00000000-0000-v000-V000-000000000000`

View File

@@ -1,7 +1,6 @@
/*
package uuid/legacy implements versions 3 and 5 of UUID generation, both of
which are using hashing algorithms (MD5 and SHA1, respectively) that are known
these days to no longer be secure.
Versions 3 and 5 of `UUID` generation, both of which use legacy (`MD5` + `SHA1`) hashes.
Those are known these days to no longer be secure.
*/
package uuid_legacy

View File

@@ -1,5 +1,5 @@
/*
package varint implements LEB128 variable integer encoding and decoding, as used by DWARF & DEX files.
`LEB128` variable integer encoding and decoding, as used by `DWARF` & `DEX` files.
Author of this Odin package: Jeroen van Rijn

View File

@@ -1,5 +1,5 @@
/*
package xml implements a parser for a useful subset of the XML specification.
A parser for a useful subset of the `XML` specification.
A from-scratch XML implementation, loosely modelled on the [[ spec; https://www.w3.org/TR/2006/REC-xml11-20060816 ]].

View File

@@ -1,5 +1,5 @@
/*
package flags implements a command-line argument parser.
Command-line argument parser.
It works by using Odin's run-time type information to determine where and how
to store data on a struct provided by the program. Type conversion is handled

View File

@@ -1,5 +1,5 @@
/*
package fmt implements formatted I/O with procedures similar to C's printf and Python's format.
Formatted `I/O` with procedures similar to `C`'s printf and `Python`'s format.
The format 'verbs' are derived from C's but simpler.
Printing

View File

@@ -1,2 +1,2 @@
// package hash implements crc32, crc64, adler32, djb, fnv, jenkins, murmur and other hashes.
// `crc32`, `crc64`, `adler32`, `djb`, `fnv`, `jenkins`, `murmur` and other hashes.
package hash

View File

@@ -1,4 +1,4 @@
// package xxhash implements Yann Collet's xxhash.
// Yann Collet's `xxhash`.
//
// [[ xxhash Fast Hash Algorithm; https://cyan4973.github.io/xxHash/ ]]
package xxhash

View File

@@ -1,4 +1,4 @@
// package bmp implements a Microsoft BMP image reader and writer.
// Reader and writer for Microsoft `BMP` images.
package core_image_bmp
import "core:image"

View File

@@ -1,2 +1,2 @@
// package image implements a general 2D image library to be used with other image related packages.
// General 2D image types and procedures to be used with other image related packages.
package image

View File

@@ -1,4 +1,4 @@
// package jpeg implements a reader for baseline JPEG images.
// Reader for baseline `JPEG` images.
package jpeg
import "core:bytes"

View File

@@ -1,5 +1,5 @@
/*
package netpbm implements readers and writers for PBM, PGM, PPM, PAM and PFM images.
Readers and writers for `PBM`, `PGM`, `PPM`, `PAM` and `PFM` images.
Formats:

View File

@@ -1,5 +1,5 @@
/*
package png implements a PNG image reader.
Reader for `PNG` images.
The PNG specification is at [[ https://www.w3.org/TR/PNG/ ]].

View File

@@ -1,4 +1,4 @@
// package qoi implements a QOI image reader.
// Reader and writer for `QOI` images.
//
// The QOI specification is at [[ https://qoiformat.org ]].
package qoi

View File

@@ -1,4 +1,4 @@
// package tga implements a TGA image reader and writer for 8-bit RGB and RGBA images.
// Reader and writer for 8-bit RGB and RGBA `TGA` images.
package tga
/*

View File

@@ -1,4 +1,4 @@
// package io provides basic interfaces for generic data stream primitives.
// Basic interfaces for generic data stream primitives.
// The purpose of this package is wrap existing data structures and their
// operations into an abstracted stream interface.
package io

View File

@@ -1,4 +1,4 @@
// package log implements the context.Logger interface.
// Implementations of the `context.Logger` interface.
package log
import "base:runtime"

View File

@@ -1,7 +0,0 @@
// package big implements arbitrary precision integers and rationals.
package math_big
/*
For the theoretical underpinnings, see Knuth's The Art of Computer Programming, Volume 2, section 4.3.
The code started out as an idiomatic source port of libTomMath, which is in the public domain, with thanks.
*/

View File

@@ -1,3 +1,4 @@
// Arbitrary precision integers and rationals.
package math_big
/*

View File

@@ -1,4 +1,4 @@
// package bits implements bit-level operations, including the ability to set or toggle individual bits in an integer.
// Bit-level operations, including the ability to set or toggle individual bits in an integer.
package math_bits
import "base:intrinsics"

View File

@@ -1,4 +1,4 @@
// package cmplx implements trigonometric and other mathematic operations on complex numbers.
// Trigonometric and other mathematic operations on complex numbers.
package math_cmplx
import "base:builtin"

View File

@@ -1,4 +1,4 @@
// package ease implements easing procedures and flux easing used for animations.
// Easing procedures and flux easing used for animations.
package ease
import "core:math"

View File

@@ -1,4 +1,4 @@
// package fixed implements fixed-point rational numbers and conversion to/from `f64`.
// Fixed-point rational numbers and conversion to/from `f64`.
package math_fixed
import "core:math"

View File

@@ -1,2 +1,2 @@
// package linalg implements linear algebra procedures useful for 3D spatial transformations.
// Linear algebra procedures useful for 3D spatial transformations.
package linalg

View File

@@ -1,4 +1,4 @@
// package glsl implements a GLSL-like mathematics library plus numerous other utility procedures.
// `GLSL`-like mathematics library plus numerous other utility procedures.
package math_linalg_glsl
import "base:builtin"

View File

@@ -1,4 +1,4 @@
// package hlsl implements a HLSL-like mathematics library plus numerous other utility procedures.
// `HLSL`-like mathematics library plus numerous other utility procedures.
package math_linalg_hlsl
import "base:builtin"

View File

@@ -1,4 +1,4 @@
// package math implements typical trignometric and other basic math routines.
// Typical trignometric and other basic math routines.
package math
import "base:intrinsics"

View File

@@ -1,5 +1,5 @@
/*
package noise implements the OpenSimplex2 noise algorithm.
`OpenSimplex2` noise algorithm.
Ported from [[ https://github.com/KdotJPG/OpenSimplex2 }].
Copyright 2022 Yuki2 [[ https://github.com/NoahR02 ]]

View File

@@ -1,4 +1,4 @@
// package rand implements various random number generators.
// Random number generators.
package rand
import "base:intrinsics"

View File

@@ -1,5 +1,5 @@
/*
package mem implements various allocators and provides helpers for dealing with memory, pointers and slices.
Various allocators and provides helpers for dealing with memory, pointers and slices.
The documentation below describes basic concepts, applicable to the `mem`
package.

View File

@@ -1,4 +1,4 @@
// package tlsf implements a Two Level Segregated Fit memory allocator.
// Two Level Segregated Fit memory allocator.
package mem_tlsf
/*

View File

@@ -1,5 +1,5 @@
/*
package virtual implements a platform agnostic way to reserve/commit/decommit virtual memory.
A platform agnostic way to reserve/commit/decommit virtual memory.
virtual.Arena usage

View File

@@ -1,5 +1,5 @@
/*
package net implements cross-platform Berkeley Sockets, DNS resolution and associated procedures.
Cross-platform Berkeley Sockets, `DNS` resolution and associated procedures.
Features:
- Supports Windows, Linux and OSX.

Some files were not shown because too many files have changed in this diff Show More