func Sinti(n int, work []float64, ifac []int) {
	if len(work) < 5*(n+1)/2 {
		panic("fourier: short work")
	}
	if len(ifac) < 15 {
		panic("fourier: short ifac")
	}
	if n <= 1 {
		return
	}
	dt := math.Pi / float64(n+1)
	for k := 0; k < n/2; k++ {
		work[k] = 2 * math.Sin(float64(k+1)*dt)
	}
	Rffti(n+1, work[n/2:], ifac)
}
Sinti initializes the array work which is used in subroutine Sint.
The prime factorization of n together with a tabulation of the
trigonometric functions are computed and stored in work.

Input parameter

n       The length of the sequence to be transformed. The method
is most efficient when n+1 is a product of small primes.

Output parameter

work    A work array with at least ceil(2.5*n) locations.
Different work arrays are required for different values
of n. The contents of work must not be changed between
calls of Sint.

ifac    An integer work array of length at least 15.
package fftpack
import "math"