# Codesine

*This article is not detailed enough and needs to be expanded. Please help us by adding some more information.*

Made by user:MDude because Fourier has nothing to do with Fourier transforms. But it uses discrete cosign transforms instead to "keep things real".

The primary idea of codesine is to have functions represented as discrete codesine transforms, of a dimensionality equal to their quantity of inputs. A function definition thus follows one of two forms: <function name>{ (<x frequency>[,<y frequency>]|<amplitude>) [<x frequency>[,<y frequency>],<amplitude>] }

<function name>{<frequency>*<amplitude>[+<frequency>*<amplitude>][,<frequency>*<amplitude>[+<frequency>*<amplitude>]]}

In interactive mode

Functions can be one or many dimensional, but always return the value of the point on the resulting waveform at the coordinates passed to it. The number of parameters is implicit when defining a function, and should equal the wave set with the largest number of frequency parameters.

All conditionals are based on numerical comparators: There is no built-in storage for booleans, though if statements can use & and |.