1
+ #
2
+ #
3
+ # Nim's Runtime Library
4
+ # (c) Copyright 2018 Nim contributors
5
+ #
6
+ # See the file "copying.txt", included in this
7
+ # distribution, for details about the copyright.
8
+ #
9
+
1
10
# # This module wraps core JavaScript functions.
2
11
# #
3
12
# # Unless your application has very
19
28
Date* {.importc, nodecl.}: DateLib
20
29
JSON* {.importc, nodecl.}: JsonLib
21
30
22
- {.push importcpp.}
23
-
24
31
# Math library
25
- proc abs* (m: MathLib, a: SomeNumber): SomeNumber
26
- proc acos* (m: MathLib, a: SomeNumber): float
27
- proc acosh* (m: MathLib, a: SomeNumber): float
28
- proc asin* (m: MathLib, a: SomeNumber): float
29
- proc asinh* (m: MathLib, a: SomeNumber): float
30
- proc atan* (m: MathLib, a: SomeNumber): float
31
- proc atan2* (m: MathLib, a: SomeNumber): float
32
- proc atanh* (m: MathLib, a: SomeNumber): float
33
- proc cbrt* (m: MathLib, f: SomeFloat): SomeFloat
34
- proc ceil* (m: MathLib, f: SomeFloat): SomeFloat
35
- proc clz32* (m: MathLib, f: SomeInteger): int
36
- proc cos* (m: MathLib, a: SomeNumber): float
37
- proc cosh* (m: MathLib, a: SomeNumber): float
38
- proc exp* (m: MathLib, a: SomeNumber): float
39
- proc expm1* (m: MathLib, a: SomeNumber): float
40
- proc floor* (m: MathLib, f: SomeFloat): int
41
- proc fround* (m: MathLib, f: SomeFloat): float32
42
- proc hypot* (m: MathLib, args: varargs [distinct SomeNumber]) : float
43
- proc imul* (m: MathLib, a, b: int32 ): int32
44
- proc log* (m: MathLib, a: SomeNumber): float
45
- proc log10* (m: MathLib, a: SomeNumber): float
46
- proc log1p* (m: MathLib, a: SomeNumber): float
47
- proc log2* (m: MathLib, a: SomeNumber): float
48
- proc max* (m: MathLib, a, b: SomeNumber): SomeNumber
49
- proc min* [T: SomeNumber | JsRoot](m: MathLib, a, b: T): T
50
- proc pow*(m: MathLib, a, b: distinct SomeNumber): float
51
- proc random*(m: MathLib): float
52
- proc round*(m: MathLib, f: SomeFloat): int
53
- proc sign*(m: MathLib, f: SomeNumber): int
54
- proc sin*(m: MathLib, a: SomeNumber): float
55
- proc sinh*(m: MathLib, a: SomeNumber): float
56
- proc sqrt*(m: MathLib, f: SomeFloat): SomeFloat
57
- proc tan*(m: MathLib, a: SomeNumber): float
58
- proc tanh*(m: MathLib, a: SomeNumber): float
59
- proc trunc*(m: MathLib, f: SomeFloat): int
32
+ proc abs* (m: MathLib, a: SomeNumber): SomeNumber {.importcpp.}
33
+ proc acos* (m: MathLib, a: SomeNumber): float {.importcpp.}
34
+ proc acosh* (m: MathLib, a: SomeNumber): float {.importcpp.}
35
+ proc asin* (m: MathLib, a: SomeNumber): float {.importcpp.}
36
+ proc asinh* (m: MathLib, a: SomeNumber): float {.importcpp.}
37
+ proc atan* (m: MathLib, a: SomeNumber): float {.importcpp.}
38
+ proc atan2* (m: MathLib, a: SomeNumber): float {.importcpp.}
39
+ proc atanh* (m: MathLib, a: SomeNumber): float {.importcpp.}
40
+ proc cbrt* (m: MathLib, f: SomeFloat): SomeFloat {.importcpp.}
41
+ proc ceil* (m: MathLib, f: SomeFloat): SomeFloat {.importcpp.}
42
+ proc clz32* (m: MathLib, f: SomeInteger): int {.importcpp.}
43
+ proc cos* (m: MathLib, a: SomeNumber): float {.importcpp.}
44
+ proc cosh* (m: MathLib, a: SomeNumber): float {.importcpp.}
45
+ proc exp* (m: MathLib, a: SomeNumber): float {.importcpp.}
46
+ proc expm1* (m: MathLib, a: SomeNumber): float {.importcpp.}
47
+ proc floor* (m: MathLib, f: SomeFloat): int {.importcpp.}
48
+ proc fround* (m: MathLib, f: SomeFloat): float32 {.importcpp.}
49
+ proc hypot* (m: MathLib, args: varargs [distinct SomeNumber]) : float {.importcpp.}
50
+ proc imul* (m: MathLib, a, b: int32 ): int32 {.importcpp.}
51
+ proc log* (m: MathLib, a: SomeNumber): float {.importcpp.}
52
+ proc log10* (m: MathLib, a: SomeNumber): float {.importcpp.}
53
+ proc log1p* (m: MathLib, a: SomeNumber): float {.importcpp.}
54
+ proc log2* (m: MathLib, a: SomeNumber): float {.importcpp.}
55
+ proc max* (m: MathLib, a, b: SomeNumber): SomeNumber {.importcpp.}
56
+ proc min* [T: SomeNumber | JsRoot](m: MathLib, a, b: T): T {.importcpp.}
57
+ proc pow*(m: MathLib, a, b: distinct SomeNumber): float {.importcpp.}
58
+ proc random*(m: MathLib): float {.importcpp.}
59
+ proc round*(m: MathLib, f: SomeFloat): int {.importcpp.}
60
+ proc sign*(m: MathLib, f: SomeNumber): int {.importcpp.}
61
+ proc sin*(m: MathLib, a: SomeNumber): float {.importcpp.}
62
+ proc sinh*(m: MathLib, a: SomeNumber): float {.importcpp.}
63
+ proc sqrt*(m: MathLib, f: SomeFloat): SomeFloat {.importcpp.}
64
+ proc tan*(m: MathLib, a: SomeNumber): float {.importcpp.}
65
+ proc tanh*(m: MathLib, a: SomeNumber): float {.importcpp.}
66
+ proc trunc*(m: MathLib, f: SomeFloat): int {.importcpp.}
60
67
61
68
# Date library
62
- proc now*(d: DateLib): int
63
- proc UTC*(d: DateLib): int
64
- proc parse*(d: DateLib, s: cstring ): int
69
+ proc now*(d: DateLib): int {.importcpp.}
70
+ proc UTC*(d: DateLib): int {.importcpp.}
71
+ proc parse*(d: DateLib, s: cstring ): int {.importcpp.}
65
72
66
73
proc newDate*(): DateTime {.
67
74
importcpp: "new Date()".}
@@ -73,19 +80,17 @@ proc newDate*(year, month, day, hours, minutes,
73
80
seconds, milliseconds: int ): DateTime {.
74
81
importcpp: "new Date(#,#,#,#,#,#,#)".}
75
82
76
- proc getDay*(d: DateTime): int
77
- proc getFullYear*(d: DateTime): int
78
- proc getHours*(d: DateTime): int
79
- proc getMilliseconds*(d: DateTime): int
80
- proc getMinutes*(d: DateTime): int
81
- proc getMonth*(d: DateTime): int
82
- proc getSeconds*(d: DateTime): int
83
- proc getYear*(d: DateTime): int
84
- proc getTime*(d: DateTime): int
85
- proc toString*(d: DateTime): cstring
83
+ proc getDay*(d: DateTime): int {.importcpp.}
84
+ proc getFullYear*(d: DateTime): int {.importcpp.}
85
+ proc getHours*(d: DateTime): int {.importcpp.}
86
+ proc getMilliseconds*(d: DateTime): int {.importcpp.}
87
+ proc getMinutes*(d: DateTime): int {.importcpp.}
88
+ proc getMonth*(d: DateTime): int {.importcpp.}
89
+ proc getSeconds*(d: DateTime): int {.importcpp.}
90
+ proc getYear*(d: DateTime): int {.importcpp.}
91
+ proc getTime*(d: DateTime): int {.importcpp.}
92
+ proc toString*(d: DateTime): cstring {.importcpp.}
86
93
87
94
#JSON library
88
- proc stringify*(l: JsonLib, s: JsRoot): cstring
89
- proc parse*(l: JsonLib, s: cstring ): JsRoot
90
-
91
- {.pop.}
95
+ proc stringify*(l: JsonLib, s: JsRoot): cstring {.importcpp.}
96
+ proc parse*(l: JsonLib, s: cstring ): JsRoot {.importcpp.}
0 commit comments