Home | History | Annotate | Download | only in src
      1 /*
      2  * Copyright (C) 2004-2010 NXP Software
      3  * Copyright (C) 2010 The Android Open Source Project
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 /**********************************************************************************
     19    INCLUDE FILES
     20 ***********************************************************************************/
     21 
     22 #include "VectorArithmetic.h"
     23 
     24 /**********************************************************************************
     25    FUNCTION JoinTo2i_32x32
     26 ***********************************************************************************/
     27 
     28 void JoinTo2i_32x32( const LVM_INT32    *srcL,
     29                      const LVM_INT32    *srcR,
     30                            LVM_INT32    *dst,
     31                            LVM_INT16    n )
     32 {
     33     LVM_INT16 ii;
     34 
     35     srcL += n-1;
     36     srcR += n-1;
     37     dst  += ((2*n)-1);
     38 
     39     for (ii = n; ii != 0; ii--)
     40     {
     41         *dst = *srcR;
     42         dst--;
     43         srcR--;
     44 
     45         *dst = *srcL;
     46         dst--;
     47         srcL--;
     48     }
     49 
     50     return;
     51 }
     52 #ifdef BUILD_FLOAT
     53 void JoinTo2i_Float( const LVM_FLOAT    *srcL,
     54                      const LVM_FLOAT    *srcR,
     55                            LVM_FLOAT    *dst,
     56                            LVM_INT16    n )
     57 {
     58     LVM_INT16 ii;
     59 
     60     srcL += n - 1;
     61     srcR += n - 1;
     62     dst  += ((2 * n) - 1);
     63 
     64     for (ii = n; ii != 0; ii--)
     65     {
     66         *dst = *srcR;
     67         dst--;
     68         srcR--;
     69 
     70         *dst = *srcL;
     71         dst--;
     72         srcL--;
     73     }
     74 
     75     return;
     76 }
     77 #endif
     78 /**********************************************************************************/
     79 
     80