/* Wrapper for the MMX version of peakval * Copyright 2004 Phil Karn, KA9Q */ #include int peakval_mmx_assist(signed short *,int); int peakval_mmx(signed short *b,int cnt){ int peak = 0; int a; while(((int)b & 7) != 0 && cnt != 0){ a = abs(*b); if(a > peak) peak = a; b++; cnt--; } a = peakval_mmx_assist(b,cnt); if(a > peak) peak = a; b += cnt & ~3; cnt &= 3; while(cnt != 0){ a = abs(*b); if(a > peak) peak = a; b++; cnt--; } return peak; }