Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:16:42

0001 /*
0002  * identity.h
0003  * For testing purposes
0004  * 
0005  *  Created on: Jun 23, 2012
0006  *      Author: Danilo Piparo, Thomas Hauth, Vincenzo Innocente
0007  */
0008 
0009 /* 
0010  * VDT is free software: you can redistribute it and/or modify
0011  * it under the terms of the GNU Lesser Public License as published by
0012  * the Free Software Foundation, either version 3 of the License, or
0013  * (at your option) any later version.
0014  * 
0015  * This program is distributed in the hope that it will be useful,
0016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  * GNU Lesser Public License for more details.
0019  * 
0020  * You should have received a copy of the GNU Lesser Public License
0021  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  */
0023 
0024 #ifndef IDENTITY_H_
0025 #define IDENTITY_H_
0026 
0027 namespace vdt{
0028 
0029 // Identity double precision ---------------------------------------------------
0030 inline double identity(double x){return x;}
0031 inline double fast_identity(double x){return x;}
0032 inline double identity2D (double x, double /*y*/){return x;}
0033 
0034 
0035 // Identity float precision ---------------------------------------------------
0036 inline float identityf(float x){return x;}
0037 inline float fast_identityf(float x){return x;}
0038 inline float identity2Df (float x, float /*y*/){return x;}
0039 //------------------------------------------------------------------------------
0040 
0041 void identityv(const uint32_t size, double const * __restrict__ iarray, double* __restrict__ oarray);
0042 void identityfv(const uint32_t size, float const * __restrict__ iarray, float* __restrict__ oarray);
0043 void identity2Dv(const uint32_t size, double const * __restrict__ iarray, double const * __restrict__ iarray2, double* __restrict__ oarray);
0044 void identity2Dfv(const uint32_t size, float const * __restrict__ iarray, float const * __restrict__ iarray2, float* __restrict__ oarray);
0045 
0046 } //vdt namespace
0047 
0048 #endif /* IDENTITY_H_ */