Safe Haskell | None |
---|
Documentation
scheduleScalar :: Process -> Either Error ProcedureSource
Schedule a process into a procedure, producing scalar code.
Scheduling process kernels
scheduleKernel :: Lifting -> Process -> Either Error ProcedureSource
Schedule a process kernel into a procedure.
A process kernel is a process with the following restricitions: 1) All input series have the same rate. 2) A kernel accumulates data into sinks, rather than allocating new values. 3) A kernel can be scheduled into a single loop.
Reason a process kernel could not be scheduled into a procedure.
ErrorNoRateParameters | Process has no rate parameters. |
ErrorNoSeriesParameters | Process has no series parameters, but there needs to be at least one. |
ErrorMultipleRates | Process has series of different rates, but all series must have the same rate. |
ErrorPrimaryRateMismatch | Primary rate variable of the process does not match the rate of the paramter series. |
ErrorCannotLiftExp (Exp () Name) | Cannot lift expression to vector operators. |
ErrorCannotLiftType (Type Name) | Cannot lift type to vector type. |
ErrorUnsupported Operator | Current scheduler does not support this operator. |
ErrorSlurpError Error | Cannot slurp process description from one of the top-level declarations. |