Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
libscpi/inc/scpi/cc.h@0:be95bfb06686, 2022-01-17 (annotated)
- Committer:
- wuliqunyy
- Date:
- Mon Jan 17 13:20:09 2022 +0000
- Revision:
- 0:be95bfb06686
a working non_flat + adc_didt for ehp regulation version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wuliqunyy | 0:be95bfb06686 | 1 | /*- |
wuliqunyy | 0:be95bfb06686 | 2 | * BSD 2-Clause License |
wuliqunyy | 0:be95bfb06686 | 3 | * |
wuliqunyy | 0:be95bfb06686 | 4 | * Copyright (c) 2012-2018, Jan Breuer |
wuliqunyy | 0:be95bfb06686 | 5 | * All rights reserved. |
wuliqunyy | 0:be95bfb06686 | 6 | * |
wuliqunyy | 0:be95bfb06686 | 7 | * Redistribution and use in source and binary forms, with or without |
wuliqunyy | 0:be95bfb06686 | 8 | * modification, are permitted provided that the following conditions are met: |
wuliqunyy | 0:be95bfb06686 | 9 | * |
wuliqunyy | 0:be95bfb06686 | 10 | * * Redistributions of source code must retain the above copyright notice, this |
wuliqunyy | 0:be95bfb06686 | 11 | * list of conditions and the following disclaimer. |
wuliqunyy | 0:be95bfb06686 | 12 | * |
wuliqunyy | 0:be95bfb06686 | 13 | * * Redistributions in binary form must reproduce the above copyright notice, |
wuliqunyy | 0:be95bfb06686 | 14 | * this list of conditions and the following disclaimer in the documentation |
wuliqunyy | 0:be95bfb06686 | 15 | * and/or other materials provided with the distribution. |
wuliqunyy | 0:be95bfb06686 | 16 | * |
wuliqunyy | 0:be95bfb06686 | 17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
wuliqunyy | 0:be95bfb06686 | 18 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
wuliqunyy | 0:be95bfb06686 | 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
wuliqunyy | 0:be95bfb06686 | 20 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
wuliqunyy | 0:be95bfb06686 | 21 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
wuliqunyy | 0:be95bfb06686 | 22 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
wuliqunyy | 0:be95bfb06686 | 23 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
wuliqunyy | 0:be95bfb06686 | 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
wuliqunyy | 0:be95bfb06686 | 25 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
wuliqunyy | 0:be95bfb06686 | 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
wuliqunyy | 0:be95bfb06686 | 27 | */ |
wuliqunyy | 0:be95bfb06686 | 28 | |
wuliqunyy | 0:be95bfb06686 | 29 | /** |
wuliqunyy | 0:be95bfb06686 | 30 | * @file cc.h |
wuliqunyy | 0:be95bfb06686 | 31 | * |
wuliqunyy | 0:be95bfb06686 | 32 | * @brief compiler detection |
wuliqunyy | 0:be95bfb06686 | 33 | * |
wuliqunyy | 0:be95bfb06686 | 34 | * |
wuliqunyy | 0:be95bfb06686 | 35 | */ |
wuliqunyy | 0:be95bfb06686 | 36 | |
wuliqunyy | 0:be95bfb06686 | 37 | #ifndef __SCPI_CC_H_ |
wuliqunyy | 0:be95bfb06686 | 38 | #define __SCPI_CC_H_ |
wuliqunyy | 0:be95bfb06686 | 39 | |
wuliqunyy | 0:be95bfb06686 | 40 | #ifdef __cplusplus |
wuliqunyy | 0:be95bfb06686 | 41 | extern "C" { |
wuliqunyy | 0:be95bfb06686 | 42 | #endif |
wuliqunyy | 0:be95bfb06686 | 43 | |
wuliqunyy | 0:be95bfb06686 | 44 | #if defined(__STDC__) |
wuliqunyy | 0:be95bfb06686 | 45 | # define C89 1 |
wuliqunyy | 0:be95bfb06686 | 46 | # if defined(__STDC_VERSION__) |
wuliqunyy | 0:be95bfb06686 | 47 | # define C90 1 |
wuliqunyy | 0:be95bfb06686 | 48 | # if (__STDC_VERSION__ >= 199409L) |
wuliqunyy | 0:be95bfb06686 | 49 | # define C94 1 |
wuliqunyy | 0:be95bfb06686 | 50 | # endif |
wuliqunyy | 0:be95bfb06686 | 51 | # if (__STDC_VERSION__ >= 199901L) |
wuliqunyy | 0:be95bfb06686 | 52 | # define C99 1 |
wuliqunyy | 0:be95bfb06686 | 53 | # endif |
wuliqunyy | 0:be95bfb06686 | 54 | # endif |
wuliqunyy | 0:be95bfb06686 | 55 | #endif |
wuliqunyy | 0:be95bfb06686 | 56 | |
wuliqunyy | 0:be95bfb06686 | 57 | #if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200809L) || \ |
wuliqunyy | 0:be95bfb06686 | 58 | (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 700) |
wuliqunyy | 0:be95bfb06686 | 59 | #define HAVE_STRNDUP 1 |
wuliqunyy | 0:be95bfb06686 | 60 | #define HAVE_STRNLEN 1 |
wuliqunyy | 0:be95bfb06686 | 61 | #endif |
wuliqunyy | 0:be95bfb06686 | 62 | |
wuliqunyy | 0:be95bfb06686 | 63 | #if (defined _BSD_SOURCE && _BSD_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 64 | (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 500) || \ |
wuliqunyy | 0:be95bfb06686 | 65 | (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 66 | (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ |
wuliqunyy | 0:be95bfb06686 | 67 | C99 |
wuliqunyy | 0:be95bfb06686 | 68 | #define HAVE_SNPRINTF 1 |
wuliqunyy | 0:be95bfb06686 | 69 | #endif |
wuliqunyy | 0:be95bfb06686 | 70 | |
wuliqunyy | 0:be95bfb06686 | 71 | #if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) |
wuliqunyy | 0:be95bfb06686 | 72 | #define HAVE_STRNCASECMP 1 |
wuliqunyy | 0:be95bfb06686 | 73 | #endif |
wuliqunyy | 0:be95bfb06686 | 74 | |
wuliqunyy | 0:be95bfb06686 | 75 | #if (defined _BSD_SOURCE && _BSD_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 76 | (defined _SVID_SOURCE && _SVID_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 77 | (defined _XOPEN_SOURCE && _XOPEN_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 78 | (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 79 | (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) ||\ |
wuliqunyy | 0:be95bfb06686 | 80 | C99 |
wuliqunyy | 0:be95bfb06686 | 81 | #define HAVE_ISNAN 1 |
wuliqunyy | 0:be95bfb06686 | 82 | #endif |
wuliqunyy | 0:be95bfb06686 | 83 | |
wuliqunyy | 0:be95bfb06686 | 84 | #if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600)|| \ |
wuliqunyy | 0:be95bfb06686 | 85 | (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 86 | (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ |
wuliqunyy | 0:be95bfb06686 | 87 | C99 |
wuliqunyy | 0:be95bfb06686 | 88 | #define HAVE_ISFINITE 1 |
wuliqunyy | 0:be95bfb06686 | 89 | #define HAVE_SIGNBIT 1 |
wuliqunyy | 0:be95bfb06686 | 90 | #endif |
wuliqunyy | 0:be95bfb06686 | 91 | |
wuliqunyy | 0:be95bfb06686 | 92 | #if (defined _XOPEN_SOURCE && XOPEN_SOURCE >= 600) || \ |
wuliqunyy | 0:be95bfb06686 | 93 | (defined _BSD_SOURCE && _BSD_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 94 | (defined _SVID_SOURCE && _SVID_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 95 | (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 96 | (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) |
wuliqunyy | 0:be95bfb06686 | 97 | #define HAVE_STRTOLL 1 |
wuliqunyy | 0:be95bfb06686 | 98 | #endif |
wuliqunyy | 0:be95bfb06686 | 99 | |
wuliqunyy | 0:be95bfb06686 | 100 | #if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600) || \ |
wuliqunyy | 0:be95bfb06686 | 101 | (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \ |
wuliqunyy | 0:be95bfb06686 | 102 | (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \ |
wuliqunyy | 0:be95bfb06686 | 103 | C99 |
wuliqunyy | 0:be95bfb06686 | 104 | #define HAVE_STRTOF 1 |
wuliqunyy | 0:be95bfb06686 | 105 | #endif |
wuliqunyy | 0:be95bfb06686 | 106 | |
wuliqunyy | 0:be95bfb06686 | 107 | #if (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || C99 |
wuliqunyy | 0:be95bfb06686 | 108 | #define HAVE_STDBOOL 1 |
wuliqunyy | 0:be95bfb06686 | 109 | #endif |
wuliqunyy | 0:be95bfb06686 | 110 | |
wuliqunyy | 0:be95bfb06686 | 111 | /* Compiler specific */ |
wuliqunyy | 0:be95bfb06686 | 112 | /* RealView/Keil ARM Compiler, e.g. Cortex-M CPUs */ |
wuliqunyy | 0:be95bfb06686 | 113 | #if defined(__CC_ARM) |
wuliqunyy | 0:be95bfb06686 | 114 | #define HAVE_STRNCASECMP 1 |
wuliqunyy | 0:be95bfb06686 | 115 | #endif |
wuliqunyy | 0:be95bfb06686 | 116 | |
wuliqunyy | 0:be95bfb06686 | 117 | /* National Instruments (R) CVI x86/x64 PC platform */ |
wuliqunyy | 0:be95bfb06686 | 118 | #if defined(_CVI_) |
wuliqunyy | 0:be95bfb06686 | 119 | #define HAVE_STRNICMP 1 |
wuliqunyy | 0:be95bfb06686 | 120 | #endif |
wuliqunyy | 0:be95bfb06686 | 121 | |
wuliqunyy | 0:be95bfb06686 | 122 | /* 8bit PIC - PIC16, etc */ |
wuliqunyy | 0:be95bfb06686 | 123 | #if defined(_MPC_) |
wuliqunyy | 0:be95bfb06686 | 124 | #define HAVE_STRNICMP 1 |
wuliqunyy | 0:be95bfb06686 | 125 | #endif |
wuliqunyy | 0:be95bfb06686 | 126 | |
wuliqunyy | 0:be95bfb06686 | 127 | /* PIC24 */ |
wuliqunyy | 0:be95bfb06686 | 128 | #if defined(__C30__) |
wuliqunyy | 0:be95bfb06686 | 129 | #endif |
wuliqunyy | 0:be95bfb06686 | 130 | |
wuliqunyy | 0:be95bfb06686 | 131 | /* PIC32mx */ |
wuliqunyy | 0:be95bfb06686 | 132 | #if defined(__C32__) |
wuliqunyy | 0:be95bfb06686 | 133 | #define HAVE_FINITE 1 |
wuliqunyy | 0:be95bfb06686 | 134 | #endif |
wuliqunyy | 0:be95bfb06686 | 135 | |
wuliqunyy | 0:be95bfb06686 | 136 | /* AVR libc */ |
wuliqunyy | 0:be95bfb06686 | 137 | #if defined(__AVR__) |
wuliqunyy | 0:be95bfb06686 | 138 | #include <stdlib.h> |
wuliqunyy | 0:be95bfb06686 | 139 | #define HAVE_DTOSTRE 1 |
wuliqunyy | 0:be95bfb06686 | 140 | #undef HAVE_STRTOF |
wuliqunyy | 0:be95bfb06686 | 141 | #define HAVE_STRTOF 0 |
wuliqunyy | 0:be95bfb06686 | 142 | #endif |
wuliqunyy | 0:be95bfb06686 | 143 | |
wuliqunyy | 0:be95bfb06686 | 144 | /* default values */ |
wuliqunyy | 0:be95bfb06686 | 145 | #ifndef HAVE_STRNLEN |
wuliqunyy | 0:be95bfb06686 | 146 | #define HAVE_STRNLEN 0 |
wuliqunyy | 0:be95bfb06686 | 147 | #endif |
wuliqunyy | 0:be95bfb06686 | 148 | |
wuliqunyy | 0:be95bfb06686 | 149 | #ifndef HAVE_STRDUP |
wuliqunyy | 0:be95bfb06686 | 150 | #define HAVE_STRDUP 0 |
wuliqunyy | 0:be95bfb06686 | 151 | #endif |
wuliqunyy | 0:be95bfb06686 | 152 | |
wuliqunyy | 0:be95bfb06686 | 153 | #ifndef HAVE_STRNDUP |
wuliqunyy | 0:be95bfb06686 | 154 | #define HAVE_STRNDUP 0 |
wuliqunyy | 0:be95bfb06686 | 155 | #endif |
wuliqunyy | 0:be95bfb06686 | 156 | |
wuliqunyy | 0:be95bfb06686 | 157 | #ifndef HAVE_STRNICMP |
wuliqunyy | 0:be95bfb06686 | 158 | #define HAVE_STRNICMP 0 |
wuliqunyy | 0:be95bfb06686 | 159 | #endif |
wuliqunyy | 0:be95bfb06686 | 160 | |
wuliqunyy | 0:be95bfb06686 | 161 | #ifndef HAVE_STDBOOL |
wuliqunyy | 0:be95bfb06686 | 162 | #define HAVE_STDBOOL 0 |
wuliqunyy | 0:be95bfb06686 | 163 | #endif |
wuliqunyy | 0:be95bfb06686 | 164 | |
wuliqunyy | 0:be95bfb06686 | 165 | #ifndef HAVE_SNPRINTF |
wuliqunyy | 0:be95bfb06686 | 166 | #define HAVE_SNPRINTF 0 |
wuliqunyy | 0:be95bfb06686 | 167 | #endif |
wuliqunyy | 0:be95bfb06686 | 168 | |
wuliqunyy | 0:be95bfb06686 | 169 | #ifndef HAVE_STRNCASECMP |
wuliqunyy | 0:be95bfb06686 | 170 | #define HAVE_STRNCASECMP 0 |
wuliqunyy | 0:be95bfb06686 | 171 | #endif |
wuliqunyy | 0:be95bfb06686 | 172 | |
wuliqunyy | 0:be95bfb06686 | 173 | #ifndef HAVE_ISNAN |
wuliqunyy | 0:be95bfb06686 | 174 | #define HAVE_ISNAN 0 |
wuliqunyy | 0:be95bfb06686 | 175 | #endif |
wuliqunyy | 0:be95bfb06686 | 176 | |
wuliqunyy | 0:be95bfb06686 | 177 | #ifndef HAVE_ISFINITE |
wuliqunyy | 0:be95bfb06686 | 178 | #define HAVE_ISFINITE 0 |
wuliqunyy | 0:be95bfb06686 | 179 | #endif |
wuliqunyy | 0:be95bfb06686 | 180 | |
wuliqunyy | 0:be95bfb06686 | 181 | #ifndef HAVE_FINITE |
wuliqunyy | 0:be95bfb06686 | 182 | #define HAVE_FINITE 0 |
wuliqunyy | 0:be95bfb06686 | 183 | #endif |
wuliqunyy | 0:be95bfb06686 | 184 | |
wuliqunyy | 0:be95bfb06686 | 185 | #ifndef HAVE_SIGNBIT |
wuliqunyy | 0:be95bfb06686 | 186 | #define HAVE_SIGNBIT 0 |
wuliqunyy | 0:be95bfb06686 | 187 | #endif |
wuliqunyy | 0:be95bfb06686 | 188 | |
wuliqunyy | 0:be95bfb06686 | 189 | #ifndef HAVE_STRTOLL |
wuliqunyy | 0:be95bfb06686 | 190 | #define HAVE_STRTOLL 0 |
wuliqunyy | 0:be95bfb06686 | 191 | #endif |
wuliqunyy | 0:be95bfb06686 | 192 | |
wuliqunyy | 0:be95bfb06686 | 193 | #ifndef HAVE_STRTOF |
wuliqunyy | 0:be95bfb06686 | 194 | #define HAVE_STRTOF 0 |
wuliqunyy | 0:be95bfb06686 | 195 | #endif |
wuliqunyy | 0:be95bfb06686 | 196 | |
wuliqunyy | 0:be95bfb06686 | 197 | #ifndef HAVE_DTOSTRE |
wuliqunyy | 0:be95bfb06686 | 198 | #define HAVE_DTOSTRE 0 |
wuliqunyy | 0:be95bfb06686 | 199 | #endif |
wuliqunyy | 0:be95bfb06686 | 200 | |
wuliqunyy | 0:be95bfb06686 | 201 | #ifdef __cplusplus |
wuliqunyy | 0:be95bfb06686 | 202 | } |
wuliqunyy | 0:be95bfb06686 | 203 | #endif |
wuliqunyy | 0:be95bfb06686 | 204 | |
wuliqunyy | 0:be95bfb06686 | 205 | #endif /* __SCPI_CC_H_ */ |
wuliqunyy | 0:be95bfb06686 | 206 |