package odin-algebra:algebraic_structures/base

⌘K
Ctrl+K
or
/

    Overview

    Base interface which everything builds upon: set - called to perform the operation ans = right delete - called to free the memory used by a value of type T eq - called to perform the operation left == right print - called to write a printable version of a value of type T to a string builder set can be called where ans has not yet been "initialized"

    Index

    Types (1)
    Variables (0)

    This section is empty.

    Procedure Groups (0)

    This section is empty.

    Types

    Base ¶

    Base :: struct($T: typeid) {
    	… // See source for fields
    }
     

    Interface for Base: set - called to perform the operation ans = right delete - called to free the memory used by a value of type T eq - called to perform the operation left == right print - called to write a printable version of a value of type T to a string builder set can be called where ans has not yet been "initialized"

    Related Procedures With Parameters

    Constants

    BASE_F32 ¶

    BASE_F32: Base($T=f32) : Base(f32){set_f32, delete_f32, eq_f32, print_f32}

    BASE_I32 ¶

    BASE_I32: Base($T=i32) : Base(i32){set_i32, delete_i32, eq_i32, print_i32}

    BASE_I64 ¶

    BASE_I64: Base($T=i64) : Base(i64){set_i64, delete_i64, eq_i64, print_i64}

    BASE_U32 ¶

    BASE_U32: Base($T=u32) : Base(u32){set_u32, delete_u32, eq_u32, print_u32}

    Variables

    This section is empty.

    Procedures

    delete_f32 ¶

    delete_f32 :: proc(l: f32) {…}

    delete_i32 ¶

    delete_i32 :: proc(l: i32) {…}

    delete_i64 ¶

    delete_i64 :: proc(l: i64) {…}

    delete_u32 ¶

    delete_u32 :: proc(l: u32) {…}

    eq_f32 ¶

    eq_f32 :: proc(l: f32, r: f32) -> bool {…}

    eq_i32 ¶

    eq_i32 :: proc(l: i32, r: i32) -> bool {…}

    eq_i64 ¶

    eq_i64 :: proc(l: i64, r: i64) -> bool {…}

    eq_u32 ¶

    eq_u32 :: proc(l: u32, r: u32) -> bool {…}

    log_base_object ¶

    log_base_object :: proc(b: Base($T), prefix: untyped string, t: $T) {…}
    print_f32 :: proc(builder: ^strings.Builder, l: f32) {…}
    print_i32 :: proc(builder: ^strings.Builder, l: i32) {…}
    print_i64 :: proc(builder: ^strings.Builder, l: i64) {…}
    print_u32 :: proc(builder: ^strings.Builder, l: u32) {…}

    set_f32 ¶

    set_f32 :: proc(l: ^f32, r: f32) {…}

    set_i32 ¶

    set_i32 :: proc(l: ^i32, r: i32) {…}

    set_i64 ¶

    set_i64 :: proc(l: ^i64, r: i64) {…}

    set_u32 ¶

    set_u32 :: proc(l: ^u32, r: u32) {…}

    test_base_axioms ¶

    test_base_axioms :: proc(t: ^testing.T, generator: prop_test.Generator($T), base: Base($T)) {…}
     

    called to run prop based tests to see if a ring implementation violates the base axioms

    test_memory_safety_axioms ¶

    test_memory_safety_axioms :: proc(t: ^testing.T, generator: prop_test.Generator($T), base: Base($T)) {…}

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2025-04 (vendor "odin") Linux_amd64 @ 2025-05-13 09:15:55.501676416 +0000 UTC