@agoric/xsnap 0.14.3-u14.0 → 0.14.3-u16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +3 -3
  2. package/api.js +4 -2
  3. package/build.env +1 -1
  4. package/moddable/modules/data/base64/base64.js +28 -0
  5. package/moddable/modules/data/base64/manifest.json +11 -0
  6. package/moddable/modules/data/base64/modBase64.c +188 -0
  7. package/moddable/modules/data/binaryMessage/BinaryMessage.js +106 -0
  8. package/moddable/modules/data/crc/crc.c +205 -0
  9. package/moddable/modules/data/crc/crc.js +36 -0
  10. package/moddable/modules/data/crc/manifest.json +8 -0
  11. package/moddable/modules/data/hex/hex.js +28 -0
  12. package/moddable/modules/data/hex/manifest.json +11 -0
  13. package/moddable/modules/data/hex/modHex.c +139 -0
  14. package/moddable/modules/data/logical/logical.js +32 -0
  15. package/moddable/modules/data/logical/modLogical.c +98 -0
  16. package/moddable/modules/data/qrcode/manifest.json +9 -0
  17. package/moddable/modules/data/qrcode/qrcode.c +93 -0
  18. package/moddable/modules/data/qrcode/qrcode.js +23 -0
  19. package/moddable/modules/data/qrcode/qrcodegen.c +1025 -0
  20. package/moddable/modules/data/qrcode/qrcodegen.h +267 -0
  21. package/moddable/modules/data/text/decoder/manifest.json +8 -0
  22. package/moddable/modules/data/text/decoder/textdecoder.c +480 -0
  23. package/moddable/modules/data/text/decoder/textdecoder.js +27 -0
  24. package/moddable/modules/data/text/encoder/manifest.json +8 -0
  25. package/moddable/modules/data/text/encoder/textencoder.c +232 -0
  26. package/moddable/modules/data/text/encoder/textencoder.js +24 -0
  27. package/moddable/modules/data/tinyint/tinyint.c +150 -0
  28. package/moddable/modules/data/tinyint/tinyint.js +53 -0
  29. package/moddable/modules/data/url/manifest.json +17 -0
  30. package/moddable/modules/data/url/url.c +1959 -0
  31. package/moddable/modules/data/url/url.js +210 -0
  32. package/moddable/modules/data/wavreader/manifest.json +8 -0
  33. package/moddable/modules/data/wavreader/wavreader.js +128 -0
  34. package/moddable/modules/data/zlib/deflate.c +161 -0
  35. package/moddable/modules/data/zlib/deflate.js +63 -0
  36. package/moddable/modules/data/zlib/inflate.c +145 -0
  37. package/moddable/modules/data/zlib/inflate.js +66 -0
  38. package/moddable/modules/data/zlib/manifest_deflate.json +9 -0
  39. package/moddable/modules/data/zlib/manifest_inflate.json +9 -0
  40. package/moddable/modules/data/zlib/miniz.c +4924 -0
  41. package/moddable/xs/includes/xs.d.ts +73 -0
  42. package/moddable/xs/includes/xs.h +1533 -0
  43. package/moddable/xs/includes/xsmc.h +206 -0
  44. package/moddable/xs/makefiles/lin/makefile +33 -0
  45. package/moddable/xs/makefiles/lin/xsc.mk +118 -0
  46. package/moddable/xs/makefiles/lin/xsid.mk +90 -0
  47. package/moddable/xs/makefiles/lin/xsl.mk +168 -0
  48. package/moddable/xs/makefiles/lin/xst.mk +201 -0
  49. package/moddable/xs/makefiles/mac/makefile +33 -0
  50. package/moddable/xs/makefiles/mac/xsc.mk +130 -0
  51. package/moddable/xs/makefiles/mac/xsid.mk +102 -0
  52. package/moddable/xs/makefiles/mac/xsl.mk +177 -0
  53. package/moddable/xs/makefiles/mac/xst.mk +203 -0
  54. package/moddable/xs/makefiles/mac/xst_no_asan.txt +52 -0
  55. package/moddable/xs/makefiles/win/build.bat +26 -0
  56. package/moddable/xs/makefiles/win/xsc.mak +142 -0
  57. package/moddable/xs/makefiles/win/xsid.mak +113 -0
  58. package/moddable/xs/makefiles/win/xsl.mak +186 -0
  59. package/moddable/xs/makefiles/win/xst.mak +195 -0
  60. package/moddable/xs/platforms/lin_xs.h +99 -0
  61. package/moddable/xs/platforms/mac_xs.h +97 -0
  62. package/moddable/xs/platforms/wasm_xs.h +79 -0
  63. package/moddable/xs/platforms/win_xs.h +104 -0
  64. package/moddable/xs/platforms/xsHost.h +63 -0
  65. package/moddable/xs/platforms/xsPlatform.h +618 -0
  66. package/moddable/xs/sources/xsAPI.c +2555 -0
  67. package/moddable/xs/sources/xsAll.c +294 -0
  68. package/moddable/xs/sources/xsAll.h +2741 -0
  69. package/moddable/xs/sources/xsArguments.c +222 -0
  70. package/moddable/xs/sources/xsArray.c +2657 -0
  71. package/moddable/xs/sources/xsAtomics.c +844 -0
  72. package/moddable/xs/sources/xsBigInt.c +1859 -0
  73. package/moddable/xs/sources/xsBoolean.c +109 -0
  74. package/moddable/xs/sources/xsCode.c +4493 -0
  75. package/moddable/xs/sources/xsCommon.c +1710 -0
  76. package/moddable/xs/sources/xsCommon.h +1142 -0
  77. package/moddable/xs/sources/xsDataView.c +2890 -0
  78. package/moddable/xs/sources/xsDate.c +1541 -0
  79. package/moddable/xs/sources/xsDebug.c +2710 -0
  80. package/moddable/xs/sources/xsDefaults.c +134 -0
  81. package/moddable/xs/sources/xsError.c +353 -0
  82. package/moddable/xs/sources/xsFunction.c +776 -0
  83. package/moddable/xs/sources/xsGenerator.c +865 -0
  84. package/moddable/xs/sources/xsGlobal.c +839 -0
  85. package/moddable/xs/sources/xsJSON.c +1091 -0
  86. package/moddable/xs/sources/xsLexical.c +1969 -0
  87. package/moddable/xs/sources/xsLockdown.c +933 -0
  88. package/moddable/xs/sources/xsMapSet.c +1649 -0
  89. package/moddable/xs/sources/xsMarshall.c +1020 -0
  90. package/moddable/xs/sources/xsMath.c +624 -0
  91. package/moddable/xs/sources/xsMemory.c +1941 -0
  92. package/moddable/xs/sources/xsModule.c +3101 -0
  93. package/moddable/xs/sources/xsNumber.c +560 -0
  94. package/moddable/xs/sources/xsObject.c +1102 -0
  95. package/moddable/xs/sources/xsPlatforms.c +480 -0
  96. package/moddable/xs/sources/xsProfile.c +577 -0
  97. package/moddable/xs/sources/xsPromise.c +1199 -0
  98. package/moddable/xs/sources/xsProperty.c +636 -0
  99. package/moddable/xs/sources/xsProxy.c +1014 -0
  100. package/moddable/xs/sources/xsRegExp.c +1168 -0
  101. package/moddable/xs/sources/xsRun.c +4889 -0
  102. package/moddable/xs/sources/xsScope.c +1293 -0
  103. package/moddable/xs/sources/xsScript.c +288 -0
  104. package/moddable/xs/sources/xsScript.h +1186 -0
  105. package/moddable/xs/sources/xsSnapshot.c +2161 -0
  106. package/moddable/xs/sources/xsSnapshot.h +51 -0
  107. package/moddable/xs/sources/xsSourceMap.c +218 -0
  108. package/moddable/xs/sources/xsString.c +3332 -0
  109. package/moddable/xs/sources/xsSymbol.c +503 -0
  110. package/moddable/xs/sources/xsSyntaxical.c +4193 -0
  111. package/moddable/xs/sources/xsTree.c +1893 -0
  112. package/moddable/xs/sources/xsType.c +1488 -0
  113. package/moddable/xs/sources/xsdtoa.c +6672 -0
  114. package/moddable/xs/sources/xsmc.c +340 -0
  115. package/moddable/xs/sources/xsre.c +7578 -0
  116. package/package.json +37 -20
  117. package/scripts/get_xsnap_version.sh +14 -0
  118. package/scripts/test-package.sh +21 -0
  119. package/src/avaAssertXS.js +6 -2
  120. package/src/avaHandler.cjs +2 -5
  121. package/src/avaXS.js +7 -8
  122. package/src/build.js +161 -28
  123. package/src/replay.js +0 -3
  124. package/src/xsnap.js +105 -91
  125. package/src/xsrepl.js +2 -3
  126. package/xsnap-native/xsnap/makefiles/lin/makefile +10 -0
  127. package/xsnap-native/xsnap/makefiles/lin/xsnap-worker.mk +156 -0
  128. package/xsnap-native/xsnap/makefiles/lin/xsnap.mk +144 -0
  129. package/xsnap-native/xsnap/makefiles/mac/makefile +10 -0
  130. package/xsnap-native/xsnap/makefiles/mac/xsnap-worker.mk +165 -0
  131. package/xsnap-native/xsnap/makefiles/mac/xsnap.mk +153 -0
  132. package/xsnap-native/xsnap/sources/xsnap-worker.c +1008 -0
  133. package/xsnap-native/xsnap/sources/xsnap.c +717 -0
  134. package/xsnap-native/xsnap/sources/xsnap.h +142 -0
  135. package/xsnap-native/xsnap/sources/xsnapPlatform.c +1501 -0
  136. package/xsnap-native/xsnap/sources/xsnapPlatform.h +105 -0
  137. package/CHANGELOG.md +0 -654
