Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,23 +0,0 @@
|
|||
with Ada.Text_IO, Interfaces;
|
||||
use Ada.Text_IO, Interfaces;
|
||||
|
||||
procedure Bitwise is
|
||||
subtype Byte is Unsigned_8;
|
||||
package Byte_IO is new Ada.Text_Io.Modular_IO (Byte);
|
||||
|
||||
A : constant Byte := 2#00011110#;
|
||||
B : constant Byte := 2#11110100#;
|
||||
X : constant Byte := 128;
|
||||
N : constant Natural := 1;
|
||||
begin
|
||||
Put ("A and B = "); Byte_IO.Put (Item => A and B, Base => 2); New_Line;
|
||||
Put ("A or B = "); Byte_IO.Put (Item => A or B, Base => 2); New_Line;
|
||||
Put ("A xor B = "); Byte_IO.Put (Item => A xor B, Base => 2); New_Line;
|
||||
Put ("not A = "); Byte_IO.Put (Item => not A, Base => 2); New_Line;
|
||||
New_Line (2);
|
||||
Put_Line (Unsigned_8'Image (Shift_Left (X, N)));
|
||||
Put_Line (Unsigned_8'Image (Shift_Right (X, N)));
|
||||
Put_Line (Unsigned_8'Image (Shift_Right_Arithmetic (X, N)));
|
||||
Put_Line (Unsigned_8'Image (Rotate_Left (X, N)));
|
||||
Put_Line (Unsigned_8'Image (Rotate_Right (X, N)));
|
||||
end Bitwise;
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
bitwise(255, 5)
|
||||
Func bitwise($a, $b)
|
||||
MsgBox(1, '', _
|
||||
$a & " AND " & $b & ": " & BitAND($a, $b) & @CRLF & _
|
||||
$a & " OR " & $b & ": " & BitOR($a, $b) & @CRLF & _
|
||||
$a & " XOR " & $b & ": " & BitXOR($a, $b) & @CRLF & _
|
||||
"NOT " & $a & ": " & BitNOT($a) & @CRLF & _
|
||||
$a & " SHL " & $b & ": " & BitShift($a, $b * -1) & @CRLF & _
|
||||
$a & " SHR " & $b & ": " & BitShift($a, $b) & @CRLF & _
|
||||
$a & " ROL " & $b & ": " & BitRotate($a, $b) & @CRLF & _
|
||||
$a & " ROR " & $b & ": " & BitRotate($a, $b * -1) & @CRLF )
|
||||
EndFunc
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. bitwise-ops.
|
||||
|
||||
DATA DIVISION.
|
||||
LOCAL-STORAGE SECTION.
|
||||
01 a PIC 1(32) USAGE BIT.
|
||||
01 b PIC 1(32) USAGE BIT.
|
||||
01 result PIC 1(32) USAGE BIT.
|
||||
01 result-disp REDEFINES result
|
||||
PIC S9(9) USAGE COMPUTATIONAL.
|
||||
LINKAGE SECTION.
|
||||
01 a-int USAGE BINARY-LONG.
|
||||
01 b-int USAGE BINARY-LONG.
|
||||
|
||||
PROCEDURE DIVISION USING a-int, b-int.
|
||||
MOVE FUNCTION BOOLEAN-OF-INTEGER(a-int, 32) TO a
|
||||
MOVE FUNCTION BOOLEAN-OF-INTEGER(b-int, 32) TO b
|
||||
|
||||
COMPUTE result = a B-AND b
|
||||
DISPLAY "a and b is " result-disp
|
||||
|
||||
COMPUTE result = a B-OR b
|
||||
DISPLAY "a or b is " result-disp
|
||||
|
||||
COMPUTE result = B-NOT a
|
||||
DISPLAY "Not a is " result-disp
|
||||
|
||||
COMPUTE result = a B-XOR b
|
||||
DISPLAY "a exclusive-or b is " result-disp
|
||||
|
||||
*> More complex operations can be constructed from these.
|
||||
|
||||
COMPUTE result = B-NOT (a B-XOR b)
|
||||
DISPLAY "Logical equivalence of a and b is " result-disp
|
||||
|
||||
COMPUTE result = (B-NOT a) B-AND b
|
||||
DISPLAY "Logical implication of a and b is " result-disp
|
||||
|
||||
*> Shift and rotation operators were only added in COBOL 2023.
|
||||
|
||||
COMPUTE result = a B-SHIFT-L b
|
||||
DISPLAY "a shifted left by b is " result-disp
|
||||
|
||||
COMPUTE result = b B-SHIFT-R a
|
||||
DISPLAY "b shifted right by a is " result-disp
|
||||
|
||||
COMPUTE result = a B-SHIFT-LC b
|
||||
DISPLAY "a rotated left by b is " result-disp
|
||||
|
||||
COMPUTE result = b B-SHIFT-RC a
|
||||
DISPLAY "b rotated right by a is " result-disp
|
||||
|
||||
GOBACK.
|
||||
|
||||
END PROGRAM bitwise-ops.
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. mf-bitwise-ops.
|
||||
|
||||
DATA DIVISION.
|
||||
LOCAL-STORAGE SECTION.
|
||||
01 result USAGE BINARY-LONG.
|
||||
78 arg-len VALUE LENGTH OF result.
|
||||
|
||||
LINKAGE SECTION.
|
||||
01 a USAGE BINARY-LONG.
|
||||
01 b USAGE BINARY-LONG.
|
||||
|
||||
PROCEDURE DIVISION USING a, b.
|
||||
main-line.
|
||||
MOVE b TO result
|
||||
CALL "CBL_AND" USING a, result, VALUE arg-len
|
||||
DISPLAY "a and b is " result
|
||||
|
||||
MOVE b TO result
|
||||
CALL "CBL_OR" USING a, result, VALUE arg-len
|
||||
DISPLAY "a or b is " result
|
||||
|
||||
MOVE a TO result
|
||||
CALL "CBL_NOT" USING result, VALUE arg-len
|
||||
DISPLAY "Not a is " result
|
||||
|
||||
MOVE b TO result
|
||||
CALL "CBL_XOR" USING a, result, VALUE arg-len
|
||||
DISPLAY "a exclusive-or b is " result
|
||||
|
||||
MOVE b TO result
|
||||
CALL "CBL_EQ" USING a, result, VALUE arg-len
|
||||
DISPLAY "Logical equivalence of a and b is " result
|
||||
|
||||
MOVE b TO result
|
||||
CALL "CBL_IMP" USING a, result, VALUE arg-len
|
||||
DISPLAY "Logical implication of a and b is " result
|
||||
|
||||
GOBACK.
|
||||
|
||||
END PROGRAM mf-bitwise-ops.
|
||||
|
|
@ -13,7 +13,7 @@ extension testOp
|
|||
}
|
||||
}
|
||||
|
||||
public program()
|
||||
public Program()
|
||||
{
|
||||
Console.loadLineTo(new Integer()).bitwiseTest(Console.loadLineTo(new Integer()))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
$X -band $Y
|
||||
$X -bor $Y
|
||||
$X -bxor $Y
|
||||
-bnot $X
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
$X -shl $Y
|
||||
# Arithmetic right shift
|
||||
$X -shr $Y
|
||||
|
||||
# Requires quite a stretch of the imagination to call this "native" support of right rotate, but it works
|
||||
[System.Security.Cryptography.SHA256Managed].GetMethod('RotateRight', 'NonPublic, Static', $null, @([UInt32], [Int32]), $null).Invoke($null, @([uint32]$X, $Y))
|
||||
Loading…
Add table
Add a link
Reference in a new issue