@glandais/vcyclist-engine 6.0.0 → 6.0.1
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/fit-kotlin-sdk.js +117 -117
- package/kotlin-kotlin-stdlib.js +473 -287
- package/kotlin-kotlin-stdlib.js.map +1 -1
- package/kotlinx-atomicfu.js +9 -9
- package/kotlinx-coroutines-core.js +87 -87
- package/kotlinx-serialization-kotlinx-serialization-core.js +1 -1
- package/package.json +1 -1
- package/vcyclist-elevation.js +74 -62
- package/vcyclist-elevation.js.map +1 -1
- package/vcyclist-engine.js +290 -200
- package/vcyclist-engine.js.map +1 -1
- package/vcyclist-fit.js +134 -135
- package/vcyclist-fit.js.map +1 -1
- package/vcyclist-gpx.js +403 -169
- package/vcyclist-gpx.js.map +1 -1
- package/xmlutil-core.js +99 -99
package/vcyclist-engine.js
CHANGED
|
@@ -30,123 +30,125 @@
|
|
|
30
30
|
var imul = Math.imul;
|
|
31
31
|
var hypot = Math.hypot;
|
|
32
32
|
var sign = Math.sign;
|
|
33
|
-
var protoOf = kotlin_kotlin.$_$.
|
|
34
|
-
var initMetadataForCompanion = kotlin_kotlin.$_$.
|
|
33
|
+
var protoOf = kotlin_kotlin.$_$.o7;
|
|
34
|
+
var initMetadataForCompanion = kotlin_kotlin.$_$.a7;
|
|
35
35
|
var VOID = kotlin_kotlin.$_$.a;
|
|
36
|
-
var getNumberHashCode = kotlin_kotlin.$_$.
|
|
37
|
-
var equals = kotlin_kotlin.$_$.
|
|
38
|
-
var initMetadataForClass = kotlin_kotlin.$_$.
|
|
39
|
-
var toString = kotlin_kotlin.$_$.
|
|
40
|
-
var hashCode = kotlin_kotlin.$_$.
|
|
36
|
+
var getNumberHashCode = kotlin_kotlin.$_$.v6;
|
|
37
|
+
var equals = kotlin_kotlin.$_$.s6;
|
|
38
|
+
var initMetadataForClass = kotlin_kotlin.$_$.z6;
|
|
39
|
+
var toString = kotlin_kotlin.$_$.r7;
|
|
40
|
+
var hashCode = kotlin_kotlin.$_$.y6;
|
|
41
41
|
var ElevationGainPreset_DEM_getInstance = kotlin_io_github_glandais_gpx.$_$.c;
|
|
42
|
-
var initMetadataForObject = kotlin_kotlin.$_$.
|
|
43
|
-
var getBooleanHashCode = kotlin_kotlin.$_$.
|
|
44
|
-
var isFinite = kotlin_kotlin.$_$.
|
|
45
|
-
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.
|
|
46
|
-
var Unit_instance = kotlin_kotlin.$_$.
|
|
42
|
+
var initMetadataForObject = kotlin_kotlin.$_$.f7;
|
|
43
|
+
var getBooleanHashCode = kotlin_kotlin.$_$.u6;
|
|
44
|
+
var isFinite = kotlin_kotlin.$_$.ab;
|
|
45
|
+
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.b2;
|
|
46
|
+
var Unit_instance = kotlin_kotlin.$_$.h1;
|
|
47
47
|
var ElevationGainOptions = kotlin_io_github_glandais_gpx.$_$.y;
|
|
48
|
-
var CoroutineImpl = kotlin_kotlin.$_$.
|
|
48
|
+
var CoroutineImpl = kotlin_kotlin.$_$.h5;
|
|
49
49
|
var PointPerDistance_instance = kotlin_io_github_glandais_gpx.$_$.o;
|
|
50
50
|
var ElevationStep_instance = kotlin_io_github_glandais_gpx.$_$.l;
|
|
51
|
-
var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.
|
|
51
|
+
var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.s4;
|
|
52
52
|
var PointPerSecond_instance = kotlin_io_github_glandais_gpx.$_$.p;
|
|
53
53
|
var PathSimplifier_instance = kotlin_io_github_glandais_gpx.$_$.m;
|
|
54
54
|
var ElevationGain_instance = kotlin_io_github_glandais_gpx.$_$.k;
|
|
55
|
-
var initMetadataForCoroutine = kotlin_kotlin.$_$.
|
|
56
|
-
var Companion_instance = kotlin_kotlin.$_$.
|
|
57
|
-
var collectionSizeOrDefault = kotlin_kotlin.$_$.
|
|
58
|
-
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.
|
|
59
|
-
var enumEntries = kotlin_kotlin.$_$.
|
|
60
|
-
var Enum = kotlin_kotlin.$_$.
|
|
61
|
-
var noWhenBranchMatchedException = kotlin_kotlin.$_$.
|
|
62
|
-
var last = kotlin_kotlin.$_$.
|
|
63
|
-
var toIntArray = kotlin_kotlin.$_$.
|
|
64
|
-
var sortedWith = kotlin_kotlin.$_$.
|
|
65
|
-
var toMutableList = kotlin_kotlin.$_$.
|
|
66
|
-
var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.
|
|
67
|
-
var first = kotlin_kotlin.$_$.
|
|
68
|
-
var removeAll = kotlin_kotlin.$_$.
|
|
69
|
-
var numberRangeToNumber = kotlin_kotlin.$_$.
|
|
55
|
+
var initMetadataForCoroutine = kotlin_kotlin.$_$.b7;
|
|
56
|
+
var Companion_instance = kotlin_kotlin.$_$.f1;
|
|
57
|
+
var collectionSizeOrDefault = kotlin_kotlin.$_$.y2;
|
|
58
|
+
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.j1;
|
|
59
|
+
var enumEntries = kotlin_kotlin.$_$.j5;
|
|
60
|
+
var Enum = kotlin_kotlin.$_$.ha;
|
|
61
|
+
var noWhenBranchMatchedException = kotlin_kotlin.$_$.eb;
|
|
62
|
+
var last = kotlin_kotlin.$_$.s3;
|
|
63
|
+
var toIntArray = kotlin_kotlin.$_$.j4;
|
|
64
|
+
var sortedWith = kotlin_kotlin.$_$.f4;
|
|
65
|
+
var toMutableList = kotlin_kotlin.$_$.n4;
|
|
66
|
+
var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.k1;
|
|
67
|
+
var first = kotlin_kotlin.$_$.l3;
|
|
68
|
+
var removeAll = kotlin_kotlin.$_$.a4;
|
|
69
|
+
var numberRangeToNumber = kotlin_kotlin.$_$.k7;
|
|
70
70
|
var Vector3D = kotlin_io_github_glandais_elevation.$_$.h;
|
|
71
|
-
var emptyList = kotlin_kotlin.$_$.
|
|
72
|
-
var coerceIn = kotlin_kotlin.$_$.
|
|
71
|
+
var emptyList = kotlin_kotlin.$_$.h3;
|
|
72
|
+
var coerceIn = kotlin_kotlin.$_$.z7;
|
|
73
73
|
var DouglasPeucker_instance = kotlin_io_github_glandais_elevation.$_$.b;
|
|
74
|
-
var FunctionAdapter = kotlin_kotlin.$_$.
|
|
75
|
-
var isInterface = kotlin_kotlin.$_$.
|
|
76
|
-
var Comparator = kotlin_kotlin.$_$.
|
|
77
|
-
var compareValues = kotlin_kotlin.$_$.
|
|
78
|
-
var until = kotlin_kotlin.$_$.
|
|
79
|
-
var Pair = kotlin_kotlin.$_$.
|
|
80
|
-
var listOf = kotlin_kotlin.$_$.
|
|
81
|
-
var initMetadataForInterface = kotlin_kotlin.$_$.
|
|
82
|
-
var Default_getInstance = kotlin_kotlin.$_$.
|
|
83
|
-
var equals_0 = kotlin_kotlin.$_$.
|
|
84
|
-
var isNaN_0 = kotlin_kotlin.$_$.
|
|
74
|
+
var FunctionAdapter = kotlin_kotlin.$_$.g6;
|
|
75
|
+
var isInterface = kotlin_kotlin.$_$.h7;
|
|
76
|
+
var Comparator = kotlin_kotlin.$_$.ga;
|
|
77
|
+
var compareValues = kotlin_kotlin.$_$.q4;
|
|
78
|
+
var until = kotlin_kotlin.$_$.e8;
|
|
79
|
+
var Pair = kotlin_kotlin.$_$.na;
|
|
80
|
+
var listOf = kotlin_kotlin.$_$.t3;
|
|
81
|
+
var initMetadataForInterface = kotlin_kotlin.$_$.d7;
|
|
82
|
+
var Default_getInstance = kotlin_kotlin.$_$.c1;
|
|
83
|
+
var equals_0 = kotlin_kotlin.$_$.v8;
|
|
84
|
+
var isNaN_0 = kotlin_kotlin.$_$.cb;
|
|
85
85
|
var PointField_TEMPERATURE_getInstance = kotlin_io_github_glandais_gpx.$_$.d;
|
|
86
86
|
var get_entries = kotlin_io_github_glandais_gpx.$_$.a1;
|
|
87
87
|
var Path = kotlin_io_github_glandais_gpx.$_$.z;
|
|
88
|
-
var arrayCopy = kotlin_kotlin.$_$.
|
|
89
|
-
var sort = kotlin_kotlin.$_$.
|
|
90
|
-
var numberToInt = kotlin_kotlin.$_$.
|
|
91
|
-
var coerceIn_0 = kotlin_kotlin.$_$.
|
|
92
|
-
var lastOrNull = kotlin_kotlin.$_$.
|
|
93
|
-
var HashMap_init_$Create$ = kotlin_kotlin.$_$.
|
|
94
|
-
var fromInt = kotlin_kotlin.$_$.
|
|
95
|
-
var add = kotlin_kotlin.$_$.
|
|
96
|
-
var numberToLong = kotlin_kotlin.$_$.
|
|
97
|
-
var shiftLeft = kotlin_kotlin.$_$.
|
|
98
|
-
var Long = kotlin_kotlin.$_$.
|
|
99
|
-
var bitwiseAnd = kotlin_kotlin.$_$.
|
|
100
|
-
var bitwiseXor = kotlin_kotlin.$_$.
|
|
101
|
-
var copyOf = kotlin_kotlin.$_$.
|
|
102
|
-
var coerceAtLeast = kotlin_kotlin.$_$.
|
|
103
|
-
var
|
|
104
|
-
var
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
88
|
+
var arrayCopy = kotlin_kotlin.$_$.u2;
|
|
89
|
+
var sort = kotlin_kotlin.$_$.h4;
|
|
90
|
+
var numberToInt = kotlin_kotlin.$_$.m7;
|
|
91
|
+
var coerceIn_0 = kotlin_kotlin.$_$.a8;
|
|
92
|
+
var lastOrNull = kotlin_kotlin.$_$.r3;
|
|
93
|
+
var HashMap_init_$Create$ = kotlin_kotlin.$_$.m1;
|
|
94
|
+
var fromInt = kotlin_kotlin.$_$.w5;
|
|
95
|
+
var add = kotlin_kotlin.$_$.m5;
|
|
96
|
+
var numberToLong = kotlin_kotlin.$_$.a6;
|
|
97
|
+
var shiftLeft = kotlin_kotlin.$_$.b6;
|
|
98
|
+
var Long = kotlin_kotlin.$_$.la;
|
|
99
|
+
var bitwiseAnd = kotlin_kotlin.$_$.n5;
|
|
100
|
+
var bitwiseXor = kotlin_kotlin.$_$.p5;
|
|
101
|
+
var copyOf = kotlin_kotlin.$_$.d3;
|
|
102
|
+
var coerceAtLeast = kotlin_kotlin.$_$.w7;
|
|
103
|
+
var fill = kotlin_kotlin.$_$.i3;
|
|
104
|
+
var round = kotlin_kotlin.$_$.u7;
|
|
105
|
+
var booleanArray = kotlin_kotlin.$_$.i6;
|
|
106
|
+
var listOf_0 = kotlin_kotlin.$_$.u3;
|
|
107
|
+
var Collection = kotlin_kotlin.$_$.o2;
|
|
108
|
+
var zipWithNext = kotlin_kotlin.$_$.p4;
|
|
109
|
+
var toDoubleArray = kotlin_kotlin.$_$.i4;
|
|
110
|
+
var joinToString = kotlin_kotlin.$_$.o3;
|
|
109
111
|
var GpxParser_instance = kotlin_io_github_glandais_gpx.$_$.e;
|
|
110
|
-
var copyToArray = kotlin_kotlin.$_$.
|
|
112
|
+
var copyToArray = kotlin_kotlin.$_$.g3;
|
|
111
113
|
var firstTrackAsPath = kotlin_io_github_glandais_gpx.$_$.r;
|
|
112
114
|
var tracksAsPaths = kotlin_io_github_glandais_gpx.$_$.v;
|
|
113
115
|
var segmentsAsPaths = kotlin_io_github_glandais_gpx.$_$.t;
|
|
114
116
|
var GpxPathKind_TRACK_getInstance = kotlin_io_github_glandais_gpx.$_$.b;
|
|
115
|
-
var setOf = kotlin_kotlin.$_$.
|
|
117
|
+
var setOf = kotlin_kotlin.$_$.d4;
|
|
116
118
|
var GpxPathKind_ROUTE_getInstance = kotlin_io_github_glandais_gpx.$_$.a;
|
|
117
119
|
var GpxWriter_instance = kotlin_io_github_glandais_gpx.$_$.g;
|
|
118
|
-
var toList = kotlin_kotlin.$_$.
|
|
119
|
-
var Companion_getInstance = kotlin_kotlin.$_$.
|
|
120
|
+
var toList = kotlin_kotlin.$_$.m4;
|
|
121
|
+
var Companion_getInstance = kotlin_kotlin.$_$.e1;
|
|
120
122
|
var pathsToGpxDocument = kotlin_io_github_glandais_gpx.$_$.s;
|
|
121
123
|
var toGpxDocument = kotlin_io_github_glandais_gpx.$_$.u;
|
|
122
124
|
var GlobalScope_instance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.a;
|
|
123
125
|
var promise = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.l;
|
|
124
126
|
var Companion_getInstance_0 = kotlin_io_github_glandais_gpx.$_$.n;
|
|
125
|
-
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.
|
|
127
|
+
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.d2;
|
|
126
128
|
var CsvOptions = kotlin_io_github_glandais_gpx.$_$.w;
|
|
127
129
|
var CsvWriter_instance = kotlin_io_github_glandais_gpx.$_$.h;
|
|
128
|
-
var firstOrNull = kotlin_kotlin.$_$.
|
|
129
|
-
var Char = kotlin_kotlin.$_$.
|
|
130
|
-
var charSequenceLength = kotlin_kotlin.$_$.
|
|
130
|
+
var firstOrNull = kotlin_kotlin.$_$.w8;
|
|
131
|
+
var Char = kotlin_kotlin.$_$.fa;
|
|
132
|
+
var charSequenceLength = kotlin_kotlin.$_$.n6;
|
|
131
133
|
var JsonOptions = kotlin_io_github_glandais_gpx.$_$.x;
|
|
132
134
|
var JsonWriter_instance = kotlin_io_github_glandais_gpx.$_$.i;
|
|
133
135
|
var toFitBytes = kotlin_io_github_glandais_fit.$_$.a;
|
|
134
|
-
var Companion_getInstance_1 = kotlin_kotlin.$_$.
|
|
135
|
-
var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.
|
|
136
|
-
var toDuration = kotlin_kotlin.$_$.
|
|
136
|
+
var Companion_getInstance_1 = kotlin_kotlin.$_$.d1;
|
|
137
|
+
var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.x;
|
|
138
|
+
var toDuration = kotlin_kotlin.$_$.ea;
|
|
137
139
|
var toFitBytes_0 = kotlin_io_github_glandais_fit.$_$.b;
|
|
138
|
-
var toNumber = kotlin_kotlin.$_$.
|
|
140
|
+
var toNumber = kotlin_kotlin.$_$.f6;
|
|
139
141
|
var Companion_getInstance_2 = kotlin_io_github_glandais_gpx.$_$.f;
|
|
140
142
|
var GpxWaypoint = kotlin_io_github_glandais_gpx.$_$.q;
|
|
141
143
|
var Companion_instance_0 = kotlin_io_github_glandais_gpx.$_$.j;
|
|
142
144
|
var ElevationProvider = kotlin_io_github_glandais_elevation.$_$.e;
|
|
143
145
|
var ElevationProviderConfig = kotlin_io_github_glandais_elevation.$_$.d;
|
|
144
|
-
var sorted = kotlin_kotlin.$_$.
|
|
145
|
-
var THROW_CCE = kotlin_kotlin.$_$.
|
|
146
|
+
var sorted = kotlin_kotlin.$_$.g4;
|
|
147
|
+
var THROW_CCE = kotlin_kotlin.$_$.qa;
|
|
146
148
|
var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.j;
|
|
147
|
-
var initMetadataForLambda = kotlin_kotlin.$_$.
|
|
148
|
-
var constructCallableReference = kotlin_kotlin.$_$.
|
|
149
|
-
var setOf_0 = kotlin_kotlin.$_$.
|
|
149
|
+
var initMetadataForLambda = kotlin_kotlin.$_$.e7;
|
|
150
|
+
var constructCallableReference = kotlin_kotlin.$_$.p6;
|
|
151
|
+
var setOf_0 = kotlin_kotlin.$_$.e4;
|
|
150
152
|
//endregion
|
|
151
153
|
//region block: pre-declaration
|
|
152
154
|
initMetadataForCompanion(Companion);
|
|
@@ -1494,7 +1496,7 @@
|
|
|
1494
1496
|
$l$loop: do {
|
|
1495
1497
|
var i = inductionVariable;
|
|
1496
1498
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1497
|
-
var dx = (_this__u8e3s4.longitude_a9xl_k$(i) - lon0) * cosLat0;
|
|
1499
|
+
var dx = LocalFrame_instance.unwrap_i6c8al_k$(_this__u8e3s4.longitude_a9xl_k$(i) - lon0) * cosLat0;
|
|
1498
1500
|
var dy = _this__u8e3s4.latitude_gb4iok_k$(i) - lat0;
|
|
1499
1501
|
// Inline function 'kotlin.math.hypot' call
|
|
1500
1502
|
var length = hypot(dx, dy);
|
|
@@ -2322,6 +2324,7 @@
|
|
|
2322
2324
|
this.lastIndex_1 = -1;
|
|
2323
2325
|
this.lastElapsedS_1 = 0.0;
|
|
2324
2326
|
this.lastPowerW_1 = 0.0;
|
|
2327
|
+
this.lastLimitedW_1 = 0.0;
|
|
2325
2328
|
}
|
|
2326
2329
|
protoOf(PowerProviderSlewLimited).powerAt_ejucaq_k$ = function (course, path, pointIndex) {
|
|
2327
2330
|
var target = this.delegate_1.powerAt_ejucaq_k$(course, path, pointIndex);
|
|
@@ -2329,8 +2332,8 @@
|
|
|
2329
2332
|
this.reset_5u6xz3_k$();
|
|
2330
2333
|
}
|
|
2331
2334
|
if (pointIndex === this.lastIndex_1) {
|
|
2332
|
-
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, this.
|
|
2333
|
-
return this.
|
|
2335
|
+
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, this.lastLimitedW_1);
|
|
2336
|
+
return this.lastLimitedW_1;
|
|
2334
2337
|
}
|
|
2335
2338
|
var elapsedS = path.elapsed_7307rw_k$(pointIndex);
|
|
2336
2339
|
var dtS = elapsedS - this.lastElapsedS_1;
|
|
@@ -2354,16 +2357,20 @@
|
|
|
2354
2357
|
this.lastElapsedS_1 = elapsedS;
|
|
2355
2358
|
this.lastIndex_1 = pointIndex;
|
|
2356
2359
|
this.lastPowerW_1 = limited;
|
|
2360
|
+
this.lastLimitedW_1 = limited;
|
|
2357
2361
|
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, limited);
|
|
2358
2362
|
return limited;
|
|
2359
2363
|
};
|
|
2360
2364
|
protoOf(PowerProviderSlewLimited).onDelivered_drn2rh_k$ = function (pointIndex, powerW) {
|
|
2361
|
-
|
|
2365
|
+
if (pointIndex === this.lastIndex_1 && isFinite(powerW))
|
|
2366
|
+
this.lastPowerW_1 = powerW;
|
|
2367
|
+
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, powerW);
|
|
2362
2368
|
};
|
|
2363
2369
|
protoOf(PowerProviderSlewLimited).reset_5u6xz3_k$ = function () {
|
|
2364
2370
|
this.lastIndex_1 = -1;
|
|
2365
2371
|
this.lastElapsedS_1 = 0.0;
|
|
2366
2372
|
this.lastPowerW_1 = 0.0;
|
|
2373
|
+
this.lastLimitedW_1 = 0.0;
|
|
2367
2374
|
};
|
|
2368
2375
|
function Companion_10() {
|
|
2369
2376
|
this.DEFAULT_GRADIENT_GAIN_1 = 3.0;
|
|
@@ -3426,31 +3433,38 @@
|
|
|
3426
3433
|
var previous = NaN;
|
|
3427
3434
|
var inductionVariable = 0;
|
|
3428
3435
|
if (inductionVariable < n)
|
|
3429
|
-
do {
|
|
3436
|
+
$l$loop: do {
|
|
3430
3437
|
var i = inductionVariable;
|
|
3431
3438
|
inductionVariable = inductionVariable + 1 | 0;
|
|
3432
3439
|
var a = i > 0 ? i - 1 | 0 : 0;
|
|
3433
3440
|
var b = i < (n - 1 | 0) ? i + 1 | 0 : n - 1 | 0;
|
|
3434
3441
|
var dx = frame.x_1[b] - frame.x_1[a];
|
|
3435
3442
|
var dy = frame.y_1[b] - frame.y_1[a];
|
|
3436
|
-
var tmp;
|
|
3437
3443
|
if (dx === 0.0 && dy === 0.0) {
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
// Inline function 'kotlin.math.atan2' call
|
|
3441
|
-
tmp = Math.atan2(dy, dx);
|
|
3444
|
+
theta[i] = previous;
|
|
3445
|
+
continue $l$loop;
|
|
3442
3446
|
}
|
|
3443
|
-
|
|
3444
|
-
var
|
|
3445
|
-
if (
|
|
3446
|
-
|
|
3447
|
+
// Inline function 'kotlin.math.atan2' call
|
|
3448
|
+
var raw = Math.atan2(dy, dx);
|
|
3449
|
+
if (isNaN_0(previous)) {
|
|
3450
|
+
theta[i] = raw;
|
|
3451
|
+
var inductionVariable_0 = 0;
|
|
3452
|
+
if (inductionVariable_0 < i)
|
|
3453
|
+
do {
|
|
3454
|
+
var j = inductionVariable_0;
|
|
3455
|
+
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
3456
|
+
theta[j] = raw;
|
|
3457
|
+
}
|
|
3458
|
+
while (inductionVariable_0 < i);
|
|
3447
3459
|
} else {
|
|
3448
|
-
|
|
3460
|
+
theta[i] = previous + LocalFrame_instance.unwrap_i6c8al_k$(raw - previous);
|
|
3449
3461
|
}
|
|
3450
|
-
theta[i] = tmp_0;
|
|
3451
3462
|
previous = theta[i];
|
|
3452
3463
|
}
|
|
3453
3464
|
while (inductionVariable < n);
|
|
3465
|
+
if (isNaN_0(previous)) {
|
|
3466
|
+
fill(theta, 0.0);
|
|
3467
|
+
}
|
|
3454
3468
|
};
|
|
3455
3469
|
protoOf(CurvatureEstimator).computeCurvature_emiphc_k$ = function (frame, windowsM, sigmaThetaRad, curvatureSmoothM) {
|
|
3456
3470
|
var n = frame.get_size_woubt6_k$();
|
|
@@ -3505,15 +3519,7 @@
|
|
|
3505
3519
|
}
|
|
3506
3520
|
}
|
|
3507
3521
|
while (0 <= inductionVariable_1);
|
|
3508
|
-
|
|
3509
|
-
if (!isNaN_0(chosen)) {
|
|
3510
|
-
tmp = chosen;
|
|
3511
|
-
} else if (!isNaN_0(widest)) {
|
|
3512
|
-
tmp = widest;
|
|
3513
|
-
} else {
|
|
3514
|
-
tmp = 0.0;
|
|
3515
|
-
}
|
|
3516
|
-
raw[i] = tmp;
|
|
3522
|
+
raw[i] = !isNaN_0(chosen) ? chosen : widest;
|
|
3517
3523
|
}
|
|
3518
3524
|
while (inductionVariable < n);
|
|
3519
3525
|
var smoothed = LocalFrame_instance.smooth_kce7pb_k$(raw, frame.s_1, curvatureSmoothM);
|
|
@@ -3521,10 +3527,10 @@
|
|
|
3521
3527
|
var endIndex = smoothed.length;
|
|
3522
3528
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
3523
3529
|
// Inline function 'kotlin.js.asDynamic' call
|
|
3524
|
-
var
|
|
3530
|
+
var tmp = smoothed;
|
|
3525
3531
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
3526
3532
|
// Inline function 'kotlin.js.asDynamic' call
|
|
3527
|
-
arrayCopy(
|
|
3533
|
+
arrayCopy(tmp, kappa, 0, 0, endIndex);
|
|
3528
3534
|
};
|
|
3529
3535
|
protoOf(CurvatureEstimator).radiusAt_umgvjz_k$ = function (kappa) {
|
|
3530
3536
|
var tmp;
|
|
@@ -3587,7 +3593,7 @@
|
|
|
3587
3593
|
};
|
|
3588
3594
|
protoOf(LocalFrame).unproject_ym27oh_k$ = function (frame, x, y) {
|
|
3589
3595
|
var lat = frame.lat0__1 + y / 6371000.0;
|
|
3590
|
-
var lon = frame.lon0__1 + x / (6371000.0 * frame.k_1);
|
|
3596
|
+
var lon = this.unwrap_i6c8al_k$(frame.lon0__1 + x / (6371000.0 * frame.k_1));
|
|
3591
3597
|
// Inline function 'kotlin.doubleArrayOf' call
|
|
3592
3598
|
return new Float64Array([lat, lon]);
|
|
3593
3599
|
};
|
|
@@ -3609,7 +3615,8 @@
|
|
|
3609
3615
|
while (inductionVariable < last);
|
|
3610
3616
|
};
|
|
3611
3617
|
protoOf(LocalFrame).unwrap_i6c8al_k$ = function (a) {
|
|
3612
|
-
|
|
3618
|
+
var r = a - 2.0 * 3.141592653589793 * round(a / (2.0 * 3.141592653589793));
|
|
3619
|
+
return r <= -3.141592653589793 ? r + 2.0 * 3.141592653589793 : r;
|
|
3613
3620
|
};
|
|
3614
3621
|
protoOf(LocalFrame).smooth_kce7pb_k$ = function (v, s, windowM) {
|
|
3615
3622
|
var n = v.length;
|
|
@@ -3646,13 +3653,13 @@
|
|
|
3646
3653
|
// Inline function 'kotlin.math.abs' call
|
|
3647
3654
|
var x = s[j] - c;
|
|
3648
3655
|
var w = 1.0 - Math.abs(x) / windowM;
|
|
3649
|
-
if (w <= 0.0)
|
|
3656
|
+
if (w <= 0.0 || isNaN_0(v[j]))
|
|
3650
3657
|
continue $l$loop;
|
|
3651
3658
|
weightSum = weightSum + w;
|
|
3652
3659
|
valueSum = valueSum + v[j] * w;
|
|
3653
3660
|
}
|
|
3654
3661
|
while (!(j === last));
|
|
3655
|
-
out[i] = weightSum
|
|
3662
|
+
out[i] = isNaN_0(v[i]) || weightSum <= 0.0 ? v[i] : valueSum / weightSum;
|
|
3656
3663
|
}
|
|
3657
3664
|
while (inductionVariable < n);
|
|
3658
3665
|
return out;
|
|
@@ -3663,15 +3670,16 @@
|
|
|
3663
3670
|
}
|
|
3664
3671
|
function Companion_12() {
|
|
3665
3672
|
}
|
|
3666
|
-
protoOf(Companion_12).
|
|
3673
|
+
protoOf(Companion_12).assemble_7bjwpt_k$ = function (frame, center, rho, steeringLengthM, centeringLengthM, fixed) {
|
|
3667
3674
|
var n = frame.get_size_woubt6_k$();
|
|
3668
3675
|
var h0 = new Float64Array(n);
|
|
3669
3676
|
var h1 = new Float64Array(n);
|
|
3670
3677
|
var h2 = new Float64Array(n);
|
|
3671
3678
|
var linear = new Float64Array(n);
|
|
3672
|
-
var constant = 0.0;
|
|
3673
3679
|
var lambdaR = 1.0 / (steeringLengthM * steeringLengthM);
|
|
3674
3680
|
var lambdaC = 1.0 / (centeringLengthM * centeringLengthM * centeringLengthM * centeringLengthM);
|
|
3681
|
+
var meanSpacing = n > 1 ? (frame.s_1[n - 1 | 0] - frame.s_1[0]) / (n - 1 | 0) : 0.0;
|
|
3682
|
+
var tie = meanSpacing > 0.0 ? lambdaR / meanSpacing : lambdaR;
|
|
3675
3683
|
var a = new Float64Array(3);
|
|
3676
3684
|
var b = new Float64Array(3);
|
|
3677
3685
|
var inductionVariable = 0;
|
|
@@ -3684,7 +3692,13 @@
|
|
|
3684
3692
|
var weight = 0.5 * (hMinus + hPlus);
|
|
3685
3693
|
h0[i] = h0[i] + 2.0 * weight * lambdaC;
|
|
3686
3694
|
linear[i] = linear[i] - 2.0 * weight * lambdaC * center[i];
|
|
3687
|
-
|
|
3695
|
+
if (weight <= 0.0 && i >= 1 && !fixed[i]) {
|
|
3696
|
+
h0[i] = h0[i] + 2.0 * tie;
|
|
3697
|
+
var _index_0__fvwizt = i - 1 | 0;
|
|
3698
|
+
h0[_index_0__fvwizt] = h0[_index_0__fvwizt] + 2.0 * tie;
|
|
3699
|
+
var _index_0__fvwizt_0 = i - 1 | 0;
|
|
3700
|
+
h1[_index_0__fvwizt_0] = h1[_index_0__fvwizt_0] - 2.0 * tie;
|
|
3701
|
+
}
|
|
3688
3702
|
if (i < 1 || (i + 1 | 0) >= n)
|
|
3689
3703
|
continue $l$loop_0;
|
|
3690
3704
|
var denom = hPlus * hMinus * (hPlus + hMinus);
|
|
@@ -3728,37 +3742,44 @@
|
|
|
3728
3742
|
while (inductionVariable_1 <= 2);
|
|
3729
3743
|
}
|
|
3730
3744
|
while (inductionVariable_0 <= 2);
|
|
3731
|
-
constant = constant + wRho * kappaI * kappaI;
|
|
3732
3745
|
}
|
|
3733
3746
|
while (inductionVariable < n);
|
|
3734
|
-
return new OffsetEnergy(h0, h1, h2, linear
|
|
3747
|
+
return new OffsetEnergy(h0, h1, h2, linear);
|
|
3735
3748
|
};
|
|
3736
3749
|
var Companion_instance_14;
|
|
3737
3750
|
function Companion_getInstance_16() {
|
|
3738
3751
|
return Companion_instance_14;
|
|
3739
3752
|
}
|
|
3740
|
-
function OffsetEnergy(h0, h1, h2, linear
|
|
3753
|
+
function OffsetEnergy(h0, h1, h2, linear) {
|
|
3741
3754
|
this.h0__1 = h0;
|
|
3742
3755
|
this.h1__1 = h1;
|
|
3743
3756
|
this.h2__1 = h2;
|
|
3744
3757
|
this.linear_1 = linear;
|
|
3745
|
-
this.constant_1 = constant;
|
|
3746
3758
|
}
|
|
3747
3759
|
protoOf(OffsetEnergy).get_size_woubt6_k$ = function () {
|
|
3748
3760
|
return this.h0__1.length;
|
|
3749
3761
|
};
|
|
3750
|
-
protoOf(OffsetEnergy).
|
|
3751
|
-
BandedLdl_instance.multiply_dwj15t_k$(this.h0__1, this.h1__1, this.h2__1, n, scratch);
|
|
3752
|
-
var acc = this.constant_1;
|
|
3762
|
+
protoOf(OffsetEnergy).change_z3fx8j_k$ = function (from, to, gradient, delta, scratch) {
|
|
3753
3763
|
var inductionVariable = 0;
|
|
3754
|
-
var last =
|
|
3764
|
+
var last = delta.length - 1 | 0;
|
|
3755
3765
|
if (inductionVariable <= last)
|
|
3756
3766
|
do {
|
|
3757
3767
|
var i = inductionVariable;
|
|
3758
3768
|
inductionVariable = inductionVariable + 1 | 0;
|
|
3759
|
-
|
|
3769
|
+
delta[i] = to[i] - from[i];
|
|
3760
3770
|
}
|
|
3761
3771
|
while (inductionVariable <= last);
|
|
3772
|
+
BandedLdl_instance.multiply_dwj15t_k$(this.h0__1, this.h1__1, this.h2__1, delta, scratch);
|
|
3773
|
+
var acc = 0.0;
|
|
3774
|
+
var inductionVariable_0 = 0;
|
|
3775
|
+
var last_0 = delta.length - 1 | 0;
|
|
3776
|
+
if (inductionVariable_0 <= last_0)
|
|
3777
|
+
do {
|
|
3778
|
+
var i_0 = inductionVariable_0;
|
|
3779
|
+
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
3780
|
+
acc = acc + (gradient[i_0] + 0.5 * scratch[i_0]) * delta[i_0];
|
|
3781
|
+
}
|
|
3782
|
+
while (inductionVariable_0 <= last_0);
|
|
3762
3783
|
return acc;
|
|
3763
3784
|
};
|
|
3764
3785
|
protoOf(OffsetEnergy).gradient_zecmby_k$ = function (n, out) {
|
|
@@ -3781,7 +3802,7 @@
|
|
|
3781
3802
|
this.activeConstraints_1 = activeConstraints;
|
|
3782
3803
|
}
|
|
3783
3804
|
function isFree($this, x, lo, hi, g, epsilon) {
|
|
3784
|
-
if (
|
|
3805
|
+
if ($this.isFixed_s6zw2k_k$(lo, hi, epsilon))
|
|
3785
3806
|
return false;
|
|
3786
3807
|
if (x <= lo + epsilon && g > 0.0)
|
|
3787
3808
|
return false;
|
|
@@ -3863,7 +3884,10 @@
|
|
|
3863
3884
|
var f1 = new Float64Array(n);
|
|
3864
3885
|
var f2 = new Float64Array(n);
|
|
3865
3886
|
var rhs = new Float64Array(n);
|
|
3866
|
-
|
|
3887
|
+
var solveIndex = new Int32Array(n);
|
|
3888
|
+
var held = booleanArray(n);
|
|
3889
|
+
var delta = new Float64Array(n);
|
|
3890
|
+
$l$loop_5: while (iterations < maxIterations) {
|
|
3867
3891
|
energy.gradient_zecmby_k$(x, g);
|
|
3868
3892
|
var freeCount = 0;
|
|
3869
3893
|
var residual = 0.0;
|
|
@@ -3889,81 +3913,124 @@
|
|
|
3889
3913
|
relativeResidual = residual / referenceGradient;
|
|
3890
3914
|
if (freeCount === 0 || relativeResidual <= gradientTolerance) {
|
|
3891
3915
|
converged = true;
|
|
3892
|
-
break $l$
|
|
3893
|
-
}
|
|
3894
|
-
buildFreeSystem(this, energy, freeIndex, freeCount, f0, f1, f2);
|
|
3895
|
-
var fa0 = copyOf(f0, freeCount);
|
|
3896
|
-
var fa1 = copyOf(f1, freeCount);
|
|
3897
|
-
var fa2 = copyOf(f2, freeCount);
|
|
3898
|
-
if (!BandedLdl_instance.factor_n459o6_k$(fa0, fa1, fa2)) {
|
|
3899
|
-
break $l$loop_3;
|
|
3916
|
+
break $l$loop_5;
|
|
3900
3917
|
}
|
|
3901
3918
|
var inductionVariable_1 = 0;
|
|
3902
|
-
|
|
3903
|
-
if (inductionVariable_1 < last)
|
|
3919
|
+
if (inductionVariable_1 < n)
|
|
3904
3920
|
do {
|
|
3905
|
-
var
|
|
3921
|
+
var i_1 = inductionVariable_1;
|
|
3906
3922
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
3907
|
-
|
|
3908
|
-
}
|
|
3909
|
-
while (inductionVariable_1 < last);
|
|
3910
|
-
BandedLdl_instance.solveInPlace_jrw92v_k$(fa0, fa1, fa2, rhs);
|
|
3911
|
-
var inductionVariable_2 = 0;
|
|
3912
|
-
if (inductionVariable_2 < n)
|
|
3913
|
-
do {
|
|
3914
|
-
var i_1 = inductionVariable_2;
|
|
3915
|
-
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
3916
|
-
direction[i_1] = 0.0;
|
|
3917
|
-
}
|
|
3918
|
-
while (inductionVariable_2 < n);
|
|
3919
|
-
var inductionVariable_3 = 0;
|
|
3920
|
-
var last_0 = freeCount;
|
|
3921
|
-
if (inductionVariable_3 < last_0)
|
|
3922
|
-
do {
|
|
3923
|
-
var p_0 = inductionVariable_3;
|
|
3924
|
-
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
3925
|
-
direction[freeIndex[p_0]] = rhs[p_0];
|
|
3926
|
-
}
|
|
3927
|
-
while (inductionVariable_3 < last_0);
|
|
3928
|
-
var directionalDerivative = 0.0;
|
|
3929
|
-
var inductionVariable_4 = 0;
|
|
3930
|
-
var last_1 = freeCount;
|
|
3931
|
-
if (inductionVariable_4 < last_1)
|
|
3932
|
-
do {
|
|
3933
|
-
var p_1 = inductionVariable_4;
|
|
3934
|
-
inductionVariable_4 = inductionVariable_4 + 1 | 0;
|
|
3935
|
-
var i_2 = freeIndex[p_1];
|
|
3936
|
-
directionalDerivative = directionalDerivative + g[i_2] * direction[i_2];
|
|
3923
|
+
held[i_1] = false;
|
|
3937
3924
|
}
|
|
3938
|
-
while (
|
|
3939
|
-
if (directionalDerivative >= 0.0)
|
|
3940
|
-
break $l$loop_3;
|
|
3941
|
-
var current = energy.value_6wg803_k$(x, scratch);
|
|
3942
|
-
var step = 1.0;
|
|
3925
|
+
while (inductionVariable_1 < n);
|
|
3943
3926
|
var accepted = false;
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3927
|
+
$l$loop_4: while (true) {
|
|
3928
|
+
var solveCount = 0;
|
|
3929
|
+
var inductionVariable_2 = 0;
|
|
3930
|
+
var last = freeCount;
|
|
3931
|
+
if (inductionVariable_2 < last)
|
|
3932
|
+
do {
|
|
3933
|
+
var p = inductionVariable_2;
|
|
3934
|
+
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
3935
|
+
if (!held[freeIndex[p]]) {
|
|
3936
|
+
var _unary__edvuaz_0 = solveCount;
|
|
3937
|
+
solveCount = _unary__edvuaz_0 + 1 | 0;
|
|
3938
|
+
solveIndex[_unary__edvuaz_0] = freeIndex[p];
|
|
3955
3939
|
}
|
|
3956
|
-
while (inductionVariable_6 < n);
|
|
3957
|
-
var trial = energy.value_6wg803_k$(candidate, scratch);
|
|
3958
|
-
if (trial <= current + 1.0E-4 * step * directionalDerivative) {
|
|
3959
|
-
accepted = true;
|
|
3960
|
-
break $l$loop_2;
|
|
3961
3940
|
}
|
|
3962
|
-
|
|
3941
|
+
while (inductionVariable_2 < last);
|
|
3942
|
+
buildFreeSystem(this, energy, solveIndex, solveCount, f0, f1, f2);
|
|
3943
|
+
var fa0 = copyOf(f0, solveCount);
|
|
3944
|
+
var fa1 = copyOf(f1, solveCount);
|
|
3945
|
+
var fa2 = copyOf(f2, solveCount);
|
|
3946
|
+
if (!BandedLdl_instance.factor_n459o6_k$(fa0, fa1, fa2)) {
|
|
3947
|
+
break $l$loop_4;
|
|
3963
3948
|
}
|
|
3964
|
-
|
|
3949
|
+
var inductionVariable_3 = 0;
|
|
3950
|
+
var last_0 = solveCount;
|
|
3951
|
+
if (inductionVariable_3 < last_0)
|
|
3952
|
+
do {
|
|
3953
|
+
var p_0 = inductionVariable_3;
|
|
3954
|
+
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
3955
|
+
rhs[p_0] = -g[solveIndex[p_0]];
|
|
3956
|
+
}
|
|
3957
|
+
while (inductionVariable_3 < last_0);
|
|
3958
|
+
BandedLdl_instance.solveInPlace_jrw92v_k$(fa0, fa1, fa2, rhs);
|
|
3959
|
+
var inductionVariable_4 = 0;
|
|
3960
|
+
if (inductionVariable_4 < n)
|
|
3961
|
+
do {
|
|
3962
|
+
var i_2 = inductionVariable_4;
|
|
3963
|
+
inductionVariable_4 = inductionVariable_4 + 1 | 0;
|
|
3964
|
+
direction[i_2] = 0.0;
|
|
3965
|
+
}
|
|
3966
|
+
while (inductionVariable_4 < n);
|
|
3967
|
+
var inductionVariable_5 = 0;
|
|
3968
|
+
var last_1 = solveCount;
|
|
3969
|
+
if (inductionVariable_5 < last_1)
|
|
3970
|
+
do {
|
|
3971
|
+
var p_1 = inductionVariable_5;
|
|
3972
|
+
inductionVariable_5 = inductionVariable_5 + 1 | 0;
|
|
3973
|
+
direction[solveIndex[p_1]] = rhs[p_1];
|
|
3974
|
+
}
|
|
3975
|
+
while (inductionVariable_5 < last_1);
|
|
3976
|
+
var directionalDerivative = 0.0;
|
|
3977
|
+
var inductionVariable_6 = 0;
|
|
3978
|
+
var last_2 = solveCount;
|
|
3979
|
+
if (inductionVariable_6 < last_2)
|
|
3980
|
+
do {
|
|
3981
|
+
var p_2 = inductionVariable_6;
|
|
3982
|
+
inductionVariable_6 = inductionVariable_6 + 1 | 0;
|
|
3983
|
+
var i_3 = solveIndex[p_2];
|
|
3984
|
+
directionalDerivative = directionalDerivative + g[i_3] * direction[i_3];
|
|
3985
|
+
}
|
|
3986
|
+
while (inductionVariable_6 < last_2);
|
|
3987
|
+
if (directionalDerivative >= 0.0)
|
|
3988
|
+
break $l$loop_4;
|
|
3989
|
+
var step = 1.0;
|
|
3990
|
+
var lastStep = step;
|
|
3991
|
+
var inductionVariable_7 = 0;
|
|
3992
|
+
if (inductionVariable_7 < 20)
|
|
3993
|
+
$l$loop_2: do {
|
|
3994
|
+
var attempt = inductionVariable_7;
|
|
3995
|
+
inductionVariable_7 = inductionVariable_7 + 1 | 0;
|
|
3996
|
+
var inductionVariable_8 = 0;
|
|
3997
|
+
if (inductionVariable_8 < n)
|
|
3998
|
+
do {
|
|
3999
|
+
var i_4 = inductionVariable_8;
|
|
4000
|
+
inductionVariable_8 = inductionVariable_8 + 1 | 0;
|
|
4001
|
+
candidate[i_4] = coerceIn(x[i_4] + step * direction[i_4], lo[i_4], hi[i_4]);
|
|
4002
|
+
}
|
|
4003
|
+
while (inductionVariable_8 < n);
|
|
4004
|
+
if (energy.change_z3fx8j_k$(x, candidate, g, delta, scratch) <= 1.0E-4 * step * directionalDerivative) {
|
|
4005
|
+
accepted = true;
|
|
4006
|
+
break $l$loop_2;
|
|
4007
|
+
}
|
|
4008
|
+
lastStep = step;
|
|
4009
|
+
step = step / 2.0;
|
|
4010
|
+
}
|
|
4011
|
+
while (inductionVariable_7 < 20);
|
|
4012
|
+
if (accepted)
|
|
4013
|
+
break $l$loop_4;
|
|
4014
|
+
var newlyHeld = 0;
|
|
4015
|
+
var inductionVariable_9 = 0;
|
|
4016
|
+
var last_3 = solveCount;
|
|
4017
|
+
if (inductionVariable_9 < last_3)
|
|
4018
|
+
do {
|
|
4019
|
+
var p_3 = inductionVariable_9;
|
|
4020
|
+
inductionVariable_9 = inductionVariable_9 + 1 | 0;
|
|
4021
|
+
var i_5 = solveIndex[p_3];
|
|
4022
|
+
var target = x[i_5] + lastStep * direction[i_5];
|
|
4023
|
+
if (target < lo[i_5] || target > hi[i_5]) {
|
|
4024
|
+
held[i_5] = true;
|
|
4025
|
+
newlyHeld = newlyHeld + 1 | 0;
|
|
4026
|
+
}
|
|
4027
|
+
}
|
|
4028
|
+
while (inductionVariable_9 < last_3);
|
|
4029
|
+
if (newlyHeld === 0)
|
|
4030
|
+
break $l$loop_4;
|
|
4031
|
+
}
|
|
3965
4032
|
if (!accepted)
|
|
3966
|
-
break $l$
|
|
4033
|
+
break $l$loop_5;
|
|
3967
4034
|
// Inline function 'kotlin.collections.copyInto' call
|
|
3968
4035
|
var endIndex = candidate.length;
|
|
3969
4036
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
@@ -3975,18 +4042,21 @@
|
|
|
3975
4042
|
iterations = iterations + 1 | 0;
|
|
3976
4043
|
}
|
|
3977
4044
|
var active = 0;
|
|
3978
|
-
var
|
|
3979
|
-
if (
|
|
4045
|
+
var inductionVariable_10 = 0;
|
|
4046
|
+
if (inductionVariable_10 < n)
|
|
3980
4047
|
do {
|
|
3981
|
-
var
|
|
3982
|
-
|
|
3983
|
-
if (x[
|
|
4048
|
+
var i_6 = inductionVariable_10;
|
|
4049
|
+
inductionVariable_10 = inductionVariable_10 + 1 | 0;
|
|
4050
|
+
if (x[i_6] <= lo[i_6] + boundEpsilonM || x[i_6] >= hi[i_6] - boundEpsilonM) {
|
|
3984
4051
|
active = active + 1 | 0;
|
|
3985
4052
|
}
|
|
3986
4053
|
}
|
|
3987
|
-
while (
|
|
4054
|
+
while (inductionVariable_10 < n);
|
|
3988
4055
|
return new QpResult(x, iterations, relativeResidual, converged, active);
|
|
3989
4056
|
};
|
|
4057
|
+
protoOf(OffsetQp).isFixed_s6zw2k_k$ = function (lo, hi, epsilon) {
|
|
4058
|
+
return hi - lo <= 2.0 * epsilon;
|
|
4059
|
+
};
|
|
3990
4060
|
var OffsetQp_instance;
|
|
3991
4061
|
function OffsetQp_getInstance() {
|
|
3992
4062
|
return OffsetQp_instance;
|
|
@@ -4217,6 +4287,17 @@
|
|
|
4217
4287
|
var frame = tmp;
|
|
4218
4288
|
CurvatureEstimator_instance.computeHeadings_ev7p13_k$(frame);
|
|
4219
4289
|
CurvatureEstimator_instance.computeCurvature_emiphc_k$(frame, toDoubleArray(options.curvature_1.curvatureWindowsM_1), options.curvature_1.headingNoiseRad_1, options.curvature_1.curvatureSmoothWindowM_1);
|
|
4290
|
+
var inductionVariable = 0;
|
|
4291
|
+
var last = frame.get_size_woubt6_k$();
|
|
4292
|
+
if (inductionVariable < last)
|
|
4293
|
+
do {
|
|
4294
|
+
var i = inductionVariable;
|
|
4295
|
+
inductionVariable = inductionVariable + 1 | 0;
|
|
4296
|
+
if (isNaN_0(frame.kappa_1[i])) {
|
|
4297
|
+
frame.kappa_1[i] = 0.0;
|
|
4298
|
+
}
|
|
4299
|
+
}
|
|
4300
|
+
while (inductionVariable < last);
|
|
4220
4301
|
return frame;
|
|
4221
4302
|
}
|
|
4222
4303
|
function analyzeFrame($this, path, frame, options) {
|
|
@@ -4250,15 +4331,24 @@
|
|
|
4250
4331
|
tmp_3 = tmp_3 + 1 | 0;
|
|
4251
4332
|
}
|
|
4252
4333
|
var rho = tmp_5;
|
|
4253
|
-
var
|
|
4334
|
+
var tmp_8 = Companion_instance_14;
|
|
4335
|
+
var tmp_9 = 0;
|
|
4336
|
+
var tmp_10 = frame.get_size_woubt6_k$();
|
|
4337
|
+
var tmp_11 = booleanArray(tmp_10);
|
|
4338
|
+
while (tmp_9 < tmp_10) {
|
|
4339
|
+
var tmp_12 = tmp_9;
|
|
4340
|
+
tmp_11[tmp_12] = OffsetQp_instance.isFixed_s6zw2k_k$(bounds.lo_1[tmp_12], bounds.hi_1[tmp_12], options.boundEpsilonM_1);
|
|
4341
|
+
tmp_9 = tmp_9 + 1 | 0;
|
|
4342
|
+
}
|
|
4343
|
+
var energy = tmp_8.assemble_7bjwpt_k$(frame, center, rho, options.steeringLengthM_1, options.centeringLengthM_1, tmp_11);
|
|
4254
4344
|
var seed = center;
|
|
4255
4345
|
var solved = OffsetQp_instance.solve_j37bz7_k$(energy, bounds.lo_1, bounds.hi_1, seed, options.maxNewtonIterations_1, options.gradientTolerance_1, options.boundEpsilonM_1);
|
|
4256
4346
|
var trajectoryCurvature = measureOffsetCurvature($this, frame, solved.offset_1, options);
|
|
4257
|
-
var
|
|
4347
|
+
var tmp_13 = frame.get_size_woubt6_k$();
|
|
4258
4348
|
// Inline function 'kotlin.collections.copyOf' call
|
|
4259
4349
|
// Inline function 'kotlin.js.asDynamic' call
|
|
4260
|
-
var tmp$ret$
|
|
4261
|
-
return new RacingLineReport(
|
|
4350
|
+
var tmp$ret$4 = frame.kappa_1.slice();
|
|
4351
|
+
return new RacingLineReport(tmp_13, corners, tmp$ret$4, bounds.lo_1, bounds.hi_1, bounds.halfWidthM_1, solved.offset_1, trajectoryCurvature, solved.iterations_1, solved.gradientInfNorm_1, solved.converged_1, solved.activeConstraints_1);
|
|
4262
4352
|
}
|
|
4263
4353
|
function measureOffsetCurvature($this, frame, offset, options) {
|
|
4264
4354
|
var size = frame.get_size_woubt6_k$();
|