mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-09-28 23:10:51 +00:00
improving documentation
This commit is contained in:
parent
833fe313c7
commit
213486c2eb
@ -1,23 +1,24 @@
|
|||||||
/* -*- c++ -*- */
|
/*!
|
||||||
/*
|
* \file constants.h
|
||||||
* Copyright 2006,2009,2013 Free Software Foundation, Inc.
|
* \brief Definition of VOLK_GNSSSDR-related constants
|
||||||
|
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
||||||
*
|
*
|
||||||
* This file is part of GNU Radio
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
*
|
*
|
||||||
* GNU Radio is free software; you can redistribute it and/or modify
|
* This file is part of GNSS-SDR.
|
||||||
|
*
|
||||||
|
* GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* GNU Radio is distributed in the hope that it will be useful,
|
* GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with GNU Radio; see the file COPYING. If not, write to
|
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
* Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCLUDED_VOLK_GNSSSDR_CONSTANTS_H
|
#ifndef INCLUDED_VOLK_GNSSSDR_CONSTANTS_H
|
||||||
|
@ -1,25 +1,34 @@
|
|||||||
#ifndef SATURATION_ARITHMETIC_H_
|
/*!
|
||||||
#define SATURATION_ARITHMETIC_H_
|
* \file saturation_arithmetic.h
|
||||||
|
* \brief Defines addition of 16-bit integers with saturation
|
||||||
|
* \author Javier Arribas, 2015. javier.arribas(at)cttc.es
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
|
*
|
||||||
|
* This file is part of GNSS-SDR.
|
||||||
|
*
|
||||||
|
* GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef INCLUDED_VOLK_GNSSSDR_SATURATION_ARITHMETIC_H_
|
||||||
|
#define INCLUDED_VOLK_GNSSSDR_SATURATION_ARITHMETIC_H_
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
//#include <types.h>
|
|
||||||
static inline int16_t sat_adds16i(int16_t x, int16_t y)
|
static inline int16_t sat_adds16i(int16_t x, int16_t y)
|
||||||
{
|
{
|
||||||
// int16_t ux = x;
|
|
||||||
// int16_t uy = y;
|
|
||||||
// int16_t res = ux + uy;
|
|
||||||
//
|
|
||||||
// /* Calculate overflowed result. (Don't change the sign bit of ux) */
|
|
||||||
// ux = (ux >> 15) + SHRT_MAX;
|
|
||||||
//
|
|
||||||
// /* Force compiler to use cmovns instruction */
|
|
||||||
// if ((int16_t) ((ux ^ uy) | ~(uy ^ res)) >= 0)
|
|
||||||
// {
|
|
||||||
// res = ux;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return res;
|
|
||||||
|
|
||||||
int32_t res = (int32_t) x + (int32_t) y;
|
int32_t res = (int32_t) x + (int32_t) y;
|
||||||
|
|
||||||
if (res < SHRT_MIN) res = SHRT_MIN;
|
if (res < SHRT_MIN) res = SHRT_MIN;
|
||||||
@ -28,4 +37,4 @@ static inline int16_t sat_adds16i(int16_t x, int16_t y)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*SATURATION_ARITHMETIC_H_*/
|
#endif /* INCLUDED_VOLK_GNSSSDR_SATURATION_ARITHMETIC_H_ */
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file volk_gnsssdr_avx_intrinsics.h
|
* \file volk_gnsssdr_avx_intrinsics.h
|
||||||
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
||||||
|
* \brief This file is intended to hold AVX intrinsics of intrinsics.
|
||||||
|
* They should be used in VOLK kernels to avoid copy-paste.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
*
|
*
|
||||||
@ -20,13 +22,9 @@
|
|||||||
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is intended to hold AVX intrinsics of intrinsics.
|
|
||||||
* They should be used in VOLK kernels to avoid copy-pasta.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INCLUDE_VOLK_VOLK_AVX_INTRINSICS_H_
|
#ifndef INCLUDED_VOLK_VOLK_AVX_INTRINSICS_H_
|
||||||
#define INCLUDE_VOLK_VOLK_AVX_INTRINSICS_H_
|
#define INCLUDED_VOLK_VOLK_AVX_INTRINSICS_H_
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
|
|
||||||
static inline __m256
|
static inline __m256
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file volk_gnsssdr_sse3_intrinsics.h
|
* \file volk_gnsssdr_sse3_intrinsics.h
|
||||||
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
||||||
|
* \brief Holds SSE3 intrinsics of intrinsics.
|
||||||
|
* They should be used in VOLK kernels to avoid copy-paste.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
*
|
*
|
||||||
@ -21,13 +23,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
#ifndef INCLUDED_VOLK_VOLK_SSE3_INTRINSICS_H_
|
||||||
* This file is intended to hold SSE3 intrinsics of intrinsics.
|
#define INCLUDED_VOLK_VOLK_SSE3_INTRINSICS_H_
|
||||||
* They should be used in VOLK kernels to avoid copy-pasta.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INCLUDE_VOLK_VOLK_SSE3_INTRINSICS_H_
|
|
||||||
#define INCLUDE_VOLK_VOLK_SSE3_INTRINSICS_H_
|
|
||||||
#include <pmmintrin.h>
|
#include <pmmintrin.h>
|
||||||
|
|
||||||
static inline __m128
|
static inline __m128
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file volk_gnsssdr_sse_intrinsics.h
|
* \file volk_gnsssdr_sse_intrinsics.h
|
||||||
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
* \author Andres Cecilia, 2014. a.cecilia.luque(at)gmail.com
|
||||||
|
* \brief Holds SSE intrinsics of intrinsics.
|
||||||
|
* They should be used in VOLK kernels to avoid copy-paste
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
*
|
*
|
||||||
@ -20,13 +22,8 @@
|
|||||||
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
#ifndef INCLUDED_VOLK_VOLK_SSE_INTRINSICS_H_
|
||||||
* This file is intended to hold SSE intrinsics of intrinsics.
|
#define INCLUDED_VOLK_VOLK_SSE_INTRINSICS_H_
|
||||||
* They should be used in VOLK kernels to avoid copy-pasta.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INCLUDE_VOLK_VOLK_SSE_INTRINSICS_H_
|
|
||||||
#define INCLUDE_VOLK_VOLK_SSE_INTRINSICS_H_
|
|
||||||
#include <xmmintrin.h>
|
#include <xmmintrin.h>
|
||||||
|
|
||||||
static inline __m128
|
static inline __m128
|
||||||
@ -46,4 +43,4 @@ _mm_magnitude_ps(__m128 cplxValue1, __m128 cplxValue2){
|
|||||||
return _mm_sqrt_ps(_mm_magnitudesquared_ps(cplxValue1, cplxValue2));
|
return _mm_sqrt_ps(_mm_magnitudesquared_ps(cplxValue1, cplxValue2));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* INCLUDE_VOLK_VOLK_SSE_INTRINSICS_H_ */
|
#endif /* INCLUDED_VOLK_VOLK_SSE_INTRINSICS_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user