You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
310 lines
6.4 KiB
C
310 lines
6.4 KiB
C
4 years ago
|
/**
|
||
|
* \file
|
||
|
*
|
||
|
* \brief Decrement macro.
|
||
|
*
|
||
|
* Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
|
||
|
*
|
||
|
* \asf_license_start
|
||
|
*
|
||
|
* \page License
|
||
|
*
|
||
|
* Subject to your compliance with these terms, you may use Microchip
|
||
|
* software and any derivatives exclusively with Microchip products.
|
||
|
* It is your responsibility to comply with third party license terms applicable
|
||
|
* to your use of third party software (including open source software) that
|
||
|
* may accompany Microchip software.
|
||
|
*
|
||
|
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
|
||
|
* WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
|
||
|
* INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
|
||
|
* AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
|
||
|
* LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
|
||
|
* LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
|
||
|
* SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
|
||
|
* POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
|
||
|
* ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
|
||
|
* RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
|
||
|
* THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
|
||
|
*
|
||
|
* \asf_license_stop
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef _UTILS_DECREMENT_MACRO_H
|
||
|
#define _UTILS_DECREMENT_MACRO_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* \brief Compile time decrement, result value is entire integer literal
|
||
|
*
|
||
|
* \param[in] val - value to be decremented
|
||
|
*/
|
||
|
#define DEC_VALUE(val) DEC_##val
|
||
|
|
||
|
// Preprocessor increment implementation
|
||
|
#define DEC_256 255
|
||
|
#define DEC_255 254
|
||
|
#define DEC_254 253
|
||
|
#define DEC_253 252
|
||
|
#define DEC_252 251
|
||
|
#define DEC_251 250
|
||
|
#define DEC_250 249
|
||
|
#define DEC_249 248
|
||
|
#define DEC_248 247
|
||
|
#define DEC_247 246
|
||
|
#define DEC_246 245
|
||
|
#define DEC_245 244
|
||
|
#define DEC_244 243
|
||
|
#define DEC_243 242
|
||
|
#define DEC_242 241
|
||
|
#define DEC_241 240
|
||
|
#define DEC_240 239
|
||
|
#define DEC_239 238
|
||
|
#define DEC_238 237
|
||
|
#define DEC_237 236
|
||
|
#define DEC_236 235
|
||
|
#define DEC_235 234
|
||
|
#define DEC_234 233
|
||
|
#define DEC_233 232
|
||
|
#define DEC_232 231
|
||
|
#define DEC_231 230
|
||
|
#define DEC_230 229
|
||
|
#define DEC_229 228
|
||
|
#define DEC_228 227
|
||
|
#define DEC_227 226
|
||
|
#define DEC_226 225
|
||
|
#define DEC_225 224
|
||
|
#define DEC_224 223
|
||
|
#define DEC_223 222
|
||
|
#define DEC_222 221
|
||
|
#define DEC_221 220
|
||
|
#define DEC_220 219
|
||
|
#define DEC_219 218
|
||
|
#define DEC_218 217
|
||
|
#define DEC_217 216
|
||
|
#define DEC_216 215
|
||
|
#define DEC_215 214
|
||
|
#define DEC_214 213
|
||
|
#define DEC_213 212
|
||
|
#define DEC_212 211
|
||
|
#define DEC_211 210
|
||
|
#define DEC_210 209
|
||
|
#define DEC_209 208
|
||
|
#define DEC_208 207
|
||
|
#define DEC_207 206
|
||
|
#define DEC_206 205
|
||
|
#define DEC_205 204
|
||
|
#define DEC_204 203
|
||
|
#define DEC_203 202
|
||
|
#define DEC_202 201
|
||
|
#define DEC_201 200
|
||
|
#define DEC_200 199
|
||
|
#define DEC_199 198
|
||
|
#define DEC_198 197
|
||
|
#define DEC_197 196
|
||
|
#define DEC_196 195
|
||
|
#define DEC_195 194
|
||
|
#define DEC_194 193
|
||
|
#define DEC_193 192
|
||
|
#define DEC_192 191
|
||
|
#define DEC_191 190
|
||
|
#define DEC_190 189
|
||
|
#define DEC_189 188
|
||
|
#define DEC_188 187
|
||
|
#define DEC_187 186
|
||
|
#define DEC_186 185
|
||
|
#define DEC_185 184
|
||
|
#define DEC_184 183
|
||
|
#define DEC_183 182
|
||
|
#define DEC_182 181
|
||
|
#define DEC_181 180
|
||
|
#define DEC_180 179
|
||
|
#define DEC_179 178
|
||
|
#define DEC_178 177
|
||
|
#define DEC_177 176
|
||
|
#define DEC_176 175
|
||
|
#define DEC_175 174
|
||
|
#define DEC_174 173
|
||
|
#define DEC_173 172
|
||
|
#define DEC_172 171
|
||
|
#define DEC_171 170
|
||
|
#define DEC_170 169
|
||
|
#define DEC_169 168
|
||
|
#define DEC_168 167
|
||
|
#define DEC_167 166
|
||
|
#define DEC_166 165
|
||
|
#define DEC_165 164
|
||
|
#define DEC_164 163
|
||
|
#define DEC_163 162
|
||
|
#define DEC_162 161
|
||
|
#define DEC_161 160
|
||
|
#define DEC_160 159
|
||
|
#define DEC_159 158
|
||
|
#define DEC_158 157
|
||
|
#define DEC_157 156
|
||
|
#define DEC_156 155
|
||
|
#define DEC_155 154
|
||
|
#define DEC_154 153
|
||
|
#define DEC_153 152
|
||
|
#define DEC_152 151
|
||
|
#define DEC_151 150
|
||
|
#define DEC_150 149
|
||
|
#define DEC_149 148
|
||
|
#define DEC_148 147
|
||
|
#define DEC_147 146
|
||
|
#define DEC_146 145
|
||
|
#define DEC_145 144
|
||
|
#define DEC_144 143
|
||
|
#define DEC_143 142
|
||
|
#define DEC_142 141
|
||
|
#define DEC_141 140
|
||
|
#define DEC_140 139
|
||
|
#define DEC_139 138
|
||
|
#define DEC_138 137
|
||
|
#define DEC_137 136
|
||
|
#define DEC_136 135
|
||
|
#define DEC_135 134
|
||
|
#define DEC_134 133
|
||
|
#define DEC_133 132
|
||
|
#define DEC_132 131
|
||
|
#define DEC_131 130
|
||
|
#define DEC_130 129
|
||
|
#define DEC_129 128
|
||
|
#define DEC_128 127
|
||
|
#define DEC_127 126
|
||
|
#define DEC_126 125
|
||
|
#define DEC_125 124
|
||
|
#define DEC_124 123
|
||
|
#define DEC_123 122
|
||
|
#define DEC_122 121
|
||
|
#define DEC_121 120
|
||
|
#define DEC_120 119
|
||
|
#define DEC_119 118
|
||
|
#define DEC_118 117
|
||
|
#define DEC_117 116
|
||
|
#define DEC_116 115
|
||
|
#define DEC_115 114
|
||
|
#define DEC_114 113
|
||
|
#define DEC_113 112
|
||
|
#define DEC_112 111
|
||
|
#define DEC_111 110
|
||
|
#define DEC_110 109
|
||
|
#define DEC_109 108
|
||
|
#define DEC_108 107
|
||
|
#define DEC_107 106
|
||
|
#define DEC_106 105
|
||
|
#define DEC_105 104
|
||
|
#define DEC_104 103
|
||
|
#define DEC_103 102
|
||
|
#define DEC_102 101
|
||
|
#define DEC_101 100
|
||
|
#define DEC_100 99
|
||
|
#define DEC_99 98
|
||
|
#define DEC_98 97
|
||
|
#define DEC_97 96
|
||
|
#define DEC_96 95
|
||
|
#define DEC_95 94
|
||
|
#define DEC_94 93
|
||
|
#define DEC_93 92
|
||
|
#define DEC_92 91
|
||
|
#define DEC_91 90
|
||
|
#define DEC_90 89
|
||
|
#define DEC_89 88
|
||
|
#define DEC_88 87
|
||
|
#define DEC_87 86
|
||
|
#define DEC_86 85
|
||
|
#define DEC_85 84
|
||
|
#define DEC_84 83
|
||
|
#define DEC_83 82
|
||
|
#define DEC_82 81
|
||
|
#define DEC_81 80
|
||
|
#define DEC_80 79
|
||
|
#define DEC_79 78
|
||
|
#define DEC_78 77
|
||
|
#define DEC_77 76
|
||
|
#define DEC_76 75
|
||
|
#define DEC_75 74
|
||
|
#define DEC_74 73
|
||
|
#define DEC_73 72
|
||
|
#define DEC_72 71
|
||
|
#define DEC_71 70
|
||
|
#define DEC_70 69
|
||
|
#define DEC_69 68
|
||
|
#define DEC_68 67
|
||
|
#define DEC_67 66
|
||
|
#define DEC_66 65
|
||
|
#define DEC_65 64
|
||
|
#define DEC_64 63
|
||
|
#define DEC_63 62
|
||
|
#define DEC_62 61
|
||
|
#define DEC_61 60
|
||
|
#define DEC_60 59
|
||
|
#define DEC_59 58
|
||
|
#define DEC_58 57
|
||
|
#define DEC_57 56
|
||
|
#define DEC_56 55
|
||
|
#define DEC_55 54
|
||
|
#define DEC_54 53
|
||
|
#define DEC_53 52
|
||
|
#define DEC_52 51
|
||
|
#define DEC_51 50
|
||
|
#define DEC_50 49
|
||
|
#define DEC_49 48
|
||
|
#define DEC_48 47
|
||
|
#define DEC_47 46
|
||
|
#define DEC_46 45
|
||
|
#define DEC_45 44
|
||
|
#define DEC_44 43
|
||
|
#define DEC_43 42
|
||
|
#define DEC_42 41
|
||
|
#define DEC_41 40
|
||
|
#define DEC_40 39
|
||
|
#define DEC_39 38
|
||
|
#define DEC_38 37
|
||
|
#define DEC_37 36
|
||
|
#define DEC_36 35
|
||
|
#define DEC_35 34
|
||
|
#define DEC_34 33
|
||
|
#define DEC_33 32
|
||
|
#define DEC_32 31
|
||
|
#define DEC_31 30
|
||
|
#define DEC_30 29
|
||
|
#define DEC_29 28
|
||
|
#define DEC_28 27
|
||
|
#define DEC_27 26
|
||
|
#define DEC_26 25
|
||
|
#define DEC_25 24
|
||
|
#define DEC_24 23
|
||
|
#define DEC_23 22
|
||
|
#define DEC_22 21
|
||
|
#define DEC_21 20
|
||
|
#define DEC_20 19
|
||
|
#define DEC_19 18
|
||
|
#define DEC_18 17
|
||
|
#define DEC_17 16
|
||
|
#define DEC_16 15
|
||
|
#define DEC_15 14
|
||
|
#define DEC_14 13
|
||
|
#define DEC_13 12
|
||
|
#define DEC_12 11
|
||
|
#define DEC_11 10
|
||
|
#define DEC_10 9
|
||
|
#define DEC_9 8
|
||
|
#define DEC_8 7
|
||
|
#define DEC_7 6
|
||
|
#define DEC_6 5
|
||
|
#define DEC_5 4
|
||
|
#define DEC_4 3
|
||
|
#define DEC_3 2
|
||
|
#define DEC_2 1
|
||
|
#define DEC_1 0
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif /* _UTILS_DECREMENT_MACRO_H */
|