Enter Vim clean-sheet (vim -u NONE
) and write the following text:
a a
a
a
Go to the beginning of the file, search for a
, go back to the first result and do a search/replace with a*
, repeating it once:
gg*Ncgna*<Esc>.
#include <cstdint> | |
// Random 32-bit unsigned integer. | |
uint32_t pcg32(uint64_t& rng) { | |
rng = rng * 6364136223846793005ULL + 1; | |
int rot = rng >> 59u; | |
uint32_t r = (rng >> 18u) ^ rng; | |
return (r >> rot) | (r << (32 - rot)); | |
} |
Install VS2015 Express, Mercurial and `hg clone https://hg.python.org/cpython`. | |
Patch cpython/PC/python_ver_rc.h (why is this necessary?): | |
- # include <pythonnt_rc_d.h> | |
+ # include <pythonnt_rc.h> | |
cd cpython/PCbuild | |
get_externals | |
build -d -c Debug | |
build -c Release |
; Install the Fontin font http://www.exljbris.com/fontin.html. | |
; Edit log_file to your Client.txt path. | |
; Edit overlay_x, overlay_y to fit your desire. Default is right under the timer for 1920x1080. | |
; Your game needs to be in windowed fullscreen mode. | |
log_file = C:\Program Files\Steam\SteamApps\common\Path of Exile\logs\Client.txt | |
overlay_x := 340 | |
overlay_y := 975 | |
; Shouldn't need to edit below this line. | |
filehandle := FileOpen(log_file, "r") |
import os | |
import sys | |
import fnmatch | |
__doc__ = """Build configurator. | |
Usage: | |
configure.py [options] [-D var[=val]]... |
import math | |
def clamp(c): | |
return min(max(c, 0), 1) | |
def less_angry_rainbow(t, gamma=1): | |
"""Given an interpolation value on [0, 1], this returns a RGB tuple ([0, 1]) | |
of the "less-angry rainbow" by Mike Bostock. The gamma can be used to make | |
the rainbow lighter or darker.""" |
#ifndef ASCII_CTYPE_H | |
#define ASCII_CTYPE_H | |
#define ASCIIRANGE(c, start, len) (char32_t((c) - (start)) < char32_t(len)) | |
inline bool aislower(char32_t c) { return ASCIIRANGE(c, 0x61, 26); } | |
inline bool aisupper(char32_t c) { return ASCIIRANGE(c, 0x41, 26); } | |
inline bool aisdigit(char32_t c) { return ASCIIRANGE(c, 0x30, 10); } | |
inline bool aisbdigit(char32_t c) { return ASCIIRANGE(c, 0x30, 2); } | |
inline bool aisodigit(char32_t c) { return ASCIIRANGE(c, 0x30, 8); } | |
inline bool aisxdigit(char32_t c) { return ASCIIRANGE(c | 32, 0x61, 6) || aisdigit(c); } |
inline double fast_sin(double x) { | |
// Polynomial constants generated with sollya. | |
// fpminimax(sin(x), [|1,3,5,7|], [|D...|], [-pi/2;pi/2]); | |
// Both relative and absolute error is 9.39e-7. | |
const double magicround = 6755399441055744.0; | |
const double negpi = -3.14159265358979323846264338327950288; | |
const double invpi = 0.31830988618379067153776752674502872; | |
const double a = -0.00018488140186756154724131984146140; | |
const double b = 0.00831189979755905285208061883395203; | |
const double c = -0.16665554092439083255783316417364403; |
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
</style> | |
<body> | |
<h1>Copy/paste weapon stats here:</h1> | |
<form id="user-input"> | |
<textarea id="weapon-data"></textarea> | |
</form> | |
<pre id="out"></pre> |
Enter Vim clean-sheet (vim -u NONE
) and write the following text:
a a
a
a
Go to the beginning of the file, search for a
, go back to the first result and do a search/replace with a*
, repeating it once:
gg*Ncgna*<Esc>.
If you have a number x of the form:
a.bc
Where a
is the integer part, b
is the non-repeating fractional part, and c
is the repeating fractional part, then the resulting fraction has value:
a.b + c / ((10^num_digits(c) - 1) * 10^num_digits(b))
So for 0.333333... we have: