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 COPY_16
     26 ***********************************************************************************/
     27 
     28 void Copy_16( const LVM_INT16 *src,
     29                     LVM_INT16 *dst,
     30                     LVM_INT16  n )
     31 {
     32     LVM_INT16 ii;
     33 
     34     if (src > dst)
     35     {
     36         for (ii = n; ii != 0; ii--)
     37         {
     38             *dst = *src;
     39             dst++;
     40             src++;
     41         }
     42     }
     43     else
     44     {
     45         src += n - 1;
     46         dst += n - 1;
     47         for (ii = n; ii != 0; ii--)
     48         {
     49             *dst = *src;
     50             dst--;
     51             src--;
     52         }
     53     }
     54 
     55     return;
     56 }
     57 #ifdef BUILD_FLOAT
     58 void Copy_Float( const LVM_FLOAT *src,
     59                  LVM_FLOAT *dst,
     60                  LVM_INT16  n )
     61 {
     62     LVM_INT16 ii;
     63 
     64     if (src > dst)
     65     {
     66         for (ii = n; ii != 0; ii--)
     67         {
     68             *dst = *src;
     69             dst++;
     70             src++;
     71         }
     72     }
     73     else
     74     {
     75         src += n - 1;
     76         dst += n - 1;
     77         for (ii = n; ii != 0; ii--)
     78         {
     79             *dst = *src;
     80             dst--;
     81             src--;
     82         }
     83     }
     84 
     85     return;
     86 }
     87 #endif
     88 /**********************************************************************************/
     89