first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
const {randomU32} = require('../randomU32');
test('works', () => {
for (let i = 0; i < 1000; i++) {
const min = Math.round(Math.random() * 0xFFFFFF);
const max = min + Math.round(Math.random() * 0xFFFFFF);
const num = randomU32(min, max);
expect(num >= min && num <= max).toBe(true);
}
});
+1
View File
@@ -0,0 +1 @@
test('...', () => {});
+27
View File
@@ -0,0 +1,27 @@
const fs = require('fs');
const fd = fs.openSync(__dirname + '/maps.js', 'w+');
const map1 = {};
for (var i = 0; i < 36; i++) {
map1[i] = i.toString(36);
}
fs.writeSync(fd, 'exports.map1 = JSON.parse(' + JSON.stringify(JSON.stringify(map1)) + ');\n\n');
const map2 = {};
for (var i = 0; i < 36; i++) {
for (var j = 0; j < 36; j++) {
map2[i * 36 + j] = i.toString(36) + j.toString(36);
}
}
fs.writeSync(fd, 'exports.map2 = JSON.parse(' + JSON.stringify(JSON.stringify(map2)) + ');\n\n');
const map3 = {};
for (var i = 0; i < 36; i++) {
for (var j = 0; j < 36; j++) {
for (var k = 0; k < 36; k++) {
map3[(i * 36 * 36) + (j * 36) + k] = i.toString(36) + j.toString(36) + k.toString(36);
}
}
}
fs.writeSync(fd, 'exports.map3 = JSON.parse(' + JSON.stringify(JSON.stringify(map3)) + ');\n\n');
+1
View File
@@ -0,0 +1 @@
export const hyperid: () => string;
+22
View File
@@ -0,0 +1,22 @@
const {str} = require("./str");
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
function hyperid() {
var prefix = str(22, alphabet) + '/';
Number(prefix);
var count = 0;
return function instance() {
return prefix + count++;
}
}
exports.hyperid = hyperid;
// const instance = hyperid();
// console.log(instance());
// console.log(instance());
// console.log(instance());
// console.log(instance());
// console.log(instance());
// console.log(instance());
+6
View File
File diff suppressed because one or more lines are too long
+4
View File
@@ -0,0 +1,4 @@
/**
* Generates a random 32-bit unsigned integer, in the [min, max] range.
*/
export const randomU32: (min: number, max: number) => number;
+9
View File
@@ -0,0 +1,9 @@
var x = 1 + Math.round(Math.random() * ((-1>>>0)-1));
/** Generate a random 32-bit unsigned integer in the specified [min, max] range. */
function randomU32(min, max) {
x ^= x << 13; x ^= x >>> 17; x ^= x << 5;
return (x >>> 0) % (max - min + 1) + min;
}
exports.randomU32 = randomU32;
+1
View File
@@ -0,0 +1 @@
export function str(length: number, alphabet: string): string;
+13
View File
@@ -0,0 +1,13 @@
var defaultAlphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
function str(length, alphabet) {
alphabet = alphabet || defaultAlphabet;
var str = '';
var alphabetLength = alphabet.length;
for (var i = 0; i < length; i++) {
str += alphabet.charAt(Math.floor(Math.random() * alphabetLength));
}
return str;
}
exports.str = str;
+3
View File
@@ -0,0 +1,3 @@
export type Str10_36 = () => string;
export function makestr10_36(): Str10_36;
export const str10_36: Str10_36;
+36
View File
@@ -0,0 +1,36 @@
var makestr5_36 = require("./str5_36").makestr5_36;
function makestr10_36() {
var gen1 = makestr5_36();
var gen2 = makestr5_36();
return function str10_36() {
return gen1() + gen2();
}
}
exports.makestr10_36 = makestr10_36;
exports.str10_36 = makestr10_36();
// const {map2, map3} = require('./maps');
// function makestr10_36() {
// var x = (1 + (Math.random() * (0xFFFF - 1))) | 0;
// var y = (1 + (Math.random() * (0xFFFF - 1))) | 0;
// return function str10_36() {
// x ^= x << 13;
// x ^= x >> 17;
// x ^= x << 5;
// y ^= y << 13;
// y ^= y >> 17;
// y ^= y << 5;
// var a = x >>> 1;
// var b = y >>> 1;
// return map3[a % 46656] + map2[(a >> 18) % 1296] + map3[b % 46656] + map2[(b >> 18) % 1296];
// }
// }
// console.log(exports.str10_36());
// console.log(exports.str10_36());
// console.log(exports.str10_36());
// console.log(exports.str10_36());
// console.log(exports.str10_36());
+3
View File
@@ -0,0 +1,3 @@
export type Str3_36 = () => string;
export function makestr3_36(): Str3_36;
export const str3_36: Str3_36;
+15
View File
@@ -0,0 +1,15 @@
const {map3} = require('./maps');
function makestr3_36() {
var x = 1 + Math.round(Math.random()*((-1>>>0)-1));
return function str3_36() {
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
var val = x >>> 1;
return map3[val % 46656];
}
}
exports.makestr3_36 = makestr3_36;
exports.str3_36 = makestr3_36();
+3
View File
@@ -0,0 +1,3 @@
export type Str5_36 = () => string;
export function makestr5_36(): Str5_36;
export const str5_36: Str5_36;
+15
View File
@@ -0,0 +1,15 @@
const {map2, map3} = require('./maps');
function makestr5_36() {
var x = 1 + Math.round(Math.random()*((-1>>>0)-1));
return function str5_36() {
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
var val = x >>> 1;
return map3[val % 46656] + map2[(val >> 18) % 1296];
}
}
exports.makestr5_36 = makestr5_36;
exports.str5_36 = makestr5_36();
+3
View File
@@ -0,0 +1,3 @@
export type Str6_36 = () => string;
export function makestr6_36(): Str6_36;
export const str6_36: Str6_36;
+15
View File
@@ -0,0 +1,15 @@
const {map3} = require('./maps');
function makestr6_36() {
var x = 1 + Math.round(Math.random()*((-1>>>0)-1));
return function str6_36() {
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
var val = x >>> 1;
return map3[val % 46656] + map3[(val >> 16) % 46656];
}
}
exports.makestr6_36 = makestr6_36;
exports.str6_36 = makestr6_36();
+3
View File
@@ -0,0 +1,3 @@
export type XorShift32 = () => number;
export const makexorshift32: () => XorShift32;
export const xorshift32: XorShift32;
+15
View File
@@ -0,0 +1,15 @@
function makexorshift32() {
var x = 1 + Math.round(Math.random() * ((-1>>>0)-1));
return function xorshift32() {
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
return x;
};
}
var xorshift32 = makexorshift32();
exports.makexorshift32 = makexorshift32;
exports.xorshift32 = xorshift32;