Data update

This commit is contained in:
Ingy döt Net 2026-02-01 16:33:20 -08:00
parent 5150844a7d
commit 4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions

View file

@ -1,23 +0,0 @@
type Four_Bits is array (1..4) of Boolean;
procedure Half_Adder (Input_1, Input_2 : Boolean; Output, Carry : out Boolean) is
begin
Output := Input_1 xor Input_2;
Carry := Input_1 and Input_2;
end Half_Adder;
procedure Full_Adder (Input_1, Input_2 : Boolean; Output : out Boolean; Carry : in out Boolean) is
T_1, T_2, T_3 : Boolean;
begin
Half_Adder (Input_1, Input_2, T_1, T_2);
Half_Adder (Carry, T_1, Output, T_3);
Carry := T_2 or T_3;
end Full_Adder;
procedure Four_Bits_Adder (A, B : Four_Bits; C : out Four_Bits; Carry : in out Boolean) is
begin
Full_Adder (A (4), B (4), C (4), Carry);
Full_Adder (A (3), B (3), C (3), Carry);
Full_Adder (A (2), B (2), C (2), Carry);
Full_Adder (A (1), B (1), C (1), Carry);
end Four_Bits_Adder;

View file

@ -1,52 +0,0 @@
with Ada.Text_IO; use Ada.Text_IO;
procedure Test_4_Bit_Adder is
-- The definitions from above
function Image (Bit : Boolean) return Character is
begin
if Bit then
return '1';
else
return '0';
end if;
end Image;
function Image (X : Four_Bits) return String is
begin
return Image (X (1)) & Image (X (2)) & Image (X (3)) & Image (X (4));
end Image;
A, B, C : Four_Bits; Carry : Boolean;
begin
for I_1 in Boolean'Range loop
for I_2 in Boolean'Range loop
for I_3 in Boolean'Range loop
for I_4 in Boolean'Range loop
for J_1 in Boolean'Range loop
for J_2 in Boolean'Range loop
for J_3 in Boolean'Range loop
for J_4 in Boolean'Range loop
A := (I_1, I_2, I_3, I_4);
B := (J_1, J_2, J_3, J_4);
Carry := False;
Four_Bits_Adder (A, B, C, Carry);
Put_Line
( Image (A)
& " + "
& Image (B)
& " = "
& Image (C)
& " "
& Image (Carry)
);
end loop;
end loop;
end loop;
end loop;
end loop;
end loop;
end loop;
end loop;
end Test_4_Bit_Adder;