goscript 0.0.33 → 0.0.35
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.
- package/compiler/analysis.go +30 -22
- package/compiler/analysis_test.go +14 -0
- package/compiler/assignment.go +45 -7
- package/compiler/builtin_test.go +2 -0
- package/compiler/compiler.go +15 -89
- package/compiler/compiler_test.go +0 -53
- package/compiler/composite-lit.go +60 -17
- package/compiler/decl.go +1 -1
- package/compiler/expr-call.go +347 -30
- package/compiler/expr-selector.go +28 -2
- package/compiler/expr.go +79 -38
- package/compiler/lit.go +112 -3
- package/compiler/primitive.go +6 -6
- package/compiler/protobuf.go +0 -5
- package/compiler/sanitize.go +101 -0
- package/compiler/spec-value.go +25 -18
- package/compiler/stmt-assign.go +128 -91
- package/compiler/stmt-for.go +78 -1
- package/compiler/stmt-range.go +333 -461
- package/compiler/stmt.go +46 -9
- package/compiler/type.go +14 -11
- package/dist/gs/builtin/builtin.d.ts +8 -0
- package/dist/gs/builtin/builtin.js +31 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/map.d.ts +4 -4
- package/dist/gs/builtin/map.js +12 -6
- package/dist/gs/builtin/map.js.map +1 -1
- package/dist/gs/builtin/slice.d.ts +14 -8
- package/dist/gs/builtin/slice.js +131 -31
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/github.com/pkg/errors/errors.d.ts +13 -0
- package/dist/gs/github.com/pkg/errors/errors.js +232 -0
- package/dist/gs/github.com/pkg/errors/errors.js.map +1 -0
- package/dist/gs/github.com/pkg/errors/go113.d.ts +4 -0
- package/dist/gs/github.com/pkg/errors/go113.js +34 -0
- package/dist/gs/github.com/pkg/errors/go113.js.map +1 -0
- package/dist/gs/github.com/pkg/errors/index.d.ts +3 -0
- package/dist/gs/github.com/pkg/errors/index.js +4 -0
- package/dist/gs/github.com/pkg/errors/index.js.map +1 -0
- package/dist/gs/github.com/pkg/errors/stack.d.ts +32 -0
- package/dist/gs/github.com/pkg/errors/stack.js +111 -0
- package/dist/gs/github.com/pkg/errors/stack.js.map +1 -0
- package/dist/gs/maps/index.d.ts +2 -0
- package/dist/gs/maps/index.js +3 -0
- package/dist/gs/maps/index.js.map +1 -0
- package/dist/gs/maps/iter.d.ts +7 -0
- package/dist/gs/maps/iter.gs.d.ts +7 -0
- package/dist/gs/maps/iter.gs.js +65 -0
- package/dist/gs/maps/iter.gs.js.map +1 -0
- package/dist/gs/maps/iter.js +57 -0
- package/dist/gs/maps/iter.js.map +1 -0
- package/dist/gs/maps/maps.d.ts +7 -0
- package/dist/gs/maps/maps.gs.d.ts +7 -0
- package/dist/gs/maps/maps.gs.js +79 -0
- package/dist/gs/maps/maps.gs.js.map +1 -0
- package/dist/gs/maps/maps.js +67 -0
- package/dist/gs/maps/maps.js.map +1 -0
- package/dist/gs/math/abs.gs.d.ts +1 -0
- package/dist/gs/math/abs.gs.js +10 -0
- package/dist/gs/math/abs.gs.js.map +1 -0
- package/dist/gs/math/acosh.gs.d.ts +2 -0
- package/dist/gs/math/acosh.gs.js +14 -0
- package/dist/gs/math/acosh.gs.js.map +1 -0
- package/dist/gs/math/asin.gs.d.ts +4 -0
- package/dist/gs/math/asin.gs.js +24 -0
- package/dist/gs/math/asin.gs.js.map +1 -0
- package/dist/gs/math/asinh.gs.d.ts +2 -0
- package/dist/gs/math/asinh.gs.js +14 -0
- package/dist/gs/math/asinh.gs.js.map +1 -0
- package/dist/gs/math/atan.gs.d.ts +4 -0
- package/dist/gs/math/atan.gs.js +22 -0
- package/dist/gs/math/atan.gs.js.map +1 -0
- package/dist/gs/math/atan2.gs.d.ts +2 -0
- package/dist/gs/math/atan2.gs.js +30 -0
- package/dist/gs/math/atan2.gs.js.map +1 -0
- package/dist/gs/math/atanh.gs.d.ts +2 -0
- package/dist/gs/math/atanh.gs.js +16 -0
- package/dist/gs/math/atanh.gs.js.map +1 -0
- package/dist/gs/math/bits.gs.d.ts +5 -0
- package/dist/gs/math/bits.gs.js +46 -0
- package/dist/gs/math/bits.gs.js.map +1 -0
- package/dist/gs/math/cbrt.gs.d.ts +2 -0
- package/dist/gs/math/cbrt.gs.js +14 -0
- package/dist/gs/math/cbrt.gs.js.map +1 -0
- package/dist/gs/math/const.gs.d.ts +30 -0
- package/dist/gs/math/const.gs.js +61 -0
- package/dist/gs/math/const.gs.js.map +1 -0
- package/dist/gs/math/copysign.gs.d.ts +1 -0
- package/dist/gs/math/copysign.gs.js +20 -0
- package/dist/gs/math/copysign.gs.js.map +1 -0
- package/dist/gs/math/dim.gs.d.ts +5 -0
- package/dist/gs/math/dim.gs.js +69 -0
- package/dist/gs/math/dim.gs.js.map +1 -0
- package/dist/gs/math/erf.gs.d.ts +4 -0
- package/dist/gs/math/erf.gs.js +336 -0
- package/dist/gs/math/erf.gs.js.map +1 -0
- package/dist/gs/math/erfinv.gs.d.ts +2 -0
- package/dist/gs/math/erfinv.gs.js +118 -0
- package/dist/gs/math/erfinv.gs.js.map +1 -0
- package/dist/gs/math/exp.gs.d.ts +5 -0
- package/dist/gs/math/exp.gs.js +30 -0
- package/dist/gs/math/exp.gs.js.map +1 -0
- package/dist/gs/math/expm1.gs.d.ts +2 -0
- package/dist/gs/math/expm1.gs.js +17 -0
- package/dist/gs/math/expm1.gs.js.map +1 -0
- package/dist/gs/math/floor.gs.d.ts +8 -0
- package/dist/gs/math/floor.gs.js +75 -0
- package/dist/gs/math/floor.gs.js.map +1 -0
- package/dist/gs/math/fma.gs.d.ts +1 -0
- package/dist/gs/math/fma.gs.js +8 -0
- package/dist/gs/math/fma.gs.js.map +1 -0
- package/dist/gs/math/frexp.gs.d.ts +2 -0
- package/dist/gs/math/frexp.gs.js +28 -0
- package/dist/gs/math/frexp.gs.js.map +1 -0
- package/dist/gs/math/gamma.gs.d.ts +3 -0
- package/dist/gs/math/gamma.gs.js +149 -0
- package/dist/gs/math/gamma.gs.js.map +1 -0
- package/dist/gs/math/hypot.gs.d.ts +2 -0
- package/dist/gs/math/hypot.gs.js +16 -0
- package/dist/gs/math/hypot.gs.js.map +1 -0
- package/dist/gs/math/index.d.ts +44 -0
- package/dist/gs/math/index.js +45 -0
- package/dist/gs/math/index.js.map +1 -0
- package/dist/gs/math/j0.gs.d.ts +4 -0
- package/dist/gs/math/j0.gs.js +228 -0
- package/dist/gs/math/j0.gs.js.map +1 -0
- package/dist/gs/math/j1.gs.d.ts +4 -0
- package/dist/gs/math/j1.gs.js +211 -0
- package/dist/gs/math/j1.gs.js.map +1 -0
- package/dist/gs/math/jn.gs.d.ts +2 -0
- package/dist/gs/math/jn.gs.js +412 -0
- package/dist/gs/math/jn.gs.js.map +1 -0
- package/dist/gs/math/ldexp.gs.d.ts +2 -0
- package/dist/gs/math/ldexp.gs.js +20 -0
- package/dist/gs/math/ldexp.gs.js.map +1 -0
- package/dist/gs/math/lgamma.gs.d.ts +2 -0
- package/dist/gs/math/lgamma.gs.js +243 -0
- package/dist/gs/math/lgamma.gs.js.map +1 -0
- package/dist/gs/math/log.gs.d.ts +2 -0
- package/dist/gs/math/log.gs.js +16 -0
- package/dist/gs/math/log.gs.js.map +1 -0
- package/dist/gs/math/log10.gs.d.ts +4 -0
- package/dist/gs/math/log10.gs.js +17 -0
- package/dist/gs/math/log10.gs.js.map +1 -0
- package/dist/gs/math/log1p.gs.d.ts +2 -0
- package/dist/gs/math/log1p.gs.js +17 -0
- package/dist/gs/math/log1p.gs.js.map +1 -0
- package/dist/gs/math/logb.gs.d.ts +3 -0
- package/dist/gs/math/logb.gs.js +43 -0
- package/dist/gs/math/logb.gs.js.map +1 -0
- package/dist/gs/math/mod.gs.d.ts +2 -0
- package/dist/gs/math/mod.gs.js +26 -0
- package/dist/gs/math/mod.gs.js.map +1 -0
- package/dist/gs/math/modf.gs.d.ts +2 -0
- package/dist/gs/math/modf.gs.js +24 -0
- package/dist/gs/math/modf.gs.js.map +1 -0
- package/dist/gs/math/nextafter.gs.d.ts +2 -0
- package/dist/gs/math/nextafter.gs.js +66 -0
- package/dist/gs/math/nextafter.gs.js.map +1 -0
- package/dist/gs/math/pow.gs.d.ts +3 -0
- package/dist/gs/math/pow.gs.js +40 -0
- package/dist/gs/math/pow.gs.js.map +1 -0
- package/dist/gs/math/pow10.gs.d.ts +1 -0
- package/dist/gs/math/pow10.gs.js +14 -0
- package/dist/gs/math/pow10.gs.js.map +1 -0
- package/dist/gs/math/remainder.gs.d.ts +2 -0
- package/dist/gs/math/remainder.gs.js +25 -0
- package/dist/gs/math/remainder.gs.js.map +1 -0
- package/dist/gs/math/signbit.gs.d.ts +1 -0
- package/dist/gs/math/signbit.gs.js +5 -0
- package/dist/gs/math/signbit.gs.js.map +1 -0
- package/dist/gs/math/sin.gs.d.ts +4 -0
- package/dist/gs/math/sin.gs.js +29 -0
- package/dist/gs/math/sin.gs.js.map +1 -0
- package/dist/gs/math/sincos.gs.d.ts +1 -0
- package/dist/gs/math/sincos.gs.js +11 -0
- package/dist/gs/math/sincos.gs.js.map +1 -0
- package/dist/gs/math/sinh.gs.d.ts +4 -0
- package/dist/gs/math/sinh.gs.js +27 -0
- package/dist/gs/math/sinh.gs.js.map +1 -0
- package/dist/gs/math/sqrt.gs.d.ts +2 -0
- package/dist/gs/math/sqrt.gs.js +15 -0
- package/dist/gs/math/sqrt.gs.js.map +1 -0
- package/dist/gs/math/tan.gs.d.ts +2 -0
- package/dist/gs/math/tan.gs.js +17 -0
- package/dist/gs/math/tan.gs.js.map +1 -0
- package/dist/gs/math/tanh.gs.d.ts +2 -0
- package/dist/gs/math/tanh.gs.js +17 -0
- package/dist/gs/math/tanh.gs.js.map +1 -0
- package/dist/gs/math/trig_reduce.gs.d.ts +1 -0
- package/dist/gs/math/trig_reduce.gs.js +62 -0
- package/dist/gs/math/trig_reduce.gs.js.map +1 -0
- package/dist/gs/math/unsafe.gs.d.ts +4 -0
- package/dist/gs/math/unsafe.gs.js +47 -0
- package/dist/gs/math/unsafe.gs.js.map +1 -0
- package/dist/gs/slices/slices.d.ts +6 -0
- package/dist/gs/slices/slices.js +8 -0
- package/dist/gs/slices/slices.js.map +1 -1
- package/dist/gs/strconv/atob.gs.d.ts +4 -0
- package/dist/gs/strconv/atob.gs.js +42 -0
- package/dist/gs/strconv/atob.gs.js.map +1 -0
- package/dist/gs/strconv/atof.gs.d.ts +2 -0
- package/dist/gs/strconv/atof.gs.js +51 -0
- package/dist/gs/strconv/atof.gs.js.map +1 -0
- package/dist/gs/strconv/atoi.gs.d.ts +33 -0
- package/dist/gs/strconv/atoi.gs.js +200 -0
- package/dist/gs/strconv/atoi.gs.js.map +1 -0
- package/dist/gs/strconv/doc.gs.d.ts +1 -0
- package/dist/gs/strconv/doc.gs.js +2 -0
- package/dist/gs/strconv/doc.gs.js.map +1 -0
- package/dist/gs/strconv/ftoa.gs.d.ts +3 -0
- package/dist/gs/strconv/ftoa.gs.js +58 -0
- package/dist/gs/strconv/ftoa.gs.js.map +1 -0
- package/dist/gs/strconv/index.d.ts +6 -0
- package/dist/gs/strconv/index.js +7 -0
- package/dist/gs/strconv/index.js.map +1 -0
- package/dist/gs/strconv/itoa.gs.d.ts +6 -0
- package/dist/gs/strconv/itoa.gs.js +37 -0
- package/dist/gs/strconv/itoa.gs.js.map +1 -0
- package/dist/gs/strconv/quote.gs.d.ts +19 -0
- package/dist/gs/strconv/quote.gs.js +217 -0
- package/dist/gs/strconv/quote.gs.js.map +1 -0
- package/dist/gs/strings/index.d.ts +3 -0
- package/dist/gs/strings/index.js +4 -0
- package/dist/gs/strings/index.js.map +1 -1
- package/dist/gs/strings/replace.d.ts +0 -74
- package/dist/gs/strings/replace.js +6 -204
- package/dist/gs/strings/replace.js.map +1 -1
- package/dist/gs/strings/search.d.ts +0 -1
- package/dist/gs/strings/search.js +0 -21
- package/dist/gs/strings/search.js.map +1 -1
- package/gs/builtin/builtin.ts +40 -0
- package/gs/builtin/map.ts +12 -7
- package/gs/builtin/slice.ts +174 -34
- package/gs/github.com/pkg/errors/errors.ts +307 -0
- package/gs/github.com/pkg/errors/go113.ts +39 -0
- package/gs/github.com/pkg/errors/index.ts +3 -0
- package/gs/github.com/pkg/errors/stack.ts +127 -0
- package/gs/maps/index.ts +2 -0
- package/gs/maps/iter.ts +67 -0
- package/gs/maps/maps.ts +89 -0
- package/gs/math/TODO.md +156 -0
- package/gs/math/abs.gs.test.ts +29 -0
- package/gs/math/abs.gs.ts +13 -0
- package/gs/math/acosh.gs.test.ts +39 -0
- package/gs/math/acosh.gs.ts +21 -0
- package/gs/math/asin.gs.test.ts +66 -0
- package/gs/math/asin.gs.ts +27 -0
- package/gs/math/asinh.gs.test.ts +37 -0
- package/gs/math/asinh.gs.ts +21 -0
- package/gs/math/atan.gs.test.ts +49 -0
- package/gs/math/atan.gs.ts +27 -0
- package/gs/math/atan2.gs.test.ts +55 -0
- package/gs/math/atan2.gs.ts +37 -0
- package/gs/math/atanh.gs.test.ts +47 -0
- package/gs/math/atanh.gs.ts +21 -0
- package/gs/math/bits.gs.test.ts +88 -0
- package/gs/math/bits.gs.ts +61 -0
- package/gs/math/cbrt.gs.test.ts +57 -0
- package/gs/math/cbrt.gs.ts +20 -0
- package/gs/math/const.gs.test.ts +54 -0
- package/gs/math/const.gs.ts +93 -0
- package/gs/math/copysign.gs.test.ts +44 -0
- package/gs/math/copysign.gs.ts +27 -0
- package/gs/math/dim.gs.test.ts +102 -0
- package/gs/math/dim.gs.ts +84 -0
- package/gs/math/erf.gs.test.ts +92 -0
- package/gs/math/erf.gs.ts +409 -0
- package/gs/math/erfinv.gs.test.ts +104 -0
- package/gs/math/erfinv.gs.ts +169 -0
- package/gs/math/exp.gs.test.ts +82 -0
- package/gs/math/exp.gs.ts +39 -0
- package/gs/math/expm1.gs.test.ts +48 -0
- package/gs/math/expm1.gs.ts +23 -0
- package/gs/math/floor.gs.test.ts +146 -0
- package/gs/math/floor.gs.ts +88 -0
- package/gs/math/fma.gs.test.ts +83 -0
- package/gs/math/fma.gs.ts +7 -0
- package/gs/math/frexp.gs.test.ts +146 -0
- package/gs/math/frexp.gs.ts +37 -0
- package/gs/math/gamma.gs.test.ts +66 -0
- package/gs/math/gamma.gs.ts +158 -0
- package/gs/math/hypot.gs.test.ts +73 -0
- package/gs/math/hypot.gs.ts +23 -0
- package/gs/math/index.ts +44 -0
- package/gs/math/j0.gs.test.ts +74 -0
- package/gs/math/j0.gs.ts +257 -0
- package/gs/math/j1.gs.test.ts +81 -0
- package/gs/math/j1.gs.ts +231 -0
- package/gs/math/jn.gs.test.ts +133 -0
- package/gs/math/jn.gs.ts +447 -0
- package/gs/math/ldexp.gs.test.ts +128 -0
- package/gs/math/ldexp.gs.ts +28 -0
- package/gs/math/lgamma.gs.test.ts +102 -0
- package/gs/math/lgamma.gs.ts +251 -0
- package/gs/math/log.gs.test.ts +40 -0
- package/gs/math/log.gs.ts +21 -0
- package/gs/math/log10.gs.test.ts +80 -0
- package/gs/math/log10.gs.ts +25 -0
- package/gs/math/log1p.gs.test.ts +55 -0
- package/gs/math/log1p.gs.ts +24 -0
- package/gs/math/logb.gs.test.ts +87 -0
- package/gs/math/logb.gs.ts +54 -0
- package/gs/math/mod.gs.test.ts +64 -0
- package/gs/math/mod.gs.ts +36 -0
- package/gs/math/modf.gs.test.ts +80 -0
- package/gs/math/modf.gs.ts +32 -0
- package/gs/math/nextafter.gs.test.ts +107 -0
- package/gs/math/nextafter.gs.ts +71 -0
- package/gs/math/pow.gs.test.ts +103 -0
- package/gs/math/pow.gs.ts +55 -0
- package/gs/math/pow10.gs.test.ts +58 -0
- package/gs/math/pow10.gs.ts +19 -0
- package/gs/math/remainder.gs.test.ts +70 -0
- package/gs/math/remainder.gs.ts +33 -0
- package/gs/math/signbit.gs.test.ts +33 -0
- package/gs/math/signbit.gs.ts +8 -0
- package/gs/math/sin.gs.test.ts +83 -0
- package/gs/math/sin.gs.ts +38 -0
- package/gs/math/sincos.gs.test.ts +91 -0
- package/gs/math/sincos.gs.ts +15 -0
- package/gs/math/sinh.gs.test.ts +66 -0
- package/gs/math/sinh.gs.ts +34 -0
- package/gs/math/sqrt.gs.test.ts +49 -0
- package/gs/math/sqrt.gs.ts +20 -0
- package/gs/math/tan.gs.test.ts +50 -0
- package/gs/math/tan.gs.ts +23 -0
- package/gs/math/tanh.gs.test.ts +52 -0
- package/gs/math/tanh.gs.ts +23 -0
- package/gs/math/trig_reduce.gs.ts +66 -0
- package/gs/math/unsafe.gs.ts +52 -0
- package/gs/slices/slices.ts +9 -0
- package/gs/strconv/atob.gs.ts +45 -0
- package/gs/strconv/atof.gs.ts +60 -0
- package/gs/strconv/atoi.gs.ts +243 -0
- package/gs/strconv/doc.gs.ts +2 -0
- package/gs/strconv/ftoa.gs.ts +66 -0
- package/gs/strconv/index.ts +6 -0
- package/gs/strconv/itoa.gs.ts +41 -0
- package/gs/strconv/quote.gs.ts +245 -0
- package/gs/strings/index.ts +4 -0
- package/gs/strings/replace.ts +9 -237
- package/gs/strings/search.ts +0 -28
- package/package.json +1 -1
- package/gs/stringslite/godoc.txt +0 -17
- package/gs/stringslite/index.ts +0 -1
- package/gs/stringslite/strings.ts +0 -82
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Signbit(x: number): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signbit.gs.js","sourceRoot":"","sources":["../../../gs/math/signbit.gs.ts"],"names":[],"mappings":"AAGA,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,CAAS;IAChC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
let _sin = $.arrayToSlice([1.58962301576546568060e-10, -2.50507477628578072866e-8, 2.75573136213857245213e-6, -1.98412698295895385996e-4, 8.33333333332211858878e-3, -1.66666666666666307295e-1]);
|
|
3
|
+
let _cos = $.arrayToSlice([-1.13585365213876817300e-11, 2.08757008419747316778e-9, -2.75573141792967388112e-7, 2.48015872888517045348e-5, -1.38888888888730564116e-3, 4.16666666666665929218e-2]);
|
|
4
|
+
// Cos returns the cosine of the radian argument x.
|
|
5
|
+
//
|
|
6
|
+
// Special cases are:
|
|
7
|
+
//
|
|
8
|
+
// Cos(±Inf) = NaN
|
|
9
|
+
// Cos(NaN) = NaN
|
|
10
|
+
export function Cos(x) {
|
|
11
|
+
return Math.cos(x);
|
|
12
|
+
}
|
|
13
|
+
export function cos(x) {
|
|
14
|
+
return Math.cos(x);
|
|
15
|
+
}
|
|
16
|
+
// Sin returns the sine of the radian argument x.
|
|
17
|
+
//
|
|
18
|
+
// Special cases are:
|
|
19
|
+
//
|
|
20
|
+
// Sin(±0) = ±0
|
|
21
|
+
// Sin(±Inf) = NaN
|
|
22
|
+
// Sin(NaN) = NaN
|
|
23
|
+
export function Sin(x) {
|
|
24
|
+
return Math.sin(x);
|
|
25
|
+
}
|
|
26
|
+
export function sin(x) {
|
|
27
|
+
return Math.sin(x);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=sin.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sin.gs.js","sourceRoot":"","sources":["../../../gs/math/sin.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAKlD,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,0BAA0B,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAEzM,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,CAAC,0BAA0B,EAAE,yBAAyB,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC,CAAA;AAEzM,mDAAmD;AACnD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,kBAAkB;AAClB,iBAAiB;AACjB,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,iDAAiD;AACjD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,eAAe;AACf,kBAAkB;AAClB,iBAAiB;AACjB,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Sincos(x: number): [number, number];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Sincos returns Sin(x), Cos(x).
|
|
2
|
+
//
|
|
3
|
+
// Special cases are:
|
|
4
|
+
//
|
|
5
|
+
// Sincos(±0) = ±0, 1
|
|
6
|
+
// Sincos(±Inf) = NaN, NaN
|
|
7
|
+
// Sincos(NaN) = NaN, NaN
|
|
8
|
+
export function Sincos(x) {
|
|
9
|
+
return [Math.sin(x), Math.cos(x)];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sincos.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sincos.gs.js","sourceRoot":"","sources":["../../../gs/math/sincos.gs.ts"],"names":[],"mappings":"AAIA,iCAAiC;AACjC,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,qBAAqB;AACrB,0BAA0B;AAC1B,yBAAyB;AACzB,MAAM,UAAU,MAAM,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Sinh returns the hyperbolic sine of x.
|
|
2
|
+
//
|
|
3
|
+
// Special cases are:
|
|
4
|
+
//
|
|
5
|
+
// Sinh(±0) = ±0
|
|
6
|
+
// Sinh(±Inf) = ±Inf
|
|
7
|
+
// Sinh(NaN) = NaN
|
|
8
|
+
export function Sinh(x) {
|
|
9
|
+
return Math.sinh(x);
|
|
10
|
+
}
|
|
11
|
+
export function sinh(x) {
|
|
12
|
+
return Math.sinh(x);
|
|
13
|
+
}
|
|
14
|
+
// Cosh returns the hyperbolic cosine of x.
|
|
15
|
+
//
|
|
16
|
+
// Special cases are:
|
|
17
|
+
//
|
|
18
|
+
// Cosh(±0) = 1
|
|
19
|
+
// Cosh(±Inf) = +Inf
|
|
20
|
+
// Cosh(NaN) = NaN
|
|
21
|
+
export function Cosh(x) {
|
|
22
|
+
return Math.cosh(x);
|
|
23
|
+
}
|
|
24
|
+
export function cosh(x) {
|
|
25
|
+
return Math.cosh(x);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=sinh.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sinh.gs.js","sourceRoot":"","sources":["../../../gs/math/sinh.gs.ts"],"names":[],"mappings":"AAIA,yCAAyC;AACzC,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,gBAAgB;AAChB,oBAAoB;AACpB,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,2CAA2C;AAC3C,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,eAAe;AACf,oBAAoB;AACpB,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Sqrt returns the square root of x.
|
|
2
|
+
//
|
|
3
|
+
// Special cases are:
|
|
4
|
+
//
|
|
5
|
+
// Sqrt(+Inf) = +Inf
|
|
6
|
+
// Sqrt(±0) = ±0
|
|
7
|
+
// Sqrt(x < 0) = NaN
|
|
8
|
+
// Sqrt(NaN) = NaN
|
|
9
|
+
export function Sqrt(x) {
|
|
10
|
+
return Math.sqrt(x);
|
|
11
|
+
}
|
|
12
|
+
export function sqrt(x) {
|
|
13
|
+
return Math.sqrt(x);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=sqrt.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqrt.gs.js","sourceRoot":"","sources":["../../../gs/math/sqrt.gs.ts"],"names":[],"mappings":"AAIA,qCAAqC;AACrC,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,oBAAoB;AACpB,gBAAgB;AAChB,oBAAoB;AACpB,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
let _tanP = $.arrayToSlice([-1.30936939181383777646e4, 1.15351664838587416140e6, -1.79565251976484877988e7]);
|
|
3
|
+
let _tanQ = $.arrayToSlice([1.00000000000000000000e0, 1.36812963470692954678e4, -1.32089234440210967447e6, 2.50083801823357915839e7, -5.38695755929454629881e7]);
|
|
4
|
+
// Tan returns the tangent of the radian argument x.
|
|
5
|
+
//
|
|
6
|
+
// Special cases are:
|
|
7
|
+
//
|
|
8
|
+
// Tan(±0) = ±0
|
|
9
|
+
// Tan(±Inf) = NaN
|
|
10
|
+
// Tan(NaN) = NaN
|
|
11
|
+
export function Tan(x) {
|
|
12
|
+
return Math.tan(x);
|
|
13
|
+
}
|
|
14
|
+
export function tan(x) {
|
|
15
|
+
return Math.tan(x);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tan.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tan.gs.js","sourceRoot":"","sources":["../../../gs/math/tan.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAIlD,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAEpH,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAExK,oDAAoD;AACpD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,eAAe;AACf,kBAAkB;AAClB,iBAAiB;AACjB,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
let tanhP = $.arrayToSlice([-9.64399179425052238628e-1, -9.92877231001918586564e1, -1.61468768441708447952e3]);
|
|
3
|
+
let tanhQ = $.arrayToSlice([1.12811678491632931402e2, 2.23548839060100448583e3, 4.84406305325125486048e3]);
|
|
4
|
+
// Tanh returns the hyperbolic tangent of x.
|
|
5
|
+
//
|
|
6
|
+
// Special cases are:
|
|
7
|
+
//
|
|
8
|
+
// Tanh(±0) = ±0
|
|
9
|
+
// Tanh(±Inf) = ±1
|
|
10
|
+
// Tanh(NaN) = NaN
|
|
11
|
+
export function Tanh(x) {
|
|
12
|
+
return Math.tanh(x);
|
|
13
|
+
}
|
|
14
|
+
export function tanh(x) {
|
|
15
|
+
return Math.tanh(x);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tanh.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanh.gs.js","sourceRoot":"","sources":["../../../gs/math/tanh.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAIlD,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,CAAC,yBAAyB,EAAE,CAAC,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAEtH,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,CAAA;AAElH,4CAA4C;AAC5C,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,gBAAgB;AAChB,kBAAkB;AAClB,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function trigReduce(x: number): [number, number];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { Float64bits, Float64frombits } from "./unsafe.gs.js";
|
|
3
|
+
import * as bits from "@goscript/math/bits/index.js";
|
|
4
|
+
let reduceThreshold = (1 << 29);
|
|
5
|
+
// trigReduce implements Payne-Hanek range reduction by Pi/4
|
|
6
|
+
// for x > 0. It returns the integer part mod 8 (j) and
|
|
7
|
+
// the fractional part (z) of x / (Pi/4).
|
|
8
|
+
// The implementation is based on:
|
|
9
|
+
// "ARGUMENT REDUCTION FOR HUGE ARGUMENTS: Good to the Last Bit"
|
|
10
|
+
// K. C. Ng et al, March 24, 1992
|
|
11
|
+
// The simulated multi-precision calculation of x*B uses 64-bit integer arithmetic.
|
|
12
|
+
export function trigReduce(x) {
|
|
13
|
+
let j = 0;
|
|
14
|
+
let z = 0;
|
|
15
|
+
{
|
|
16
|
+
let PI4 = 3.14159 / 4;
|
|
17
|
+
if (x < 0.785398) {
|
|
18
|
+
return [0, x];
|
|
19
|
+
}
|
|
20
|
+
// Extract out the integer and exponent such that,
|
|
21
|
+
// x = ix * 2 ** exp.
|
|
22
|
+
let ix = Float64bits(x);
|
|
23
|
+
let exp = $.int(((ix >> 52) & 2047)) - 1023 - 52;
|
|
24
|
+
ix &= ~(2047 << 52);
|
|
25
|
+
ix |= (1 << 52);
|
|
26
|
+
// Use the exponent to extract the 3 appropriate uint64 digits from mPi4,
|
|
27
|
+
// B ~ (z0, z1, z2), such that the product leading digit has the exponent -61.
|
|
28
|
+
// Note, exp >= -53 since x >= PI4 and exp < 971 for maximum float64.
|
|
29
|
+
let [digit, bitshift] = [$.int((exp + 61) / 64), (exp + 61) % 64];
|
|
30
|
+
let z0 = (((mPi4[digit] << bitshift)) | ((mPi4[digit + 1] >> (64 - bitshift))));
|
|
31
|
+
let z1 = (((mPi4[digit + 1] << bitshift)) | ((mPi4[digit + 2] >> (64 - bitshift))));
|
|
32
|
+
let z2 = (((mPi4[digit + 2] << bitshift)) | ((mPi4[digit + 3] >> (64 - bitshift))));
|
|
33
|
+
// Multiply mantissa by the digits and extract the upper two digits (hi, lo).
|
|
34
|
+
let [z2hi,] = bits.Mul64(BigInt(z2), BigInt(ix));
|
|
35
|
+
let [z1hi, z1lo] = bits.Mul64(BigInt(z1), BigInt(ix));
|
|
36
|
+
let z0lo = BigInt(z0 * ix);
|
|
37
|
+
let [lo, c] = bits.Add64(z1lo, z2hi, 0n);
|
|
38
|
+
let [hi,] = bits.Add64(z0lo, z1hi, c);
|
|
39
|
+
// The top 3 bits are j.
|
|
40
|
+
j = Number(hi >> 61n);
|
|
41
|
+
// Extract the fraction and find its magnitude.
|
|
42
|
+
hi = ((hi << 3n) | (lo >> 61n));
|
|
43
|
+
let lz = bits.LeadingZeros64(hi);
|
|
44
|
+
let e = 1023 - (lz + 1);
|
|
45
|
+
// Clear implicit mantissa bit and shift into place.
|
|
46
|
+
hi = (((hi << BigInt(lz + 1))) | ((lo >> BigInt(64 - (lz + 1)))));
|
|
47
|
+
hi >>= 64n - 52n;
|
|
48
|
+
// Include the exponent and convert to a float.
|
|
49
|
+
hi |= BigInt(e) << 52n;
|
|
50
|
+
z = Float64frombits(Number(hi));
|
|
51
|
+
// Map zeros to origin.
|
|
52
|
+
if ((j & 1) == 1) {
|
|
53
|
+
j++;
|
|
54
|
+
j &= 7;
|
|
55
|
+
z--;
|
|
56
|
+
}
|
|
57
|
+
// Multiply the fractional part by pi/4.
|
|
58
|
+
return [j, z * 0.785398];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
let mPi4 = $.arrayToSlice([0x0000000000000001, 0x45f306dc9c882a53, 0xf84eafa3ea69bb81, 0xb6c52b3278872083, 0xfca2c757bd778ac3, 0x6e48dc74849ba5c0, 0x0c925dd413a32439, 0xfc3bd63962534e7d, 0xd1046bea5d768909, 0xd338e04d68befc82, 0x7323ac7306a673e9, 0x3908bf177bf25076, 0x3ff12fffbc0b301f, 0xde5e2316b414da3e, 0xda6cfd9e4f96136e, 0x9e8c7ecd3cbfd45a, 0xea4f758fd7cbe2f6, 0x7a0e73ef14a525d4, 0xd7f6bf623f1aba10, 0xac06608df8f6d757]);
|
|
62
|
+
//# sourceMappingURL=trig_reduce.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trig_reduce.gs.js","sourceRoot":"","sources":["../../../gs/math/trig_reduce.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAA;AAEpD,IAAI,eAAe,GAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAEvC,4DAA4D;AAC5D,uDAAuD;AACvD,yCAAyC;AACzC,kCAAkC;AAClC,gEAAgE;AAChE,iCAAiC;AACjC,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,CAAS;IACnC,IAAI,CAAC,GAAW,CAAC,CAAA;IACjB,IAAI,CAAC,GAAW,CAAC,CAAA;IACjB,CAAC;QACA,IAAI,GAAG,GAAW,OAAO,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACd,CAAC;QACD,kDAAkD;QAClD,qBAAqB;QACrB,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAA;QAChD,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QACnB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACf,yEAAyE;QACzE,8EAA8E;QAC9E,qEAAqE;QACrE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;QACjE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACjF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,6EAA6E;QAC7E,IAAI,CAAC,IAAI,EAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,EAAE,EAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACtC,wBAAwB;QACxB,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAA;QACrB,+CAA+C;QAC/C,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACvB,oDAAoD;QACpD,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjE,EAAE,KAAK,GAAG,GAAG,GAAG,CAAA;QAChB,+CAA+C;QAC/C,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QACtB,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/B,uBAAuB;QACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,CAAC,EAAE,CAAA;YACH,CAAC,IAAI,CAAC,CAAA;YACN,CAAC,EAAE,CAAA;QACJ,CAAC;QACD,wCAAwC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAA;IACzB,CAAC;AACF,CAAC;AAED,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,CAAS,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Float32bits returns the IEEE 754 binary representation of f,
|
|
2
|
+
// with the sign bit of f and the result in the same bit position.
|
|
3
|
+
// Float32bits(Float32frombits(x)) == x.
|
|
4
|
+
export function Float32bits(f) {
|
|
5
|
+
const buffer = new ArrayBuffer(4);
|
|
6
|
+
const view = new DataView(buffer);
|
|
7
|
+
view.setFloat32(0, f, true); // little endian
|
|
8
|
+
return view.getUint32(0, true);
|
|
9
|
+
}
|
|
10
|
+
// Float32frombits returns the floating-point number corresponding
|
|
11
|
+
// to the IEEE 754 binary representation b, with the sign bit of b
|
|
12
|
+
// and the result in the same bit position.
|
|
13
|
+
// Float32frombits(Float32bits(x)) == x.
|
|
14
|
+
export function Float32frombits(b) {
|
|
15
|
+
const buffer = new ArrayBuffer(4);
|
|
16
|
+
const view = new DataView(buffer);
|
|
17
|
+
view.setUint32(0, b, true); // little endian
|
|
18
|
+
return view.getFloat32(0, true);
|
|
19
|
+
}
|
|
20
|
+
// Float64bits returns the IEEE 754 binary representation of f,
|
|
21
|
+
// with the sign bit of f and the result in the same bit position,
|
|
22
|
+
// and Float64bits(Float64frombits(x)) == x.
|
|
23
|
+
export function Float64bits(f) {
|
|
24
|
+
const buffer = new ArrayBuffer(8);
|
|
25
|
+
const view = new DataView(buffer);
|
|
26
|
+
view.setFloat64(0, f, true); // little endian
|
|
27
|
+
// JavaScript numbers are limited to 53-bit precision, so we need to handle this carefully
|
|
28
|
+
const low = view.getUint32(0, true);
|
|
29
|
+
const high = view.getUint32(4, true);
|
|
30
|
+
// Combine into a single number (may lose precision for very large values)
|
|
31
|
+
return high * 0x100000000 + low;
|
|
32
|
+
}
|
|
33
|
+
// Float64frombits returns the floating-point number corresponding
|
|
34
|
+
// to the IEEE 754 binary representation b, with the sign bit of b
|
|
35
|
+
// and the result in the same bit position.
|
|
36
|
+
// Float64frombits(Float64bits(x)) == x.
|
|
37
|
+
export function Float64frombits(b) {
|
|
38
|
+
const buffer = new ArrayBuffer(8);
|
|
39
|
+
const view = new DataView(buffer);
|
|
40
|
+
// Split the number into high and low 32-bit parts
|
|
41
|
+
const low = b & 0xFFFFFFFF;
|
|
42
|
+
const high = Math.floor(b / 0x100000000);
|
|
43
|
+
view.setUint32(0, low, true); // little endian
|
|
44
|
+
view.setUint32(4, high, true);
|
|
45
|
+
return view.getFloat64(0, true);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=unsafe.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsafe.gs.js","sourceRoot":"","sources":["../../../gs/math/unsafe.gs.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,kEAAkE;AAClE,wCAAwC;AACxC,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,kEAAkE;AAClE,kEAAkE;AAClE,2CAA2C;AAC3C,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,CAAS;IACxC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,+DAA+D;AAC/D,kEAAkE;AAClE,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC7C,0FAA0F;IAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrC,0EAA0E;IAC1E,OAAO,IAAI,GAAG,WAAW,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,kEAAkE;AAClE,kEAAkE;AAClE,2CAA2C;AAC3C,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,CAAS;IACxC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,kDAAkD;IAClD,MAAM,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC9C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -6,3 +6,9 @@ import * as $ from '@goscript/builtin/builtin.js';
|
|
|
6
6
|
* @returns An iterator function that yields index-value pairs
|
|
7
7
|
*/
|
|
8
8
|
export declare function All<T>(s: $.Slice<T>): (yieldFunc: (index: number, value: T) => boolean) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Sort sorts a slice in ascending order.
|
|
11
|
+
* This is equivalent to Go's slices.Sort function.
|
|
12
|
+
* @param s The slice to sort in place
|
|
13
|
+
*/
|
|
14
|
+
export declare function Sort<T extends string | number>(s: $.Slice<T>): void;
|
package/dist/gs/slices/slices.js
CHANGED
|
@@ -17,4 +17,12 @@ export function All(s) {
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Sort sorts a slice in ascending order.
|
|
22
|
+
* This is equivalent to Go's slices.Sort function.
|
|
23
|
+
* @param s The slice to sort in place
|
|
24
|
+
*/
|
|
25
|
+
export function Sort(s) {
|
|
26
|
+
$.sortSlice(s);
|
|
27
|
+
}
|
|
20
28
|
//# sourceMappingURL=slices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../gs/slices/slices.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACjB,CAAa;IAEb,OAAO,UAAU,MAA4C;QAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA,CAAC,2CAA2C;YAC5E,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../gs/slices/slices.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACjB,CAAa;IAEb,OAAO,UAAU,MAA4C;QAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA,CAAC,2CAA2C;YAC5E,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAA4B,CAAa;IAC3D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { syntaxError } from "./atoi.gs.js";
|
|
3
|
+
// ParseBool returns the boolean value represented by the string.
|
|
4
|
+
// It accepts 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False.
|
|
5
|
+
// Any other value returns an error.
|
|
6
|
+
export function ParseBool(str) {
|
|
7
|
+
switch (str) {
|
|
8
|
+
case "1":
|
|
9
|
+
case "t":
|
|
10
|
+
case "T":
|
|
11
|
+
case "true":
|
|
12
|
+
case "TRUE":
|
|
13
|
+
case "True":
|
|
14
|
+
return [true, null];
|
|
15
|
+
break;
|
|
16
|
+
case "0":
|
|
17
|
+
case "f":
|
|
18
|
+
case "F":
|
|
19
|
+
case "false":
|
|
20
|
+
case "FALSE":
|
|
21
|
+
case "False":
|
|
22
|
+
return [false, null];
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
return [false, syntaxError("ParseBool", str)];
|
|
26
|
+
}
|
|
27
|
+
// FormatBool returns "true" or "false" according to the value of b.
|
|
28
|
+
export function FormatBool(b) {
|
|
29
|
+
if (b) {
|
|
30
|
+
return "true";
|
|
31
|
+
}
|
|
32
|
+
return "false";
|
|
33
|
+
}
|
|
34
|
+
// AppendBool appends "true" or "false", according to the value of b,
|
|
35
|
+
// to dst and returns the extended buffer.
|
|
36
|
+
export function AppendBool(dst, b) {
|
|
37
|
+
if (b) {
|
|
38
|
+
return $.append(dst, ...$.stringToBytes("true"));
|
|
39
|
+
}
|
|
40
|
+
return $.append(dst, ...$.stringToBytes("false"));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=atob.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atob.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atob.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,iEAAiE;AACjE,sEAAsE;AACtE,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnB,MAAK;QACN,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACX,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACpB,MAAK;IACP,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,CAAU;IACpC,IAAI,CAAC,EAAE,CAAC;QACP,OAAO,MAAM,CAAA;IACd,CAAC;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AAED,qEAAqE;AACrE,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,CAAU;IAClD,IAAI,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AAClD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ErrSyntax, ErrRange, NumError } from "./atoi.gs.js";
|
|
2
|
+
// ParseFloat converts the string s to a floating-point number
|
|
3
|
+
// with the precision specified by bitSize: 32 for float32, or 64 for float64.
|
|
4
|
+
// When bitSize=32, the result still has type float64, but it will be
|
|
5
|
+
// convertible to float32 without changing its value.
|
|
6
|
+
export function ParseFloat(s, bitSize) {
|
|
7
|
+
if (s === "") {
|
|
8
|
+
return [0, new NumError({ Func: "ParseFloat", Num: s, Err: ErrSyntax })];
|
|
9
|
+
}
|
|
10
|
+
// Validate bitSize
|
|
11
|
+
if (bitSize !== 32 && bitSize !== 64) {
|
|
12
|
+
return [0, new NumError({ Func: "ParseFloat", Num: s, Err: ErrSyntax })];
|
|
13
|
+
}
|
|
14
|
+
// Handle special cases
|
|
15
|
+
const lower = s.toLowerCase();
|
|
16
|
+
switch (lower) {
|
|
17
|
+
case "+inf":
|
|
18
|
+
case "inf":
|
|
19
|
+
case "+infinity":
|
|
20
|
+
case "infinity":
|
|
21
|
+
return [Infinity, null];
|
|
22
|
+
case "-inf":
|
|
23
|
+
case "-infinity":
|
|
24
|
+
return [-Infinity, null];
|
|
25
|
+
case "nan":
|
|
26
|
+
return [NaN, null];
|
|
27
|
+
}
|
|
28
|
+
// Remove underscores if present (Go allows them in numeric literals)
|
|
29
|
+
let cleanS = s;
|
|
30
|
+
if (s.includes('_')) {
|
|
31
|
+
cleanS = s.replace(/_/g, '');
|
|
32
|
+
}
|
|
33
|
+
// Use JavaScript's parseFloat
|
|
34
|
+
const result = parseFloat(cleanS);
|
|
35
|
+
if (isNaN(result)) {
|
|
36
|
+
return [0, new NumError({ Func: "ParseFloat", Num: s, Err: ErrSyntax })];
|
|
37
|
+
}
|
|
38
|
+
// Check for range errors based on bitSize
|
|
39
|
+
if (bitSize === 32) {
|
|
40
|
+
const maxFloat32 = 3.4028234663852886e+38;
|
|
41
|
+
const minFloat32 = 1.175494351e-38;
|
|
42
|
+
if (isFinite(result) && Math.abs(result) > maxFloat32) {
|
|
43
|
+
return [result > 0 ? Infinity : -Infinity, new NumError({ Func: "ParseFloat", Num: s, Err: ErrRange })];
|
|
44
|
+
}
|
|
45
|
+
if (isFinite(result) && result !== 0 && Math.abs(result) < minFloat32) {
|
|
46
|
+
return [0, new NumError({ Func: "ParseFloat", Num: s, Err: ErrRange })];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return [result, null];
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=atof.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atof.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atof.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7D,8DAA8D;AAC9D,8EAA8E;AAC9E,qEAAqE;AACrE,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,OAAe;IACpD,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU;YACd,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACf,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,KAAK,KAAK;YACT,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,8BAA8B;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,0CAA0C;IAC1C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,sBAAsB,CAAC;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC;QAEnC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;YACvD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;YACvE,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACF,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
export declare let ErrRange: $.GoError;
|
|
3
|
+
export declare let ErrSyntax: $.GoError;
|
|
4
|
+
export declare class NumError {
|
|
5
|
+
get Func(): string;
|
|
6
|
+
set Func(value: string);
|
|
7
|
+
get Num(): string;
|
|
8
|
+
set Num(value: string);
|
|
9
|
+
get Err(): $.GoError;
|
|
10
|
+
set Err(value: $.GoError);
|
|
11
|
+
_fields: {
|
|
12
|
+
Func: $.VarRef<string>;
|
|
13
|
+
Num: $.VarRef<string>;
|
|
14
|
+
Err: $.VarRef<$.GoError>;
|
|
15
|
+
};
|
|
16
|
+
constructor(init?: Partial<{
|
|
17
|
+
Err?: $.GoError;
|
|
18
|
+
Func?: string;
|
|
19
|
+
Num?: string;
|
|
20
|
+
}>);
|
|
21
|
+
clone(): NumError;
|
|
22
|
+
Error(): string;
|
|
23
|
+
Unwrap(): $.GoError;
|
|
24
|
+
static __typeInfo: $.StructTypeInfo;
|
|
25
|
+
}
|
|
26
|
+
export declare function syntaxError(fn: string, str: string): NumError;
|
|
27
|
+
export declare function rangeError(fn: string, str: string): NumError;
|
|
28
|
+
export declare function baseError(fn: string, str: string, base: number): NumError;
|
|
29
|
+
export declare function bitSizeError(fn: string, str: string, bitSize: number): NumError;
|
|
30
|
+
export declare let IntSize: number;
|
|
31
|
+
export declare function ParseUint(s: string, base: number, bitSize: number): [number, $.GoError];
|
|
32
|
+
export declare function ParseInt(s: string, base: number, bitSize: number): [number, $.GoError];
|
|
33
|
+
export declare function Atoi(s: string): [number, $.GoError];
|