@@ -0,0 +1,618 @@
1
+ /*
2
+ * Copyright (c) 2016-2017 Moddable Tech, Inc.
3
+ *
4
+ * This file is part of the Moddable SDK Runtime.
5
+ *
6
+ * The Moddable SDK Runtime is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as published by
8
+ * the Free Software Foundation, either version 3 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * The Moddable SDK Runtime is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public License
17
+ * along with the Moddable SDK Runtime. If not, see <http://www.gnu.org/licenses/>.
18
+ *
19
+ * This file incorporates work covered by the following copyright and
20
+ * permission notice:
21
+ *
22
+ * Copyright (C) 2010-2016 Marvell International Ltd.
23
+ * Copyright (C) 2002-2010 Kinoma, Inc.
24
+ *
25
+ * Licensed under the Apache License, Version 2.0 (the "License");
26
+ * you may not use this file except in compliance with the License.
27
+ * You may obtain a copy of the License at
28
+ *
29
+ * http://www.apache.org/licenses/LICENSE-2.0
30
+ *
31
+ * Unless required by applicable law or agreed to in writing, software
32
+ * distributed under the License is distributed on an "AS IS" BASIS,
33
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
+ * See the License for the specific language governing permissions and
35
+ * limitations under the License.
36
+ */
37
+
38
+ #ifndef __XSPLATFORM__
39
+ #define __XSPLATFORM__
40
+
41
+ #define mxBigEndian 0
42
+ #define mxLittleEndian 1
43
+
44
+ #define mxiOS 0
45
+ #define mxLinux 0
46
+ #define mxMacOSX 0
47
+ #define mxWasm 0
48
+ #define mxWindows 0
49
+
50
+ #include "xsHost.h"
51
+
52
+ #ifndef XSPLATFORM
53
+ /* for xsc and xsid on Linux, macOS or Windows */
54
+ #if defined(_MSC_VER)
55
+ #if defined(_M_IX86) || defined(_M_X64)
56
+ #undef mxWindows
57
+ #define mxWindows 1
58
+ #ifdef mxDynamicLink
59
+ #define mxExport extern __declspec( dllexport )
60
+ #define mxImport extern __declspec( dllimport )
61
+ #endif
62
+ #else
63
+ #error unknown Microsoft compiler
64
+ #endif
65
+ #elif defined(__GNUC__)
66
+ #if defined(__i386__) || defined(i386) || defined(intel) || defined(arm) || defined(__arm__) || defined(__k8__) || defined(__x86_64__) || defined(__aarch64__)
67
+ #if defined(__linux__) || defined(linux)
68
+ #undef mxLinux
69
+ #define mxLinux 1
70
+ #else
71
+ #undef mxMacOSX
72
+ #define mxMacOSX 1
73
+ #endif
74
+ #ifdef mxDynamicLink
75
+ #define mxExport extern __attribute__ ((visibility("default")))
76
+ #define mxImport extern __attribute__ ((visibility("default")))
77
+ #endif
78
+ #define XS_FUNCTION_NORETURN __attribute__((noreturn))
79
+ #endif
80
+ #else
81
+ #error unknown compiler
82
+ #endif
83
+ #if mxWindows
84
+ #define _USE_MATH_DEFINES
85
+ #define WIN32_LEAN_AND_MEAN
86
+ #define _WINSOCK_DEPRECATED_NO_WARNINGS
87
+ #endif
88
+ #include <ctype.h>
89
+ #include <float.h>
90
+ #include <math.h>
91
+ #include <setjmp.h>
92
+ #include <stdarg.h>
93
+ #include <stdint.h>
94
+ #include <stdbool.h>
95
+ #include <stdio.h>
96
+ #include <stdlib.h>
97
+ #include <string.h>
98
+ #include <time.h>
99
+ #if mxWindows
100
+ #include <winsock2.h>
101
+ #else
102
+ #include <arpa/inet.h>
103
+ #include <pthread.h>
104
+ #include <unistd.h>
105
+ #define mxUseGCCAtomics 1
106
+ #define mxUsePOSIXThreads 1
107
+ #endif
108
+ #define mxMachinePlatform \
109
+ void* waiterCondition; \
110
+ void* waiterData; \
111
+ txMachine* waiterLink;
112
+ #define mxUseDefaultMachinePlatform 1
113
+ #define mxUseDefaultBuildKeys 1
114
+ #define mxUseDefaultChunkAllocation 1
115
+ #define mxUseDefaultSlotAllocation 1
116
+ #define mxUseDefaultFindModule 1
117
+ #define mxUseDefaultLoadModule 1
118
+ #define mxUseDefaultParseScript 1
119
+ #define mxUseDefaultQueuePromiseJobs 1
120
+ #define mxUseDefaultSharedChunks 1
121
+ #define mxUseDefaultAbort 1
122
+ #define mxUseDefaultDebug 1
123
+ #else
124
+ #include XSPLATFORM
125
+ #endif
126
+
127
+ #ifndef ICACHE_FLASH_ATTR
128
+ #define ICACHE_FLASH_ATTR
129
+ #endif
130
+ #ifndef ICACHE_RODATA_ATTR
131
+ #define ICACHE_RODATA_ATTR
132
+ #endif
133
+ #ifndef ICACHE_RAM_ATTR
134
+ #define ICACHE_RAM_ATTR
135
+ #endif
136
+ #ifndef ICACHE_XS6RO_ATTR
137
+ #define ICACHE_XS6RO_ATTR
138
+ #endif
139
+ #ifndef ICACHE_XS6RO2_ATTR
140
+ #define ICACHE_XS6RO2_ATTR
141
+ #endif
142
+ #ifndef ICACHE_XS6STRING_ATTR
143
+ #define ICACHE_XS6STRING_ATTR
144
+ #endif
145
+
146
+ #ifndef XS_FUNCTION_NORETURN
147
+ #ifdef __GNUC__
148
+ #define XS_FUNCTION_NORETURN __attribute__((noreturn))
149
+ #else
150
+ #define XS_FUNCTION_NORETURN
151
+ #endif
152
+ #endif
153
+
154
+ #ifndef mxExport
155
+ #define mxExport extern
156
+ #endif
157
+ #ifndef mxImport
158
+ #define mxImport extern
159
+ #endif
160
+
161
+ #ifndef txS1
162
+ typedef int8_t txS1;
163
+ #endif
164
+ #ifndef txU1
165
+ typedef uint8_t txU1;
166
+ #endif
167
+ #ifndef txS2
168
+ typedef int16_t txS2;
169
+ #endif
170
+ #ifndef txU2
171
+ typedef uint16_t txU2;
172
+ #endif
173
+ #ifndef txS4
174
+ typedef int32_t txS4;
175
+ #endif
176
+ #ifndef txU4
177
+ typedef uint32_t txU4;
178
+ #endif
179
+ #ifndef txS8
180
+ typedef int64_t txS8;
181
+ #endif
182
+ #ifndef txU8
183
+ typedef uint64_t txU8;
184
+ #endif
185
+
186
+ #ifndef c_jmp_buf
187
+ typedef jmp_buf c_jmp_buf;
188
+ #endif
189
+ #ifndef c_longjmp
190
+ #define c_longjmp longjmp
191
+ #endif
192
+ #ifndef c_setjmp
193
+ #define c_setjmp setjmp
194
+ #endif
195
+
196
+ #ifndef c_va_list
197
+ typedef va_list c_va_list;
198
+ #endif
199
+ #ifndef c_va_arg
200
+ #define c_va_arg va_arg
201
+ #endif
202
+ #ifndef c_va_end
203
+ #define c_va_end va_end
204
+ #endif
205
+ #ifndef c_va_start
206
+ #define c_va_start va_start
207
+ #endif
208
+
209
+ #ifndef c_calloc
210
+ #define c_calloc calloc
211
+ #endif
212
+ #ifndef c_exit
213
+ #define c_exit exit
214
+ #endif
215
+ #ifndef c_free
216
+ #define c_free free
217
+ #endif
218
+ #ifndef c_malloc
219
+ #define c_malloc malloc
220
+ #endif
221
+ #ifndef c_free_uint32
222
+ #define c_free_uint32 free
223
+ #endif
224
+ #ifndef c_malloc_uint32
225
+ #define c_malloc_uint32 malloc
226
+ #endif
227
+ #ifndef c_qsort
228
+ #define c_qsort qsort
229
+ #endif
230
+ #ifndef c_realloc
231
+ #define c_realloc realloc
232
+ #endif
233
+ #ifndef c_strtod
234
+ #define c_strtod strtod
235
+ #endif
236
+ #ifndef c_strtol
237
+ #define c_strtol strtol
238
+ #endif
239
+ #ifndef c_strtoul
240
+ #define c_strtoul strtoul
241
+ #endif
242
+
243
+ #ifndef C_EOF
244
+ #define C_EOF EOF
245
+ #endif
246
+ #ifndef C_NULL
247
+ #define C_NULL NULL
248
+ #endif
249
+ #ifndef c_vprintf
250
+ #define c_vprintf vprintf
251
+ #endif
252
+ #ifndef c_printf
253
+ #define c_printf printf
254
+ #endif
255
+ #ifndef c_vsnprintf
256
+ #define c_vsnprintf vsnprintf
257
+ #endif
258
+ #ifndef c_snprintf
259
+ #define c_snprintf snprintf
260
+ #endif
261
+ #ifndef c_vfprintf
262
+ #define c_vfprintf vfprintf
263
+ #endif
264
+ #ifndef c_fprintf
265
+ #define c_fprintf fprintf
266
+ #endif
267
+
268
+ #ifndef c_signal
269
+ #ifdef EMSCRIPTEN
270
+ #define c_signal(signum, handler)
271
+ #else
272
+ #define c_signal signal
273
+ #endif
274
+ #endif
275
+
276
+ /* DATE */
277
+
278
+ #ifndef c_time_t
279
+ typedef time_t c_time_t;
280
+ #endif
281
+ #ifndef c_tm
282
+ typedef struct tm c_tm;
283
+ #endif
284
+ #ifndef c_localtime
285
+ #define c_localtime localtime
286
+ #endif
287
+ #ifndef c_mktime
288
+ #define c_mktime mktime
289
+ #endif
290
+ #ifndef c_gettimeofday
291
+ #if mxWindows
292
+ #include <sys/types.h>
293
+ #include <sys/timeb.h>
294
+ typedef struct timeval c_timeval;
295
+ struct c_timezone {
296
+ int tz_minuteswest;
297
+ int tz_dsttime;
298
+ };
299
+ #ifdef __cplusplus
300
+ extern "C" {
301
+ #endif
302
+ extern int c_gettimeofday(c_timeval *tp, struct c_timezone *tzp);
303
+ #ifdef __cplusplus
304
+ }
305
+ #endif
306
+ #else
307
+ #include <sys/time.h>
308
+ typedef struct timeval c_timeval;
309
+ #define c_timezone timezone
310
+ #define c_gettimeofday gettimeofday
311
+ #endif
312
+ #endif
313
+
314
+ /* MATH */
315
+
316
+ #ifndef C_DBL_MAX
317
+ #define C_DBL_MAX DBL_MAX
318
+ #endif
319
+ #ifndef C_DBL_MIN
320
+ #define C_DBL_MIN (double)5e-324
321
+ #endif
322
+ #ifndef C_EPSILON
323
+ #define C_EPSILON (double)2.2204460492503130808472633361816e-16
324
+ #endif
325
+ #ifndef C_FP_INFINITE
326
+ #define C_FP_INFINITE FP_INFINITE
327
+ #endif
328
+ #ifndef C_FP_NAN
329
+ #define C_FP_NAN FP_NAN
330
+ #endif
331
+ #ifndef C_FP_NORMAL
332
+ #define C_FP_NORMAL FP_NORMAL
333
+ #endif
334
+ #ifndef C_FP_SUBNORMAL
335
+ #define C_FP_SUBNORMAL FP_SUBNORMAL
336
+ #endif
337
+ #ifndef C_FP_ZERO
338
+ #define C_FP_ZERO FP_ZERO
339
+ #endif
340
+ #ifndef C_INFINITY
341
+ #define C_INFINITY (double)INFINITY
342
+ #endif
343
+ #ifndef C_M_E
344
+ #define C_M_E M_E
345
+ #endif
346
+ #ifndef C_M_LN10
347
+ #define C_M_LN10 M_LN10
348
+ #endif
349
+ #ifndef C_M_LN2
350
+ #define C_M_LN2 M_LN2
351
+ #endif
352
+ #ifndef C_M_LOG10E
353
+ #define C_M_LOG10E M_LOG10E
354
+ #endif
355
+ #ifndef C_M_LOG2E
356
+ #define C_M_LOG2E M_LOG2E
357
+ #endif
358
+ #ifndef C_M_PI
359
+ #define C_M_PI M_PI
360
+ #endif
361
+ #ifndef C_M_SQRT1_2
362
+ #define C_M_SQRT1_2 M_SQRT1_2
363
+ #endif
364
+ #ifndef C_M_SQRT2
365
+ #define C_M_SQRT2 M_SQRT2
366
+ #endif
367
+ #ifndef C_MAX_SAFE_INTEGER
368
+ #define C_MAX_SAFE_INTEGER (double)9007199254740991
369
+ #endif
370
+ #ifndef C_MIN_SAFE_INTEGER
371
+ #define C_MIN_SAFE_INTEGER (double)-9007199254740991
372
+ #endif
373
+ #ifndef C_NAN
374
+ #define C_NAN NAN
375
+ #endif
376
+ #ifndef C_RAND_MAX
377
+ #define C_RAND_MAX RAND_MAX
378
+ #endif
379
+ #ifndef c_acos
380
+ #define c_acos acos
381
+ #endif
382
+ #ifndef c_acosh
383
+ #define c_acosh acosh
384
+ #endif
385
+ #ifndef c_asin
386
+ #define c_asin asin
387
+ #endif
388
+ #ifndef c_asinh
389
+ #define c_asinh asinh
390
+ #endif
391
+ #ifndef c_atan
392
+ #define c_atan atan
393
+ #endif
394
+ #ifndef c_atanh
395
+ #define c_atanh atanh
396
+ #endif
397
+ #define c_atan2 atan2
398
+ #ifndef c_cbrt
399
+ #define c_cbrt cbrt
400
+ #endif
401
+ #ifndef c_ceil
402
+ #define c_ceil ceil
403
+ #endif
404
+ #ifndef c_cos
405
+ #define c_cos cos
406
+ #endif
407
+ #ifndef c_cosh
408
+ #define c_cosh cosh
409
+ #endif
410
+ #ifndef c_exp
411
+ #define c_exp exp
412
+ #endif
413
+ #define c_expm1 expm1
414
+ #ifndef c_fabs
415
+ #define c_fabs fabs
416
+ #endif
417
+ #ifndef c_floor
418
+ #define c_floor floor
419
+ #endif
420
+ #ifndef c_fmod
421
+ #define c_fmod fmod
422
+ #endif
423
+ #ifndef c_fpclassify
424
+ #define c_fpclassify fpclassify
425
+ #endif
426
+ #ifndef c_hypot
427
+ #define c_hypot hypot
428
+ #endif
429
+ #ifndef c_isfinite
430
+ #define c_isfinite isfinite
431
+ #endif
432
+ #ifndef c_isnormal
433
+ #define c_isnormal isnormal
434
+ #endif
435
+ #ifndef c_isnan
436
+ #define c_isnan isnan
437
+ #endif
438
+ #ifndef c_llround
439
+ #define c_llround llround
440
+ #endif
441
+ #ifndef c_log
442
+ #define c_log log
443
+ #endif
444
+ #ifndef c_log1p
445
+ #define c_log1p log1p
446
+ #endif
447
+ #ifndef c_log10
448
+ #define c_log10 log10
449
+ #endif
450
+ #ifndef c_log2
451
+ #define c_log2 log2
452
+ #endif
453
+ #ifndef c_nearbyint
454
+ #define c_nearbyint nearbyint
455
+ #endif
456
+ #ifndef c_pow
457
+ #define c_pow pow
458
+ #endif
459
+ #ifndef c_rand
460
+ #define c_rand rand
461
+ #endif
462
+ #ifndef c_round
463
+ #define c_round round
464
+ #endif
465
+ #ifndef c_signbit
466
+ #define c_signbit signbit
467
+ #endif
468
+ #ifndef c_sin
469
+ #define c_sin sin
470
+ #endif
471
+ #ifndef c_sinh
472
+ #define c_sinh sinh
473
+ #endif
474
+ #ifndef c_sqrt
475
+ #define c_sqrt sqrt
476
+ #endif
477
+ #ifndef c_srand
478
+ #define c_srand srand
479
+ #endif
480
+ #ifndef c_tan
481
+ #define c_tan tan
482
+ #endif
483
+ #ifndef c_tanh
484
+ #define c_tanh tanh
485
+ #endif
486
+ #ifndef c_trunc
487
+ #define c_trunc trunc
488
+ #endif
489
+
490
+ /* STRING */
491
+
492
+ #ifndef c_memcpy
493
+ #define c_memcpy memcpy
494
+ #endif
495
+ #ifndef c_memmove
496
+ #define c_memmove memmove
497
+ #endif
498
+ #ifndef c_memset
499
+ #define c_memset memset
500
+ #endif
501
+ #ifndef c_memcmp
502
+ #define c_memcmp memcmp
503
+ #endif
504
+ #ifndef c_strcat
505
+ #define c_strcat strcat
506
+ #endif
507
+ #ifndef c_strchr
508
+ #define c_strchr strchr
509
+ #endif
510
+ #ifndef c_strcmp
511
+ #define c_strcmp strcmp
512
+ #endif
513
+ #ifndef c_strcpy
514
+ #define c_strcpy strcpy
515
+ #endif
516
+ #ifndef c_strlen
517
+ #define c_strlen strlen
518
+ #endif
519
+ #ifndef c_strncat
520
+ #define c_strncat strncat
521
+ #endif
522
+ #ifndef c_strncmp
523
+ #define c_strncmp strncmp
524
+ #endif
525
+ #ifndef c_strncpy
526
+ #define c_strncpy strncpy
527
+ #endif
528
+ #ifndef c_strstr
529
+ #define c_strstr strstr
530
+ #endif
531
+ #ifndef c_strrchr
532
+ #define c_strrchr strrchr
533
+ #endif
534
+ #ifndef c_strcspn
535
+ #define c_strcspn strcspn
536
+ #endif
537
+ #ifndef c_strspn
538
+ #define c_strspn strspn
539
+ #endif
540
+
541
+
542
+ /* READ MEMORY */
543
+
544
+ #ifndef c_read8
545
+ #define c_read8(POINTER) *((txU1*)(POINTER))
546
+ #endif
547
+ #ifndef c_read16
548
+ #define c_read16(POINTER) *((txU2*)(POINTER))
549
+ #endif
550
+ #ifndef c_read32
551
+ #define c_read32(POINTER) *((txU4*)(POINTER))
552
+ #endif
553
+ #ifndef c_read16be
554
+ #if mxBigEndian
555
+ #define c_read16be(POINTER) *((txU2*)(POINTER))
556
+ #else
557
+ #define c_read16be(POINTER) ((((txU2)((txU1*)(POINTER))[0]) << 8) | ((txU2)((txU1*)(POINTER))[1]))
558
+ #endif
559
+ #endif
560
+ #ifndef c_read32be
561
+ #if mxBigEndian
562
+ #define c_read32be(POINTER) *((txU4*)(POINTER))
563
+ #else
564
+ #define c_read32be(POINTER) ((((txU4)((txU1*)(POINTER))[0]) << 24) | (((txU4)((txU1*)(POINTER))[1]) << 16) | (((txU4)((txU1*)(POINTER))[2]) << 8) | ((txU4)((txU1*)(POINTER))[3]))
565
+ #endif
566
+ #endif
567
+
568
+ #ifndef mxGetKeySlotID
569
+ #define mxGetKeySlotID(SLOT) (SLOT)->ID
570
+ #endif
571
+ #ifndef mxGetKeySlotKind
572
+ #define mxGetKeySlotKind(SLOT) (SLOT)->kind
573
+ #endif
574
+
575
+ #ifndef mxSeparator
576
+ #if mxWindows
577
+ #define mxSeparator '\\'
578
+ #else
579
+ #define mxSeparator '/'
580
+ #endif
581
+ #endif
582
+
583
+ #ifndef C_PATH_MAX
584
+ #if mxWindows
585
+ #define C_PATH_MAX _MAX_PATH
586
+ #else
587
+ #include <limits.h>
588
+ #define C_PATH_MAX PATH_MAX
589
+ #endif
590
+ #endif
591
+
592
+ #if mxWindows
593
+ #define C_ENOMEM ERROR_NOT_ENOUGH_MEMORY
594
+ #define C_EINVAL ERROR_INVALID_DATA
595
+ #else
596
+ #include <errno.h>
597
+ #include <sys/stat.h>
598
+ #define C_ENOMEM ENOMEM
599
+ #define C_EINVAL EINVAL
600
+ #endif
601
+
602
+ #ifdef mxParse
603
+ #if mxWindows
604
+ #ifdef __cplusplus
605
+ extern "C" {
606
+ #endif
607
+ extern char* c_realpath(const char* path, char* real);
608
+ #ifdef __cplusplus
609
+ }
610
+ #endif
611
+ #define mxParserThrowElse(_ASSERTION) { if (!(_ASSERTION)) { parser->error = GetLastError(); c_longjmp(parser->firstJump->jmp_buf, 1); } }
612
+ #else
613
+ #define c_realpath realpath
614
+ #define mxParserThrowElse(_ASSERTION) { if (!(_ASSERTION)) { parser->error = errno; c_longjmp(parser->firstJump->jmp_buf, 1); } }
615
+ #endif
616
+ #endif
617
+
618
+ #endif /* __XSPLATFORM__ */