any details about function fir_fr32()

Hi!

I want to use the library function fir_fr32(), it is defined as:

void fir_fr32(const fract32          input[],                 

                    fract32          output[],                 

                    int              length,                   

                    fir_state_fr32  *filter_state);
 

and I check the blackfin-compiler-library-manual, I found this sentence:

The number of input samples and the length of the output vector are specified by the argument length.

Then I saw the example:

I'm wondering how this works, if I have an input array of length 256, then the filters coefficients number is 89, due to the convilution,I should get only 256-89+1=168 output,

how does this function work

plz give me more details about this function.