Knitting Angle Calculator
This calculator will tell you on what rows to increase or decrease given the
number of stitches you want to change in a given number of rows. The calculator
will attempt to match to a straight line as closely as possible.

The number of rows is how many rows you have to do the desired number of
increases or decreases.

The number of stitches is how many stitches you need to increase or decrease
over the number of rows.

The row offset lets you start the pattern at a row other than zero.

Start with increase or decrease lets you set whether the first row
will contain an increase or decrease.

End with increase or decrease lets you set whether the last row
will contain an increase or decrease.

The matching type is how the algorithm determines when to make a stitch change.
A line f(x) is formed that represents the desired shape. For each stitch,
x = 0, 1, 2..., the height of the line f(x) is calculated and converted to a whole
number. This number represents what row that stitch needs to be changed on.
There are three methods on how the line value is converted to a whole number:

floor always rounds down, e.g., 4.7 → 4

ceiling always rounds up, e.g., 4.3 → 5;

round is normal midpoint rounding, e.g., 4.3 → 4 and
4.7 → 5
The source for this program is available
here.
