static float *make_gausstab(int filtertype, int rad)
{
	float *gausstab, sum, val;
	int i, n;
	
	n = 2 * rad + 1;
	
	gausstab = (float *) MEM_mallocN(n * sizeof(float), "gauss");
	
	sum = 0.0f;
	for (i = -rad; i <= rad; i++) {
		val = RE_filter_value(filtertype, (float)i / (float)rad);
		sum += val;
		gausstab[i + rad] = val;
	}
	
	sum = 1.0f / sum;
	for (i = 0; i < n; i++)
		gausstab[i] *= sum;
	
	return gausstab;
}
float *BlurBaseOperation::make_gausstab(float rad, int size)
{
    float *gausstab, sum, val;
    int i, n;

    n = 2 * size + 1;

    gausstab = (float *)MEM_mallocN(sizeof(float) * n, __func__);

    sum = 0.0f;
    float fac = (rad > 0.0f ? 1.0f / rad : 0.0f);
    for (i = -size; i <= size; i++) {
        val = RE_filter_value(this->m_data.filtertype, (float)i * fac);
        sum += val;
        gausstab[i + size] = val;
    }

    sum = 1.0f / sum;
    for (i = 0; i < n; i++)
        gausstab[i] *= sum;

    return gausstab;
}