Ejemplo n.º 1
0
void SDIFranges_GetColumnRanges(SDIFranges *x, t_symbol *matrixTypeSym) {
    char matrixType[4];
	sdif_int32 numCols;
	int i;
    
    if (resolveBufferAndMatrixType(x, matrixTypeSym, matrixType)) {
		if (doGetMaxNumColumns(x, matrixType, &numCols)) {
			t_atom *outputArgs = (Atom *) getbytes(numCols * sizeof(t_atom));
			sdif_float64 *mins = (sdif_float64 *) getbytes16(numCols * sizeof(sdif_float64));
			sdif_float64 *maxes = (sdif_float64 *) getbytes16(numCols * sizeof(sdif_float64));
			
			if (maxes == 0) {
				object_error((t_object *)x, NAME ": out of memory");
				return;
			}
			SDIFbuf_GetColumnRanges(x->t_buf, matrixType, numCols, mins, maxes);
			
			for (i = 0; i<numCols; ++i) {
				atom_setfloat(outputArgs+i, (float) mins[i]);
			}
			outlet_anything(x->t_out, ps_column_mins, numCols, outputArgs);
			
			for (i = 0; i<numCols; ++i) {
				atom_setfloat(outputArgs+i, (float) maxes[i]);
			}
			outlet_anything(x->t_out, ps_column_maxes, numCols, outputArgs);
			
			freebytes(outputArgs, numCols * sizeof(t_atom));
			freebytes16((char *)mins, numCols * sizeof(sdif_float64));
			freebytes16((char *)maxes, numCols * sizeof(sdif_float64));
		}
	}
}
Ejemplo n.º 2
0
void errfilt_free(t_errfilt *x) {
	dsp_free((t_pxobject *) x);
	freebytes16((char *)x->a_b, MAX_ORDER * sizeof(t_float));
	freebytes(x->a_bBuff, MAX_ORDER * sizeof(t_float));
	freebytes16((char *)x->a_x, MAX_ORDER * sizeof(t_float));
	freebytes(x->a_A, MAX_ORDER * sizeof(t_float));
	freebytes16((char *)x->a_tempVec, MAX_ORDER * sizeof(t_float));
}