mirror of
https://github.com/cheat/cheat.git
synced 2024-11-23 22:41:35 +01:00
80c91cbdee
Integrate `go-git` into the application, and use it to `git clone` cheatsheets when the installer runs. Previously, the installer required that `git` be installed on the system `PATH`, so this change has to big advantages: 1. It removes that system dependency on `git` 2. It paves the way for implementing the `--update` command Additionally, `cheat` now performs a `--depth=1` clone when installing cheatsheets, which should at least somewhat improve installation times (especially on slow network connections).
112 lines
3.4 KiB
C
112 lines
3.4 KiB
C
#define ladderStepLeg \
|
|
addSub(x2,z2) \
|
|
addSub(x3,z3) \
|
|
integerMulLeg(b0,x2,z3) \
|
|
integerMulLeg(b1,x3,z2) \
|
|
reduceFromDoubleLeg(t0,b0) \
|
|
reduceFromDoubleLeg(t1,b1) \
|
|
addSub(t0,t1) \
|
|
cselect(x2,x3,regMove) \
|
|
cselect(z2,z3,regMove) \
|
|
integerSqrLeg(b0,t0) \
|
|
integerSqrLeg(b1,t1) \
|
|
reduceFromDoubleLeg(x3,b0) \
|
|
reduceFromDoubleLeg(z3,b1) \
|
|
integerMulLeg(b0,x1,z3) \
|
|
reduceFromDoubleLeg(z3,b0) \
|
|
integerSqrLeg(b0,x2) \
|
|
integerSqrLeg(b1,z2) \
|
|
reduceFromDoubleLeg(x2,b0) \
|
|
reduceFromDoubleLeg(z2,b1) \
|
|
subtraction(t0,x2,z2) \
|
|
multiplyA24Leg(t1,t0) \
|
|
additionLeg(t1,t1,z2) \
|
|
integerMulLeg(b0,x2,z2) \
|
|
integerMulLeg(b1,t0,t1) \
|
|
reduceFromDoubleLeg(x2,b0) \
|
|
reduceFromDoubleLeg(z2,b1)
|
|
|
|
#define ladderStepBmi2Adx \
|
|
addSub(x2,z2) \
|
|
addSub(x3,z3) \
|
|
integerMulAdx(b0,x2,z3) \
|
|
integerMulAdx(b1,x3,z2) \
|
|
reduceFromDoubleAdx(t0,b0) \
|
|
reduceFromDoubleAdx(t1,b1) \
|
|
addSub(t0,t1) \
|
|
cselect(x2,x3,regMove) \
|
|
cselect(z2,z3,regMove) \
|
|
integerSqrAdx(b0,t0) \
|
|
integerSqrAdx(b1,t1) \
|
|
reduceFromDoubleAdx(x3,b0) \
|
|
reduceFromDoubleAdx(z3,b1) \
|
|
integerMulAdx(b0,x1,z3) \
|
|
reduceFromDoubleAdx(z3,b0) \
|
|
integerSqrAdx(b0,x2) \
|
|
integerSqrAdx(b1,z2) \
|
|
reduceFromDoubleAdx(x2,b0) \
|
|
reduceFromDoubleAdx(z2,b1) \
|
|
subtraction(t0,x2,z2) \
|
|
multiplyA24Adx(t1,t0) \
|
|
additionAdx(t1,t1,z2) \
|
|
integerMulAdx(b0,x2,z2) \
|
|
integerMulAdx(b1,t0,t1) \
|
|
reduceFromDoubleAdx(x2,b0) \
|
|
reduceFromDoubleAdx(z2,b1)
|
|
|
|
#define difAddLeg \
|
|
addSub(x1,z1) \
|
|
integerMulLeg(b0,z1,ui) \
|
|
reduceFromDoubleLeg(z1,b0) \
|
|
addSub(x1,z1) \
|
|
integerSqrLeg(b0,x1) \
|
|
integerSqrLeg(b1,z1) \
|
|
reduceFromDoubleLeg(x1,b0) \
|
|
reduceFromDoubleLeg(z1,b1) \
|
|
integerMulLeg(b0,x1,z2) \
|
|
integerMulLeg(b1,z1,x2) \
|
|
reduceFromDoubleLeg(x1,b0) \
|
|
reduceFromDoubleLeg(z1,b1)
|
|
|
|
#define difAddBmi2Adx \
|
|
addSub(x1,z1) \
|
|
integerMulAdx(b0,z1,ui) \
|
|
reduceFromDoubleAdx(z1,b0) \
|
|
addSub(x1,z1) \
|
|
integerSqrAdx(b0,x1) \
|
|
integerSqrAdx(b1,z1) \
|
|
reduceFromDoubleAdx(x1,b0) \
|
|
reduceFromDoubleAdx(z1,b1) \
|
|
integerMulAdx(b0,x1,z2) \
|
|
integerMulAdx(b1,z1,x2) \
|
|
reduceFromDoubleAdx(x1,b0) \
|
|
reduceFromDoubleAdx(z1,b1)
|
|
|
|
#define doubleLeg \
|
|
addSub(x1,z1) \
|
|
integerSqrLeg(b0,x1) \
|
|
integerSqrLeg(b1,z1) \
|
|
reduceFromDoubleLeg(x1,b0) \
|
|
reduceFromDoubleLeg(z1,b1) \
|
|
subtraction(t0,x1,z1) \
|
|
multiplyA24Leg(t1,t0) \
|
|
additionLeg(t1,t1,z1) \
|
|
integerMulLeg(b0,x1,z1) \
|
|
integerMulLeg(b1,t0,t1) \
|
|
reduceFromDoubleLeg(x1,b0) \
|
|
reduceFromDoubleLeg(z1,b1)
|
|
|
|
#define doubleBmi2Adx \
|
|
addSub(x1,z1) \
|
|
integerSqrAdx(b0,x1) \
|
|
integerSqrAdx(b1,z1) \
|
|
reduceFromDoubleAdx(x1,b0) \
|
|
reduceFromDoubleAdx(z1,b1) \
|
|
subtraction(t0,x1,z1) \
|
|
multiplyA24Adx(t1,t0) \
|
|
additionAdx(t1,t1,z1) \
|
|
integerMulAdx(b0,x1,z1) \
|
|
integerMulAdx(b1,t0,t1) \
|
|
reduceFromDoubleAdx(x1,b0) \
|
|
reduceFromDoubleAdx(z1,b1)
|