| /* | |
| ** Copyright (C) 2014 Erik de Castro Lopo <erikd@mega-nerd.com> | |
| ** | |
| ** This program is free software; you can redistribute it and/or modify | |
| ** it under the terms of the GNU Lesser General Public License as published by | |
| ** the Free Software Foundation; either version 2.1 of the License, or | |
| ** (at your option) any later version. | |
| ** | |
| ** This program 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 Lesser General Public License for more details. | |
| ** | |
| ** You should have received a copy of the GNU Lesser General Public License | |
| ** along with this program; if not, write to the Free Software | |
| ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| */ | |
| #if __GNUC__ | |
| #define ALWAYS_INLINE __attribute__ ((always_inline)) | |
| #elif defined _MSC_VER | |
| #define ALWAYS_INLINE __forceinline | |
| #else | |
| #define ALWAYS_INLINE | |
| #endif | |
| static inline int32_t ALWAYS_INLINE | |
| arith_shift_left (int32_t x, int shift) | |
| { return (int32_t) (((uint32_t) x) << shift) ; | |
| } /* arith_shift_left */ |