Format/typo check 2019/giles/README.md
This commit is contained in:
1 parent
48520aa50c
commit
f25d431417
1 file changed
+7
-4
@@ -51,11 +51,12 @@ under a free license.
|
|||||||
|
|
||||||
This program has also been successfully compiled on Windows, with both the [Tiny
|
This program has also been successfully compiled on Windows, with both the [Tiny
|
||||||
C Compiler](https://bellard.org/tcc/) and Microsoft's C/C++ compiler. However,
|
C Compiler](https://bellard.org/tcc/) and Microsoft's C/C++ compiler. However,
|
||||||
the latter reports warnings about loss of information when converting floats,
|
the latter reports warnings about loss of information when converting `float`s,
|
||||||
and that `void (*)()` and `void (*)(void)` are not the same thing.
|
and that `void (*)()` and `void (*)(void)` are not the same thing.
|
||||||
|
|
||||||
Interesting fact: The size of the program from `./iocccsize -i` is 2019.
|
Interesting fact: The size of the program from `./iocccsize -i` is 2019.
|
||||||
|
|
||||||
|
|
||||||
#### How to use:
|
#### How to use:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -98,6 +99,7 @@ print `Bad input file` or `Wave file must be 16 bits,1-2 channels.` depending on
|
|||||||
what it thinks the problem is. If the output file cannot be opened, the program
|
what it thinks the problem is. If the output file cannot be opened, the program
|
||||||
will print `Can't open output file`.
|
will print `Can't open output file`.
|
||||||
|
|
||||||
|
|
||||||
### Assumptions:
|
### Assumptions:
|
||||||
|
|
||||||
1. The code is compiled using the C99 or C11 standard.
|
1. The code is compiled using the C99 or C11 standard.
|
||||||
@@ -107,6 +109,7 @@ represents the number zero.
|
|||||||
4. `int16_t` and `int32_t` are 2's-complement, `sizeof(int16_t) == 2` and
|
4. `int16_t` and `int32_t` are 2's-complement, `sizeof(int16_t) == 2` and
|
||||||
`sizeof(int32_t) == 4`.
|
`sizeof(int32_t) == 4`.
|
||||||
|
|
||||||
|
|
||||||
### Obfuscations
|
### Obfuscations
|
||||||
|
|
||||||
The main obfuscation is that digital signal processing algorithms are inherently
|
The main obfuscation is that digital signal processing algorithms are inherently
|
||||||
@@ -143,8 +146,8 @@ to decipher it.
|
|||||||
`#define`s are used to abbreviate the code, which has a side effect of making it
|
`#define`s are used to abbreviate the code, which has a side effect of making it
|
||||||
very slightly harder to read.
|
very slightly harder to read.
|
||||||
|
|
||||||
* `k` is just a general-purpose replacement for 16.
|
* `k` is just a general-purpose replacement for `16`.
|
||||||
* `i` is the number of delay-lines to allocate and use (currently 24).
|
* `i` is the number of delay-lines to allocate and use (currently `24`).
|
||||||
* `q` is an abbreviation for multiplying two elements of `w[]` together.
|
* `q` is an abbreviation for multiplying two elements of `w[]` together.
|
||||||
* `u()` is used to display percentages with proper rounding.
|
* `u()` is used to display percentages with proper rounding.
|
||||||
* `j()` imposes an upper limit on a floating-point value, and then negates it.
|
* `j()` imposes an upper limit on a floating-point value, and then negates it.
|
||||||
@@ -186,7 +189,7 @@ As many values as possible have been crammed into arrays. `float w[]` contains:
|
|||||||
|
|
||||||
All of the strings are concatenated together and "encrypted" by breaking the
|
All of the strings are concatenated together and "encrypted" by breaking the
|
||||||
string into 4-byte chunks (by casting it to an `int32_t*`), and then XORing the
|
string into 4-byte chunks (by casting it to an `int32_t*`), and then XORing the
|
||||||
sequence of ints with a known numeric sequence. The "decryption" is not done
|
sequence of `int`s with a known numeric sequence. The "decryption" is not done
|
||||||
in-place, to avoid writing over the string constant.
|
in-place, to avoid writing over the string constant.
|
||||||
|
|
||||||
`int32_t *c` is a pointer that points into `f[]`, except that it is often
|
`int32_t *c` is a pointer that points into `f[]`, except that it is often
|
||||||
|
|||||||
Reference in new issue
Block a user