package odin-algebra:algebraic_structures/integral_domain

⌘K
Ctrl+K
or
/

    Overview

    Interface for a Integral Domain cancel - called to perform a perfect division if left := a * right after cancel is called ans == a. this function is only called when the cancelation definitely works. this functions can be called where 2 or 3 input parameters point to the same piece of memory.

    Index

    Types (1)
    Variables (0)

    This section is empty.

    Procedure Groups (0)

    This section is empty.

    Types

    IntegralDomain ¶

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

    Interface for a Integral Domain: cancel - called to perform a perfect division if left := a * right after cancel is called ans == a. this function is only called when the cancelation definitely works. this functions can be called where 2 or 3 input parameters point to the same piece of memory.

    Related Procedures With Parameters

    Constants

    INTEGRAL_DOMAIN_F32 ¶

    INTEGRAL_DOMAIN_F32: IntegralDomain($T=f32) : IntegralDomain(f32){ring.RING_F32, cancel_f32}

    INTEGRAL_DOMAIN_I32 ¶

    INTEGRAL_DOMAIN_I32: IntegralDomain($T=i32) : IntegralDomain(i32){ring.RING_I32, cancel_i32}

    INTEGRAL_DOMAIN_I64 ¶

    INTEGRAL_DOMAIN_I64: IntegralDomain($T=i64) : IntegralDomain(i64){ring.RING_I64, cancel_i64}

    INTEGRAL_DOMAIN_U32 ¶

    INTEGRAL_DOMAIN_U32: IntegralDomain($T=u32) : IntegralDomain(u32){ring.RING_U32, cancel_u32}

    Variables

    This section is empty.

    Procedures

    cancel_f32 ¶

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

    cancel_i32 ¶

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

    cancel_i64 ¶

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

    cancel_u32 ¶

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

    test_integral_domain_axioms ¶

    test_integral_domain_axioms :: proc(t: ^testing.T, generator: prop_test.Generator($T), id: IntegralDomain($T)) {…}
     

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

    test_memory_safety_axioms ¶

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

    called to run prop based tests to see if a integral domain implementation is memory safe

    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.502764705 +0000 UTC