Skip to content

Instantly share code, notes, and snippets.

Avatar

云风 cloudwu

View GitHub Profile
View leetcode1296.c
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
struct set {
int n;
int count;
};
static int
View shortestpath.c
// See: https://leetcode.com/problems/shortest-path-in-a-grid-with-obstacles-elimination/
#include <stdio.h>
#define MAXN 40
#define MAXSTEP (40*40)
struct coord {
unsigned char x;
unsigned char y;
};
@cloudwu
cloudwu / period.c
Created May 20, 2021
Turn off canonical mode , forward stdin to stdout, and write \n per 100ms
View period.c
// Linux: gcc -Wall -o period period.c -lpthread
// Mingw: gcc -Wall -o period.exe period.c
#include <stdio.h>
#define PERIOD 100 // 100 ms
#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
#include <windows.h>
@cloudwu
cloudwu / prn256.c
Last active Jul 2, 2021
xoshiro256 from lua 5.4
View prn256.c
// 'xoshiro256**' algorithm from lua 5.4 implementation
#include "random.h"
#include <stdint.h>
#include <assert.h>
static inline uint64_t *
state(struct prn_state *P) {
assert(sizeof(*P) == sizeof(uint64_t) * 4);
return (uint64_t *)P;
}
View lazymemory.h
#ifndef lazy_memory_h
#define lazy_memory_h
#include <stdint.h>
#include <string.h>
#define CacheLine 64
#define WordSize (sizeof(uint64_t) * 8) // 64 (bits)
#define AlignN(s, n) (( s + n - 1) / n * n)
View psystem.cpp
#include "psystem.h"
#include <cstddef>
#include <cstdio>
#include <algorithm>
#include <vector>
#include "psystem_manager.h"
#define REMAP_CACHE 128
namespace {
View psystem_manager.h
#ifndef particle_system_manager_h
#define particle_system_manager_h
#define PARTICLE_MAX 0xffff
#define PARTICLE_INVALID PARTICLE_MAX
#ifndef PARTICLE_COMPONENT
#define PARTICLE_COMPONENT 7
#endif
@cloudwu
cloudwu / utf16.lua
Created Oct 22, 2020
lua UTF16 BE lib
View utf16.lua
local utf16 = {}
-- Big Endian
function utf16.toutf8(s)
local surrogate
return (s:gsub("..", function(utf16)
local cp = string.unpack(">H", utf16)
if (cp & 0xFC00) == 0xD800 then
surrogate = cp
@cloudwu
cloudwu / Localization.cs
Last active Sep 28, 2020
config.csv for MOO UCP
View Localization.cs
public void LoadFile(string path)
{
try
{
string csvText = AssetManager.Get().Resource<string>(path);
string[,] array = CSVReader.SplitCsvGrid(csvText);
// Fix bug of UCP here
for (int i = 2; i < array.GetUpperBound(0); i++)
{
for (int j = 1; j < array.GetUpperBound(1); j++)
@cloudwu
cloudwu / hashcompare.lua
Last active May 28, 2020
Compare some hash function for lua table implementation
View hashcompare.lua
--[[
370104 words from https://github.com/dwyl/english-words/blob/master/words_alpha.txt
3/4 5/8 7/8 9/16 11/16 13/16 15/32 17/32 19/32 21/32
(h<<5) + (h>>2) + x (3)84874 (4)81670 (4)113326 (4)80336 (2)96169 (5)111520 (4)125243 (3)79309 (4)87762 (5)95643
(h<<4) + (h>>3) + x (2)84819 (1)81351 (3)113283 (5)80439 (3)96264 (2)111197 (3)125200 (4)79486 (2)87582 (2)95430
(h<<5) - (h>>2) + x (1)84464 (2)81428 (2)113108 (2)80201 (4)96464 (4)111469 (1)125052 (2)79222 (3)87666 (3)95466
(h<<4) - (h>>3) + x (4)85050 (3)81587 (1)113084 (1)80112 (1)96131 (1)111134 (2)125185 (1)79163 (1)87361 (1)95239
((h + x) * 0xAAAB) >> 3 (5)85143