LAWSTables.bgrt_round_trip: law of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/LAWS_tables.bend as LAWSTables Lines 76-96 of bend-osdev-acpi@0.1.1.0/LAWS_tables.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.1.0/LAWS_tables.bend&start_line=76&end_line=96 import Base import bend-osdev-word64@0.1.1.0/word64.bend as W import bend-osdev-bytes@0.1.1.0/bytes.bend as B import bend-osdev-acpi@0.1.1.0/error.bend as E import bend-osdev-acpi@0.1.1.0/header.bend as H import bend-osdev-acpi@0.1.1.0/bgrt.bend as Bg # The BGRT table's body, read back with any header h law bgrt_round_trip: for +h: H.AcpiHeader for +sig4: {B.Octets.len(H.AcpiHeader.signature(h)) == 4n : Nat} for +oem6: {B.Octets.len(H.AcpiHeader.oem_id(h)) == 6n : Nat} for +tid8: {B.Octets.len(H.AcpiHeader.oem_table_id(h)) == 8n : Nat} for +cid4: {B.Octets.len(H.AcpiHeader.creator_id(h)) == 4n : Nat} for +h0: H.AcpiHeader for +oem6b: {B.Octets.len(H.AcpiHeader.oem_id(h0)) == 6n : Nat} for +tid8b: {B.Octets.len(H.AcpiHeader.oem_table_id(h0)) == 8n : Nat} for +cid4b: {B.Octets.len(H.AcpiHeader.creator_id(h0)) == 4n : Nat} for +v: U32 for +st: U32 for +it: U32 for +a: W.W64 for +x: U32 for +y: U32 for +v16: {B.low16(v) == v : U32} for +st8: {B.byte(st) == st : U32} for +it8: {B.byte(it) == it : U32} {Bg.AcpiBgrt.of_sdt(H.AcpiSdt{h, B.Octets.drop(36n, Bg.AcpiBgrt.build(Bg.AcpiBgrt{h0, v, st, it, a, x, y}))}) == Done{Bg.AcpiBgrt{h, v, st, it, a, x, y}} : Result<&2, &2, E.AcpiError, Bg.AcpiBgrt>} Uses (31): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF_tables.bend&name=tb.bg https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF_tables.bend&name=tb.sdt_body https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/bgrt.bend&name=AcpiBgrt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/bgrt.bend&name=AcpiBgrt.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/bgrt.bend&name=AcpiBgrt.of_sdt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/error.bend&name=AcpiError https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiHeader https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiHeader.creator_id https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiHeader.oem_id https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiHeader.oem_table_id https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiHeader.signature https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiSdt https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.concat https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.drop https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.le16 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.le32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.le64 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.len https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.of_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.of_string https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=byte https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=low16 https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/LAWS.bend&name=parts_of https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/word64.bend&name=W64 https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/word64.bend&name=W64.from_parts https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/word64.bend&name=W64.hi https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/word64.bend&name=W64.lo