langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
11
Task/CRC-32/NetRexx/crc-32.netrexx
Normal file
11
Task/CRC-32/NetRexx/crc-32.netrexx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref symbols binary
|
||||
|
||||
import java.util.zip.CRC32
|
||||
|
||||
toBeEncoded = String("The quick brown fox jumps over the lazy dog")
|
||||
myCRC = CRC32()
|
||||
myCRC.update(toBeEncoded.getBytes())
|
||||
say "The CRC-32 value is :" Long.toHexString(myCRC.getValue()) "!"
|
||||
|
||||
return
|
||||
4
Task/CRC-32/OCaml/crc-32.ocaml
Normal file
4
Task/CRC-32/OCaml/crc-32.ocaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
let () =
|
||||
let s = "The quick brown fox jumps over the lazy dog" in
|
||||
let crc = Zlib.update_crc 0l s 0 (String.length s) in
|
||||
Printf.printf "crc: %lX\n" crc
|
||||
6
Task/CRC-32/Perl-6/crc-32-1.pl6
Normal file
6
Task/CRC-32/Perl-6/crc-32-1.pl6
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
use NativeCall;
|
||||
|
||||
sub crc32(int32 $crc, Str $buf, int32 $len --> int32) is native('/usr/lib/libz.dylib') { * }
|
||||
|
||||
my $buf = 'The quick brown fox jumps over the lazy dog';
|
||||
say crc32(0, $buf, $buf.chars).fmt('%08x');
|
||||
20
Task/CRC-32/Perl-6/crc-32-2.pl6
Normal file
20
Task/CRC-32/Perl-6/crc-32-2.pl6
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
sub crc(
|
||||
Buf $buf,
|
||||
# polynomial including leading term, default: ISO 3309/PNG/gzip
|
||||
:@poly = (1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1),
|
||||
:$n = @poly.end, # degree of polynomial
|
||||
:@init = 1 xx $n, # initial XOR bits
|
||||
:@fini = 1 xx $n, # final XOR bits
|
||||
:@bitorder = 0..7, # default: eat bytes LSB-first
|
||||
:@crcorder = 0..$n-1, # default: MSB of checksum is coefficient of x⁰
|
||||
) {
|
||||
my @bit = ($buf.list X+& (1 X+< @bitorder))».so».Int, 0 xx $n;
|
||||
|
||||
@bit[0 .. $n-1] «+^=» @init;
|
||||
@bit[$_ ..$_+$n] «+^=» @poly if @bit[$_] for 0..@bit.end-$n;
|
||||
@bit[*-$n.. *-1] «+^=» @fini;
|
||||
|
||||
:2[@bit[@bit.end X- @crcorder]];
|
||||
}
|
||||
|
||||
say crc('The quick brown fox jumps over the lazy dog'.encode('ascii')).base(16);
|
||||
19
Task/CRC-32/XPL0/crc-32.xpl0
Normal file
19
Task/CRC-32/XPL0/crc-32.xpl0
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
code HexOut=27; \intrinsic routine
|
||||
string 0; \use zero-terminated strings
|
||||
|
||||
func CRC32(Str, Len); \Return CRC-32 for given string
|
||||
char Str; int Len; \byte array, number of bytes
|
||||
int I, J, R, C;
|
||||
[R:= -1; \initialize with all 1's
|
||||
for J:= 0 to Len-1 do
|
||||
[C:= Str(J);
|
||||
for I:= 0 to 8-1 do \for each bit in byte...
|
||||
[if (R xor C) and 1 then R:= R>>1 xor $EDB88320
|
||||
else R:= R>>1;
|
||||
C:= C>>1;
|
||||
];
|
||||
];
|
||||
return not R;
|
||||
];
|
||||
|
||||
HexOut(0, CRC32("The quick brown fox jumps over the lazy dog", 43))
|
||||
Loading…
Add table
Add a link
Reference in a new issue