56 lines
2.7 KiB
C
56 lines
2.7 KiB
C
|
/*
|
||
|
** Copyright 2003-2010, VisualOn, Inc.
|
||
|
**
|
||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
** you may not use this file except in compliance with the License.
|
||
|
** You may obtain a copy of the License at
|
||
|
**
|
||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||
|
**
|
||
|
** Unless required by applicable law or agreed to in writing, software
|
||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
** See the License for the specific language governing permissions and
|
||
|
** limitations under the License.
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*--------------------------------------------------------------------------*
|
||
|
* MATH_OP.H *
|
||
|
*--------------------------------------------------------------------------*
|
||
|
* Mathematical operations *
|
||
|
*--------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef __MATH_OP_H__
|
||
|
#define __MATH_OP_H__
|
||
|
|
||
|
Word32 Isqrt( /* (o) Q31 : output value (range: 0<=val<1) */
|
||
|
Word32 L_x /* (i) Q0 : input value (range: 0<=val<=7fffffff) */
|
||
|
);
|
||
|
|
||
|
void Isqrt_n(
|
||
|
Word32 * frac, /* (i/o) Q31: normalized value (1.0 < frac <= 0.5) */
|
||
|
Word16 * exp /* (i/o) : exponent (value = frac x 2^exponent) */
|
||
|
);
|
||
|
|
||
|
Word32 Pow2( /* (o) Q0 : result (range: 0<=val<=0x7fffffff) */
|
||
|
Word16 exponant, /* (i) Q0 : Integer part. (range: 0<=val<=30) */
|
||
|
Word16 fraction /* (i) Q15 : Fractionnal part. (range: 0.0<=val<1.0) */
|
||
|
);
|
||
|
|
||
|
Word32 Dot_product12( /* (o) Q31: normalized result (1 < val <= -1) */
|
||
|
Word16 x[], /* (i) 12bits: x vector */
|
||
|
Word16 y[], /* (i) 12bits: y vector */
|
||
|
Word16 lg, /* (i) : vector length */
|
||
|
Word16 * exp /* (o) : exponent of result (0..+30) */
|
||
|
);
|
||
|
|
||
|
Word32 Dot_product12_asm( /* (o) Q31: normalized result (1 < val <= -1) */
|
||
|
Word16 x[], /* (i) 12bits: x vector */
|
||
|
Word16 y[], /* (i) 12bits: y vector */
|
||
|
Word16 lg, /* (i) : vector length */
|
||
|
Word16 * exp /* (o) : exponent of result (0..+30) */
|
||
|
);
|
||
|
#endif //__MATH_OP_H__
|
||
|
|