aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/heptagon_radio_transmitter/pervasives.h
blob: f6d197e442b0b2dcc9c15ae9bc62822d33c33de5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/***********************************************************************/
/*                                                                     */
/*                             Heptagon                                */
/*                                                                     */
/* Gwenael Delaval, LIG/INRIA, UJF                                     */
/* Leonard Gerard, Parkas, ENS                                         */
/* Adrien Guatto, Parkas, ENS                                          */
/* Cedric Pasteur, Parkas, ENS                                         */
/* Marc Pouzet, Parkas, ENS                                            */
/*                                                                     */
/* Copyright 2012 ENS, INRIA, UJF                                      */
/*                                                                     */
/* This file is part of the Heptagon compiler.                         */
/*                                                                     */
/* Heptagon 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.                                 */
/*                                                                     */
/* Heptagon 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 Heptagon.  If not, see <http://www.gnu.org/licenses/>    */
/*                                                                     */
/***********************************************************************/

/* Pervasives module for the Heptagon compiler */

#ifndef DECADES_PERVASIVES_H
#define DECADES_PERVASIVES_H

typedef float real;

/* between(i, n) returns idx between 0 and n-1. */
static inline int between(int idx, int n)
{
  int o = (idx >= n) ? n-1 : (idx < 0 ? 0 : idx);
  return o;
}

#endif