plotly.js 2.9.0 → 2.11.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.
- package/.circleci/config.yml +39 -1
- package/.circleci/test.sh +14 -1
- package/CHANGELOG.md +24 -1
- package/CONTRIBUTING.md +18 -1
- package/README.md +12 -4
- package/dist/README.md +28 -28
- package/dist/plot-schema.json +98 -0
- package/dist/plotly-basic.js +174 -83
- package/dist/plotly-basic.min.js +3 -3
- package/dist/plotly-cartesian.js +174 -83
- package/dist/plotly-cartesian.min.js +4 -4
- package/dist/plotly-finance.js +174 -83
- package/dist/plotly-finance.min.js +3 -3
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +174 -83
- package/dist/plotly-geo.min.js +3 -3
- package/dist/plotly-gl2d.js +601 -433
- package/dist/plotly-gl2d.min.js +10 -10
- package/dist/plotly-gl3d.js +223 -91
- package/dist/plotly-gl3d.min.js +8 -8
- package/dist/plotly-mapbox.js +174 -83
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +40414 -1028
- package/dist/plotly-strict.min.js +11 -11
- package/dist/plotly-with-meta.js +881 -704
- package/dist/plotly.js +848 -675
- package/dist/plotly.min.js +4 -4
- package/lib/index-strict.js +5 -0
- package/package.json +13 -9
- package/src/components/drawing/index.js +28 -24
- package/src/components/legend/style.js +10 -6
- package/src/generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc +1462 -0
- package/src/generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260 +3391 -0
- package/src/generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13 +3375 -0
- package/src/generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316 +2488 -0
- package/src/generated/regl-codegen/4df455b48c9de7d9f1de4b9481b505c09613ba7f90d2b4e360e673839566688e +662 -0
- package/src/generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6 +459 -0
- package/src/generated/regl-codegen/59568c77bcbe6343ee6109df49ceeb78c8a8a8a81872e88fb077f9a3d6dc0567 +637 -0
- package/src/generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc +2226 -0
- package/src/generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4 +2052 -0
- package/src/generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770 +664 -0
- package/src/generated/regl-codegen/909861c036d6f1ef40ba2dfcc33ef32489d2fe05fa7b7984d5ff315ddceb17b1 +454 -0
- package/src/generated/regl-codegen/c759965c8d66b2b356ae7455825df829f2ba7d4e7e903236f8c8d3bc5f45bd44 +2116 -0
- package/src/generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956 +2755 -0
- package/src/generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce +639 -0
- package/src/lib/prepare_regl.js +7 -3
- package/src/lib/svg_text_utils.js +106 -21
- package/src/plot_api/plot_config.js +9 -0
- package/src/snapshot/tosvg.js +14 -25
- package/src/traces/parcoords/base_index.js +24 -0
- package/src/traces/parcoords/index.js +4 -22
- package/src/traces/parcoords/plot-strict.js +9 -0
- package/src/traces/parcoords/plot.js +5 -2
- package/src/traces/parcoords/regl_precompiled.js +12 -0
- package/src/traces/parcoords/strict.js +7 -0
- package/src/traces/scatter/attributes.js +2 -0
- package/src/traces/scatter/defaults.js +2 -0
- package/src/traces/scatter/plot.js +4 -4
- package/src/traces/scatter/style.js +1 -1
- package/src/traces/scattergl/base_index.js +29 -0
- package/src/traces/scattergl/index.js +3 -26
- package/src/traces/scattergl/plot.js +5 -2
- package/src/traces/scattergl/plot_strict.js +9 -0
- package/src/traces/scattergl/regl_precompiled.js +24 -0
- package/src/traces/scattergl/strict.js +7 -0
- package/src/traces/scatterpolargl/base_index.js +29 -0
- package/src/traces/scatterpolargl/index.js +3 -26
- package/src/traces/scatterpolargl/plot.js +4 -0
- package/src/traces/scatterpolargl/plot_strict.js +13 -0
- package/src/traces/scatterpolargl/regl_precompiled.js +24 -0
- package/src/traces/scatterpolargl/strict.js +7 -0
- package/src/traces/splom/base_index.js +36 -0
- package/src/traces/splom/base_plot.js +5 -2
- package/src/traces/splom/base_plot_strict.js +9 -0
- package/src/traces/splom/index.js +3 -33
- package/src/traces/splom/regl_precompiled.js +24 -0
- package/src/traces/splom/strict.js +7 -0
- package/src/version.js +1 -1
- package/stackgl_modules/index.js +49 -8
- package/stackgl_modules/package-lock.json +10 -10
- package/stackgl_modules/package.json +2 -2
- package/tasks/bundle.js +18 -0
- package/tasks/noci_test.sh +1 -1
- package/tasks/partial_bundle.js +26 -23
- package/tasks/stats.js +3 -3
- package/tasks/util/constants.js +13 -1
package/dist/plotly-gl3d.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js (gl3d) v2.
|
|
2
|
+
* plotly.js (gl3d) v2.11.0
|
|
3
3
|
* Copyright 2012-2022, Plotly, Inc.
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
* Licensed under the MIT license
|
|
@@ -25180,24 +25180,42 @@ drawing.dashStyle = function(dash, lineWidth) {
|
|
|
25180
25180
|
return dash;
|
|
25181
25181
|
};
|
|
25182
25182
|
|
|
25183
|
+
function setFillStyle(sel, trace, gd) {
|
|
25184
|
+
var markerPattern = trace.fillpattern;
|
|
25185
|
+
var patternShape = markerPattern && drawing.getPatternAttr(markerPattern.shape, 0, '');
|
|
25186
|
+
if(patternShape) {
|
|
25187
|
+
var patternBGColor = drawing.getPatternAttr(markerPattern.bgcolor, 0, null);
|
|
25188
|
+
var patternFGColor = drawing.getPatternAttr(markerPattern.fgcolor, 0, null);
|
|
25189
|
+
var patternFGOpacity = markerPattern.fgopacity;
|
|
25190
|
+
var patternSize = drawing.getPatternAttr(markerPattern.size, 0, 8);
|
|
25191
|
+
var patternSolidity = drawing.getPatternAttr(markerPattern.solidity, 0, 0.3);
|
|
25192
|
+
var patternID = trace.uid;
|
|
25193
|
+
drawing.pattern(sel, 'point', gd, patternID,
|
|
25194
|
+
patternShape, patternSize, patternSolidity,
|
|
25195
|
+
undefined, markerPattern.fillmode,
|
|
25196
|
+
patternBGColor, patternFGColor, patternFGOpacity
|
|
25197
|
+
);
|
|
25198
|
+
} else if(trace.fillcolor) {
|
|
25199
|
+
sel.call(Color.fill, trace.fillcolor);
|
|
25200
|
+
}
|
|
25201
|
+
}
|
|
25202
|
+
|
|
25183
25203
|
// Same as fillGroupStyle, except in this case the selection may be a transition
|
|
25184
|
-
drawing.singleFillStyle = function(sel) {
|
|
25204
|
+
drawing.singleFillStyle = function(sel, gd) {
|
|
25185
25205
|
var node = d3.select(sel.node());
|
|
25186
25206
|
var data = node.data();
|
|
25187
|
-
var
|
|
25188
|
-
|
|
25189
|
-
sel.call(Color.fill, fillcolor);
|
|
25190
|
-
}
|
|
25207
|
+
var trace = ((data[0] || [])[0] || {}).trace || {};
|
|
25208
|
+
setFillStyle(sel, trace, gd);
|
|
25191
25209
|
};
|
|
25192
25210
|
|
|
25193
|
-
drawing.fillGroupStyle = function(s) {
|
|
25211
|
+
drawing.fillGroupStyle = function(s, gd) {
|
|
25194
25212
|
s.style('stroke-width', 0)
|
|
25195
25213
|
.each(function(d) {
|
|
25196
25214
|
var shape = d3.select(this);
|
|
25197
25215
|
// N.B. 'd' won't be a calcdata item when
|
|
25198
25216
|
// fill !== 'none' on a segment-less and marker-less trace
|
|
25199
25217
|
if(d[0].trace) {
|
|
25200
|
-
shape
|
|
25218
|
+
setFillStyle(shape, d[0].trace, gd);
|
|
25201
25219
|
}
|
|
25202
25220
|
});
|
|
25203
25221
|
};
|
|
@@ -25350,12 +25368,7 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {
|
|
|
25350
25368
|
sel.style(prop, getFullUrl(fullID, gd))
|
|
25351
25369
|
.style(prop + '-opacity', null);
|
|
25352
25370
|
|
|
25353
|
-
|
|
25354
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
25355
|
-
};
|
|
25356
|
-
var k = className2query(d3.select(sel.node().parentNode)) +
|
|
25357
|
-
'>' + className2query(sel);
|
|
25358
|
-
fullLayout._gradientUrlQueryParts[k] = 1;
|
|
25371
|
+
sel.classed('gradient_filled', true);
|
|
25359
25372
|
};
|
|
25360
25373
|
|
|
25361
25374
|
/**
|
|
@@ -25562,11 +25575,6 @@ drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity,
|
|
|
25562
25575
|
.style('fill-opacity', null);
|
|
25563
25576
|
|
|
25564
25577
|
sel.classed('pattern_filled', true);
|
|
25565
|
-
var className2query = function(s) {
|
|
25566
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
25567
|
-
};
|
|
25568
|
-
var k = className2query(d3.select(sel.node().parentNode)) + '>.pattern_filled';
|
|
25569
|
-
fullLayout._patternUrlQueryParts[k] = 1;
|
|
25570
25578
|
};
|
|
25571
25579
|
|
|
25572
25580
|
/*
|
|
@@ -25582,9 +25590,7 @@ drawing.initGradients = function(gd) {
|
|
|
25582
25590
|
var gradientsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'gradients');
|
|
25583
25591
|
gradientsGroup.selectAll('linearGradient,radialGradient').remove();
|
|
25584
25592
|
|
|
25585
|
-
|
|
25586
|
-
// used to fix URL strings during image exports
|
|
25587
|
-
fullLayout._gradientUrlQueryParts = {};
|
|
25593
|
+
d3.select(gd).selectAll('.gradient_filled').classed('gradient_filled', false);
|
|
25588
25594
|
};
|
|
25589
25595
|
|
|
25590
25596
|
drawing.initPatterns = function(gd) {
|
|
@@ -25593,9 +25599,7 @@ drawing.initPatterns = function(gd) {
|
|
|
25593
25599
|
var patternsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'patterns');
|
|
25594
25600
|
patternsGroup.selectAll('pattern').remove();
|
|
25595
25601
|
|
|
25596
|
-
|
|
25597
|
-
// used to fix URL strings during image exports
|
|
25598
|
-
fullLayout._patternUrlQueryParts = {};
|
|
25602
|
+
d3.select(gd).selectAll('.pattern_filled').classed('pattern_filled', false);
|
|
25599
25603
|
};
|
|
25600
25604
|
|
|
25601
25605
|
drawing.getPatternAttr = function(mp, i, dflt) {
|
|
@@ -32932,12 +32936,16 @@ module.exports = function style(s, gd, legend) {
|
|
|
32932
32936
|
var colorscale = cOpts.colorscale;
|
|
32933
32937
|
var reversescale = cOpts.reversescale;
|
|
32934
32938
|
|
|
32935
|
-
var
|
|
32939
|
+
var fillStyle = function(s) {
|
|
32936
32940
|
if(s.size()) {
|
|
32937
|
-
|
|
32938
|
-
|
|
32939
|
-
|
|
32940
|
-
|
|
32941
|
+
if(showFill) {
|
|
32942
|
+
Drawing.fillGroupStyle(s, gd);
|
|
32943
|
+
} else {
|
|
32944
|
+
var gradientID = 'legendfill-' + trace.uid;
|
|
32945
|
+
Drawing.gradient(s, gd, gradientID,
|
|
32946
|
+
getGradientDirection(reversescale),
|
|
32947
|
+
colorscale, 'fill');
|
|
32948
|
+
}
|
|
32941
32949
|
}
|
|
32942
32950
|
};
|
|
32943
32951
|
|
|
@@ -32966,7 +32974,7 @@ module.exports = function style(s, gd, legend) {
|
|
|
32966
32974
|
fill.enter().append('path').classed('js-fill', true);
|
|
32967
32975
|
fill.exit().remove();
|
|
32968
32976
|
fill.attr('d', pathStart + 'h' + itemWidth + 'v6h-' + itemWidth + 'z')
|
|
32969
|
-
.call(
|
|
32977
|
+
.call(fillStyle);
|
|
32970
32978
|
|
|
32971
32979
|
if(showLine || showGradientLine) {
|
|
32972
32980
|
var lw = boundLineWidth(undefined, trace.line, MAX_LINE_WIDTH, CST_LINE_WIDTH);
|
|
@@ -47779,6 +47787,7 @@ exports.convertToTspans = function(_context, gd, _callback) {
|
|
|
47779
47787
|
// Until we get tex integrated more fully (so it can be used along with non-tex)
|
|
47780
47788
|
// allow some elements to prohibit it by attaching 'data-notex' to the original
|
|
47781
47789
|
var tex = (!_context.attr('data-notex')) &&
|
|
47790
|
+
gd && gd._context.typesetMath &&
|
|
47782
47791
|
(typeof MathJax !== 'undefined') &&
|
|
47783
47792
|
str.match(FIND_TEX);
|
|
47784
47793
|
|
|
@@ -47933,70 +47942,154 @@ function cleanEscapesForTex(s) {
|
|
|
47933
47942
|
.replace(GT_MATCH, '\\gt ');
|
|
47934
47943
|
}
|
|
47935
47944
|
|
|
47945
|
+
var inlineMath = [['$', '$'], ['\\(', '\\)']];
|
|
47946
|
+
|
|
47936
47947
|
function texToSVG(_texString, _config, _callback) {
|
|
47948
|
+
var MathJaxVersion = parseInt(
|
|
47949
|
+
(MathJax.version || '').split('.')[0]
|
|
47950
|
+
);
|
|
47951
|
+
|
|
47952
|
+
if(
|
|
47953
|
+
MathJaxVersion !== 2 &&
|
|
47954
|
+
MathJaxVersion !== 3
|
|
47955
|
+
) {
|
|
47956
|
+
Lib.warn('No MathJax version:', MathJax.version);
|
|
47957
|
+
return;
|
|
47958
|
+
}
|
|
47959
|
+
|
|
47937
47960
|
var originalRenderer,
|
|
47938
47961
|
originalConfig,
|
|
47939
47962
|
originalProcessSectionDelay,
|
|
47940
47963
|
tmpDiv;
|
|
47941
47964
|
|
|
47942
|
-
|
|
47943
|
-
function() {
|
|
47965
|
+
var setConfig2 = function() {
|
|
47944
47966
|
originalConfig = Lib.extendDeepAll({}, MathJax.Hub.config);
|
|
47945
47967
|
|
|
47946
47968
|
originalProcessSectionDelay = MathJax.Hub.processSectionDelay;
|
|
47947
47969
|
if(MathJax.Hub.processSectionDelay !== undefined) {
|
|
47948
|
-
// MathJax 2.5+
|
|
47970
|
+
// MathJax 2.5+ but not 3+
|
|
47949
47971
|
MathJax.Hub.processSectionDelay = 0;
|
|
47950
47972
|
}
|
|
47951
47973
|
|
|
47952
47974
|
return MathJax.Hub.Config({
|
|
47953
47975
|
messageStyle: 'none',
|
|
47954
47976
|
tex2jax: {
|
|
47955
|
-
inlineMath:
|
|
47977
|
+
inlineMath: inlineMath
|
|
47956
47978
|
},
|
|
47957
47979
|
displayAlign: 'left',
|
|
47958
47980
|
});
|
|
47959
|
-
}
|
|
47960
|
-
|
|
47961
|
-
|
|
47981
|
+
};
|
|
47982
|
+
|
|
47983
|
+
var setConfig3 = function() {
|
|
47984
|
+
originalConfig = Lib.extendDeepAll({}, MathJax.config);
|
|
47985
|
+
|
|
47986
|
+
if(!MathJax.config.tex) {
|
|
47987
|
+
MathJax.config.tex = {};
|
|
47988
|
+
}
|
|
47989
|
+
|
|
47990
|
+
MathJax.config.tex.inlineMath = inlineMath;
|
|
47991
|
+
};
|
|
47992
|
+
|
|
47993
|
+
var setRenderer2 = function() {
|
|
47962
47994
|
originalRenderer = MathJax.Hub.config.menuSettings.renderer;
|
|
47963
47995
|
if(originalRenderer !== 'SVG') {
|
|
47964
47996
|
return MathJax.Hub.setRenderer('SVG');
|
|
47965
47997
|
}
|
|
47966
|
-
}
|
|
47967
|
-
|
|
47998
|
+
};
|
|
47999
|
+
|
|
48000
|
+
var setRenderer3 = function() {
|
|
48001
|
+
originalRenderer = MathJax.config.startup.output;
|
|
48002
|
+
if(originalRenderer !== 'svg') {
|
|
48003
|
+
MathJax.config.startup.output = 'svg';
|
|
48004
|
+
}
|
|
48005
|
+
};
|
|
48006
|
+
|
|
48007
|
+
var initiateMathJax = function() {
|
|
47968
48008
|
var randomID = 'math-output-' + Lib.randstr({}, 64);
|
|
47969
48009
|
tmpDiv = d3.select('body').append('div')
|
|
47970
48010
|
.attr({id: randomID})
|
|
47971
|
-
.style({
|
|
47972
|
-
|
|
48011
|
+
.style({
|
|
48012
|
+
visibility: 'hidden',
|
|
48013
|
+
position: 'absolute',
|
|
48014
|
+
'font-size': _config.fontSize + 'px'
|
|
48015
|
+
})
|
|
47973
48016
|
.text(cleanEscapesForTex(_texString));
|
|
47974
48017
|
|
|
47975
|
-
|
|
47976
|
-
|
|
47977
|
-
|
|
47978
|
-
|
|
48018
|
+
var tmpNode = tmpDiv.node();
|
|
48019
|
+
|
|
48020
|
+
return MathJaxVersion === 2 ?
|
|
48021
|
+
MathJax.Hub.Typeset(tmpNode) :
|
|
48022
|
+
MathJax.typeset([tmpNode]);
|
|
48023
|
+
};
|
|
48024
|
+
|
|
48025
|
+
var finalizeMathJax = function() {
|
|
48026
|
+
var sel = tmpDiv.select(
|
|
48027
|
+
MathJaxVersion === 2 ? '.MathJax_SVG' : '.MathJax'
|
|
48028
|
+
);
|
|
47979
48029
|
|
|
47980
|
-
|
|
48030
|
+
var node = !sel.empty() && tmpDiv.select('svg').node();
|
|
48031
|
+
if(!node) {
|
|
47981
48032
|
Lib.log('There was an error in the tex syntax.', _texString);
|
|
47982
48033
|
_callback();
|
|
47983
48034
|
} else {
|
|
47984
|
-
var
|
|
47985
|
-
|
|
48035
|
+
var nodeBBox = node.getBoundingClientRect();
|
|
48036
|
+
var glyphDefs;
|
|
48037
|
+
if(MathJaxVersion === 2) {
|
|
48038
|
+
glyphDefs = d3.select('body').select('#MathJax_SVG_glyphs');
|
|
48039
|
+
} else {
|
|
48040
|
+
glyphDefs = sel.select('defs');
|
|
48041
|
+
}
|
|
48042
|
+
_callback(sel, glyphDefs, nodeBBox);
|
|
47986
48043
|
}
|
|
47987
48044
|
|
|
47988
48045
|
tmpDiv.remove();
|
|
48046
|
+
};
|
|
47989
48047
|
|
|
48048
|
+
var resetRenderer2 = function() {
|
|
47990
48049
|
if(originalRenderer !== 'SVG') {
|
|
47991
48050
|
return MathJax.Hub.setRenderer(originalRenderer);
|
|
47992
48051
|
}
|
|
47993
|
-
}
|
|
47994
|
-
|
|
48052
|
+
};
|
|
48053
|
+
|
|
48054
|
+
var resetRenderer3 = function() {
|
|
48055
|
+
if(originalRenderer !== 'svg') {
|
|
48056
|
+
MathJax.config.startup.output = originalRenderer;
|
|
48057
|
+
}
|
|
48058
|
+
};
|
|
48059
|
+
|
|
48060
|
+
var resetConfig2 = function() {
|
|
47995
48061
|
if(originalProcessSectionDelay !== undefined) {
|
|
47996
48062
|
MathJax.Hub.processSectionDelay = originalProcessSectionDelay;
|
|
47997
48063
|
}
|
|
47998
48064
|
return MathJax.Hub.Config(originalConfig);
|
|
47999
|
-
}
|
|
48065
|
+
};
|
|
48066
|
+
|
|
48067
|
+
var resetConfig3 = function() {
|
|
48068
|
+
MathJax.config = originalConfig;
|
|
48069
|
+
};
|
|
48070
|
+
|
|
48071
|
+
if(MathJaxVersion === 2) {
|
|
48072
|
+
MathJax.Hub.Queue(
|
|
48073
|
+
setConfig2,
|
|
48074
|
+
setRenderer2,
|
|
48075
|
+
initiateMathJax,
|
|
48076
|
+
finalizeMathJax,
|
|
48077
|
+
resetRenderer2,
|
|
48078
|
+
resetConfig2
|
|
48079
|
+
);
|
|
48080
|
+
} else if(MathJaxVersion === 3) {
|
|
48081
|
+
setConfig3();
|
|
48082
|
+
setRenderer3();
|
|
48083
|
+
MathJax.startup.defaultReady();
|
|
48084
|
+
|
|
48085
|
+
MathJax.startup.promise.then(function() {
|
|
48086
|
+
initiateMathJax();
|
|
48087
|
+
finalizeMathJax();
|
|
48088
|
+
|
|
48089
|
+
resetRenderer3();
|
|
48090
|
+
resetConfig3();
|
|
48091
|
+
});
|
|
48092
|
+
}
|
|
48000
48093
|
}
|
|
48001
48094
|
|
|
48002
48095
|
var TAG_STYLES = {
|
|
@@ -53816,6 +53909,11 @@ var configAttributes = {
|
|
|
53816
53909
|
dflt: false,
|
|
53817
53910
|
},
|
|
53818
53911
|
|
|
53912
|
+
typesetMath: {
|
|
53913
|
+
valType: 'boolean',
|
|
53914
|
+
dflt: true,
|
|
53915
|
+
},
|
|
53916
|
+
|
|
53819
53917
|
plotlyServerURL: {
|
|
53820
53918
|
valType: 'string',
|
|
53821
53919
|
dflt: '',
|
|
@@ -76713,7 +76811,7 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
76713
76811
|
var toppaper = fullLayout._toppaper;
|
|
76714
76812
|
var width = fullLayout.width;
|
|
76715
76813
|
var height = fullLayout.height;
|
|
76716
|
-
var i
|
|
76814
|
+
var i;
|
|
76717
76815
|
|
|
76718
76816
|
// make background color a rect in the svg, then revert after scraping
|
|
76719
76817
|
// all other alterations have been dealt with by properly preparing the svg
|
|
@@ -76786,32 +76884,21 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
76786
76884
|
}
|
|
76787
76885
|
});
|
|
76788
76886
|
|
|
76789
|
-
|
|
76790
|
-
|
|
76791
|
-
for(k in fullLayout._gradientUrlQueryParts) queryParts.push(k);
|
|
76792
|
-
}
|
|
76793
|
-
|
|
76794
|
-
if(fullLayout._patternUrlQueryParts) {
|
|
76795
|
-
for(k in fullLayout._patternUrlQueryParts) queryParts.push(k);
|
|
76796
|
-
}
|
|
76887
|
+
svg.selectAll('.gradient_filled,.pattern_filled').each(function() {
|
|
76888
|
+
var pt = d3.select(this);
|
|
76797
76889
|
|
|
76798
|
-
|
|
76799
|
-
|
|
76800
|
-
|
|
76801
|
-
|
|
76802
|
-
|
|
76803
|
-
|
|
76804
|
-
var fill = this.style.fill;
|
|
76805
|
-
if(fill && fill.indexOf('url(') !== -1) {
|
|
76806
|
-
pt.style('fill', fill.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
76807
|
-
}
|
|
76890
|
+
// similar to font family styles above,
|
|
76891
|
+
// we must remove " after the SVG DOM has been serialized
|
|
76892
|
+
var fill = this.style.fill;
|
|
76893
|
+
if(fill && fill.indexOf('url(') !== -1) {
|
|
76894
|
+
pt.style('fill', fill.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
76895
|
+
}
|
|
76808
76896
|
|
|
76809
|
-
|
|
76810
|
-
|
|
76811
|
-
|
|
76812
|
-
|
|
76813
|
-
|
|
76814
|
-
}
|
|
76897
|
+
var stroke = this.style.stroke;
|
|
76898
|
+
if(stroke && stroke.indexOf('url(') !== -1) {
|
|
76899
|
+
pt.style('stroke', stroke.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
76900
|
+
}
|
|
76901
|
+
});
|
|
76815
76902
|
|
|
76816
76903
|
if(format === 'pdf' || format === 'eps') {
|
|
76817
76904
|
// these formats make the extra line MathJax adds around symbols look super thick in some cases
|
|
@@ -79453,6 +79540,7 @@ var hovertemplateAttrs = _dereq_('../../plots/template_attributes').hovertemplat
|
|
|
79453
79540
|
var colorScaleAttrs = _dereq_('../../components/colorscale/attributes');
|
|
79454
79541
|
var fontAttrs = _dereq_('../../plots/font_attributes');
|
|
79455
79542
|
var dash = _dereq_('../../components/drawing/attributes').dash;
|
|
79543
|
+
var pattern = _dereq_('../../components/drawing/attributes').pattern;
|
|
79456
79544
|
|
|
79457
79545
|
var Drawing = _dereq_('../../components/drawing');
|
|
79458
79546
|
var constants = _dereq_('./constants');
|
|
@@ -79640,6 +79728,7 @@ module.exports = {
|
|
|
79640
79728
|
editType: 'style',
|
|
79641
79729
|
anim: true,
|
|
79642
79730
|
},
|
|
79731
|
+
fillpattern: pattern,
|
|
79643
79732
|
marker: extendFlat({
|
|
79644
79733
|
symbol: {
|
|
79645
79734
|
valType: 'enumerated',
|
|
@@ -80376,6 +80465,7 @@ var handleLineDefaults = _dereq_('./line_defaults');
|
|
|
80376
80465
|
var handleLineShapeDefaults = _dereq_('./line_shape_defaults');
|
|
80377
80466
|
var handleTextDefaults = _dereq_('./text_defaults');
|
|
80378
80467
|
var handleFillColorDefaults = _dereq_('./fillcolor_defaults');
|
|
80468
|
+
var coercePattern = _dereq_('../../lib').coercePattern;
|
|
80379
80469
|
|
|
80380
80470
|
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
|
|
80381
80471
|
function coerce(attr, dflt) {
|
|
@@ -80429,6 +80519,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
80429
80519
|
if(traceOut.fill !== 'none') {
|
|
80430
80520
|
handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);
|
|
80431
80521
|
if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);
|
|
80522
|
+
coercePattern(coerce, 'fillpattern', traceOut.fillcolor, false);
|
|
80432
80523
|
}
|
|
80433
80524
|
|
|
80434
80525
|
var lineColor = (traceOut.line || {}).color;
|
|
@@ -81811,11 +81902,11 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
81811
81902
|
// the points on the axes are the first two points. Otherwise
|
|
81812
81903
|
// animations get a little crazy if the number of points changes.
|
|
81813
81904
|
transition(ownFillEl3).attr('d', 'M' + pt1 + 'L' + pt0 + 'L' + fullpath.substr(1))
|
|
81814
|
-
.call(Drawing.singleFillStyle);
|
|
81905
|
+
.call(Drawing.singleFillStyle, gd);
|
|
81815
81906
|
} else {
|
|
81816
81907
|
// fill to self: just join the path to itself
|
|
81817
81908
|
transition(ownFillEl3).attr('d', fullpath + 'Z')
|
|
81818
|
-
.call(Drawing.singleFillStyle);
|
|
81909
|
+
.call(Drawing.singleFillStyle, gd);
|
|
81819
81910
|
}
|
|
81820
81911
|
}
|
|
81821
81912
|
} else if(tonext) {
|
|
@@ -81827,7 +81918,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
81827
81918
|
// This makes strange results if one path is *not* entirely
|
|
81828
81919
|
// inside the other, but then that is a strange usage.
|
|
81829
81920
|
transition(tonext).attr('d', fullpath + 'Z' + prevRevpath + 'Z')
|
|
81830
|
-
.call(Drawing.singleFillStyle);
|
|
81921
|
+
.call(Drawing.singleFillStyle, gd);
|
|
81831
81922
|
} else {
|
|
81832
81923
|
// tonextx/y: for now just connect endpoints with lines. This is
|
|
81833
81924
|
// the correct behavior if the endpoints are at the same value of
|
|
@@ -81835,7 +81926,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
81835
81926
|
// things depending on whether the new endpoint projects onto the
|
|
81836
81927
|
// existing curve or off the end of it
|
|
81837
81928
|
transition(tonext).attr('d', fullpath + 'L' + prevRevpath.substr(1) + 'Z')
|
|
81838
|
-
.call(Drawing.singleFillStyle);
|
|
81929
|
+
.call(Drawing.singleFillStyle, gd);
|
|
81839
81930
|
}
|
|
81840
81931
|
trace._polygons = trace._polygons.concat(prevPolygons);
|
|
81841
81932
|
} else {
|
|
@@ -82228,7 +82319,7 @@ function style(gd) {
|
|
|
82228
82319
|
.call(Drawing.lineGroupStyle);
|
|
82229
82320
|
|
|
82230
82321
|
s.selectAll('g.trace path.js-fill')
|
|
82231
|
-
.call(Drawing.fillGroupStyle);
|
|
82322
|
+
.call(Drawing.fillGroupStyle, gd);
|
|
82232
82323
|
|
|
82233
82324
|
Registry.getComponentMethod('errorbars', 'style')(s);
|
|
82234
82325
|
}
|
|
@@ -86351,7 +86442,7 @@ function getSortFunc(opts, d2c) {
|
|
|
86351
86442
|
'use strict';
|
|
86352
86443
|
|
|
86353
86444
|
// package version injected by `npm run preprocess`
|
|
86354
|
-
exports.version = '2.
|
|
86445
|
+
exports.version = '2.11.0';
|
|
86355
86446
|
|
|
86356
86447
|
},{}],435:[function(_dereq_,module,exports){
|
|
86357
86448
|
(function (global){(function (){
|
|
@@ -121531,7 +121622,7 @@ var robustSum = _glvis_("robust-sum")
|
|
|
121531
121622
|
var robustScale = _glvis_("robust-scale")
|
|
121532
121623
|
var compress = _glvis_("robust-compress")
|
|
121533
121624
|
|
|
121534
|
-
var NUM_EXPANDED =
|
|
121625
|
+
var NUM_EXPANDED = 6
|
|
121535
121626
|
|
|
121536
121627
|
function determinant_2(sum, scale, prod, compress) {
|
|
121537
121628
|
return function robustDeterminant2(m) {
|
|
@@ -121545,10 +121636,24 @@ function determinant_3(sum, scale, prod, compress) {
|
|
|
121545
121636
|
}
|
|
121546
121637
|
}
|
|
121547
121638
|
|
|
121639
|
+
function determinant_4(sum, scale, prod, compress) {
|
|
121640
|
+
return function robustDeterminant4(m) {
|
|
121641
|
+
return compress(sum(sum(scale(sum(scale(sum(prod(m[2][2], m[3][3]), prod(-m[2][3], m[3][2])), m[1][1]), sum(scale(sum(prod(m[2][1], m[3][3]), prod(-m[2][3], m[3][1])), -m[1][2]), scale(sum(prod(m[2][1], m[3][2]), prod(-m[2][2], m[3][1])), m[1][3]))), m[0][0]), scale(sum(scale(sum(prod(m[2][2], m[3][3]), prod(-m[2][3], m[3][2])), m[1][0]), sum(scale(sum(prod(m[2][0], m[3][3]), prod(-m[2][3], m[3][0])), -m[1][2]), scale(sum(prod(m[2][0], m[3][2]), prod(-m[2][2], m[3][0])), m[1][3]))), -m[0][1])), sum(scale(sum(scale(sum(prod(m[2][1], m[3][3]), prod(-m[2][3], m[3][1])), m[1][0]), sum(scale(sum(prod(m[2][0], m[3][3]), prod(-m[2][3], m[3][0])), -m[1][1]), scale(sum(prod(m[2][0], m[3][1]), prod(-m[2][1], m[3][0])), m[1][3]))), m[0][2]), scale(sum(scale(sum(prod(m[2][1], m[3][2]), prod(-m[2][2], m[3][1])), m[1][0]), sum(scale(sum(prod(m[2][0], m[3][2]), prod(-m[2][2], m[3][0])), -m[1][1]), scale(sum(prod(m[2][0], m[3][1]), prod(-m[2][1], m[3][0])), m[1][2]))), -m[0][3]))))
|
|
121642
|
+
}
|
|
121643
|
+
}
|
|
121644
|
+
|
|
121645
|
+
function determinant_5(sum, scale, prod, compress) {
|
|
121646
|
+
return function robustDeterminant5(m) {
|
|
121647
|
+
return compress(sum(sum(scale(sum(sum(scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][2]), sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), -m[2][3]), scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][4]))), m[1][1]), scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), -m[2][3]), scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), m[2][4]))), -m[1][2])), sum(scale(sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), -m[2][2]), scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][4]))), m[1][3]), scale(sum(scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), -m[2][2]), scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][3]))), -m[1][4]))), m[0][0]), scale(sum(sum(scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][2]), sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), -m[2][3]), scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][4]))), m[1][0]), scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][3]), scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), m[2][4]))), -m[1][2])), sum(scale(sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][2]), scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), m[2][4]))), m[1][3]), scale(sum(scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), -m[2][2]), scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), m[2][3]))), -m[1][4]))), -m[0][1])), sum(scale(sum(sum(scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), -m[2][3]), scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), m[2][4]))), m[1][0]), scale(sum(scale(sum(prod(m[3][3], m[4][4]), prod(-m[3][4], m[4][3])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][3]), scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), m[2][4]))), -m[1][1])), sum(scale(sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][4]))), m[1][3]), scale(sum(scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][3]))), -m[1][4]))), m[0][2]), sum(scale(sum(sum(scale(sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), -m[2][2]), scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][4]))), m[1][0]), scale(sum(scale(sum(prod(m[3][2], m[4][4]), prod(-m[3][4], m[4][2])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][2]), scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), m[2][4]))), -m[1][1])), sum(scale(sum(scale(sum(prod(m[3][1], m[4][4]), prod(-m[3][4], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][4]), prod(-m[3][4], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][4]))), m[1][2]), scale(sum(scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][2]))), -m[1][4]))), -m[0][3]), scale(sum(sum(scale(sum(scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][1]), sum(scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), -m[2][2]), scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][3]))), m[1][0]), scale(sum(scale(sum(prod(m[3][2], m[4][3]), prod(-m[3][3], m[4][2])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), -m[2][2]), scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), m[2][3]))), -m[1][1])), sum(scale(sum(scale(sum(prod(m[3][1], m[4][3]), prod(-m[3][3], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][3]), prod(-m[3][3], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][3]))), m[1][2]), scale(sum(scale(sum(prod(m[3][1], m[4][2]), prod(-m[3][2], m[4][1])), m[2][0]), sum(scale(sum(prod(m[3][0], m[4][2]), prod(-m[3][2], m[4][0])), -m[2][1]), scale(sum(prod(m[3][0], m[4][1]), prod(-m[3][1], m[4][0])), m[2][2]))), -m[1][3]))), m[0][4])))))
|
|
121648
|
+
}
|
|
121649
|
+
}
|
|
121650
|
+
|
|
121548
121651
|
function compileDeterminant(n) {
|
|
121549
121652
|
var fn =
|
|
121550
121653
|
n === 2 ? determinant_2 :
|
|
121551
|
-
n === 3 ? determinant_3 :
|
|
121654
|
+
n === 3 ? determinant_3 :
|
|
121655
|
+
n === 4 ? determinant_4 :
|
|
121656
|
+
n === 5 ? determinant_5 : undefined
|
|
121552
121657
|
return fn(robustSum, robustScale, twoProduct, compress)
|
|
121553
121658
|
}
|
|
121554
121659
|
|
|
@@ -121557,7 +121662,7 @@ var CACHE = [
|
|
|
121557
121662
|
function robustDeterminant1(m) { return [m[0][0]] }
|
|
121558
121663
|
]
|
|
121559
121664
|
|
|
121560
|
-
function proc(det0, det1, det2, det3, CACHE, gen) {
|
|
121665
|
+
function proc(det0, det1, det2, det3, det4, det5, CACHE, gen) {
|
|
121561
121666
|
return function robustDeterminant(m) {
|
|
121562
121667
|
switch (m.length) {
|
|
121563
121668
|
case 0:
|
|
@@ -121568,6 +121673,10 @@ function proc(det0, det1, det2, det3, CACHE, gen) {
|
|
|
121568
121673
|
return det2(m)
|
|
121569
121674
|
case 3:
|
|
121570
121675
|
return det3(m)
|
|
121676
|
+
case 4:
|
|
121677
|
+
return det4(m)
|
|
121678
|
+
case 5:
|
|
121679
|
+
return det5(m)
|
|
121571
121680
|
}
|
|
121572
121681
|
var det = CACHE[m.length]
|
|
121573
121682
|
if (!det) det = CACHE[m.length] = gen(m.length)
|
|
@@ -121811,13 +121920,16 @@ generateInSphereTest()
|
|
|
121811
121920
|
|
|
121812
121921
|
var determinant = _glvis_("robust-determinant")
|
|
121813
121922
|
|
|
121814
|
-
var NUM_EXPAND =
|
|
121923
|
+
var NUM_EXPAND = 6
|
|
121815
121924
|
|
|
121816
121925
|
function generateSolver(n) {
|
|
121817
121926
|
var fn =
|
|
121818
|
-
n === 2 ? solve2d :
|
|
121927
|
+
n === 2 ? solve2d :
|
|
121928
|
+
n === 3 ? solve3d :
|
|
121929
|
+
n === 4 ? solve4d :
|
|
121930
|
+
n === 5 ? solve5d : solve6d
|
|
121819
121931
|
|
|
121820
|
-
if(n <
|
|
121932
|
+
if(n < 6) {
|
|
121821
121933
|
return fn(determinant[n])
|
|
121822
121934
|
}
|
|
121823
121935
|
return fn(determinant)
|
|
@@ -121843,18 +121955,38 @@ function solve3d(det) {
|
|
|
121843
121955
|
}
|
|
121844
121956
|
}
|
|
121845
121957
|
|
|
121958
|
+
function solve4d(det) {
|
|
121959
|
+
return function robustLinearSolve4d(A, b) {
|
|
121960
|
+
return [det([[+b[0], +A[0][1], +A[0][2], +A[0][3]], [+b[1], +A[1][1], +A[1][2], +A[1][3]], [+b[2], +A[2][1], +A[2][2], +A[2][3]], [+b[3], +A[3][1], +A[3][2], +A[3][3]]]), det([[+A[0][0], +b[0], +A[0][2], +A[0][3]], [+A[1][0], +b[1], +A[1][2], +A[1][3]], [+A[2][0], +b[2], +A[2][2], +A[2][3]], [+A[3][0], +b[3], +A[3][2], +A[3][3]]]), det([[+A[0][0], +A[0][1], +b[0], +A[0][3]], [+A[1][0], +A[1][1], +b[1], +A[1][3]], [+A[2][0], +A[2][1], +b[2], +A[2][3]], [+A[3][0], +A[3][1], +b[3], +A[3][3]]]), det([[+A[0][0], +A[0][1], +A[0][2], +b[0]], [+A[1][0], +A[1][1], +A[1][2], +b[1]], [+A[2][0], +A[2][1], +A[2][2], +b[2]], [+A[3][0], +A[3][1], +A[3][2], +b[3]]]), det(A)]
|
|
121961
|
+
}
|
|
121962
|
+
}
|
|
121963
|
+
|
|
121964
|
+
function solve5d(det) {
|
|
121965
|
+
return function robustLinearSolve5d(A, b) {
|
|
121966
|
+
return [det([[+b[0], +A[0][1], +A[0][2], +A[0][3], +A[0][4]], [+b[1], +A[1][1], +A[1][2], +A[1][3], +A[1][4]], [+b[2], +A[2][1], +A[2][2], +A[2][3], +A[2][4]], [+b[3], +A[3][1], +A[3][2], +A[3][3], +A[3][4]], [+b[4], +A[4][1], +A[4][2], +A[4][3], +A[4][4]]]), det([[+A[0][0], +b[0], +A[0][2], +A[0][3], +A[0][4]], [+A[1][0], +b[1], +A[1][2], +A[1][3], +A[1][4]], [+A[2][0], +b[2], +A[2][2], +A[2][3], +A[2][4]], [+A[3][0], +b[3], +A[3][2], +A[3][3], +A[3][4]], [+A[4][0], +b[4], +A[4][2], +A[4][3], +A[4][4]]]), det([[+A[0][0], +A[0][1], +b[0], +A[0][3], +A[0][4]], [+A[1][0], +A[1][1], +b[1], +A[1][3], +A[1][4]], [+A[2][0], +A[2][1], +b[2], +A[2][3], +A[2][4]], [+A[3][0], +A[3][1], +b[3], +A[3][3], +A[3][4]], [+A[4][0], +A[4][1], +b[4], +A[4][3], +A[4][4]]]), det([[+A[0][0], +A[0][1], +A[0][2], +b[0], +A[0][4]], [+A[1][0], +A[1][1], +A[1][2], +b[1], +A[1][4]], [+A[2][0], +A[2][1], +A[2][2], +b[2], +A[2][4]], [+A[3][0], +A[3][1], +A[3][2], +b[3], +A[3][4]], [+A[4][0], +A[4][1], +A[4][2], +b[4], +A[4][4]]]), det([[+A[0][0], +A[0][1], +A[0][2], +A[0][3], +b[0]], [+A[1][0], +A[1][1], +A[1][2], +A[1][3], +b[1]], [+A[2][0], +A[2][1], +A[2][2], +A[2][3], +b[2]], [+A[3][0], +A[3][1], +A[3][2], +A[3][3], +b[3]], [+A[4][0], +A[4][1], +A[4][2], +A[4][3], +b[4]]]), det(A)]
|
|
121967
|
+
}
|
|
121968
|
+
}
|
|
121969
|
+
|
|
121970
|
+
function solve6d(det) {
|
|
121971
|
+
return function robustLinearSolve6d(A, b) {
|
|
121972
|
+
return [det([[+b[0], +A[0][1], +A[0][2], +A[0][3], +A[0][4], +A[0][5]], [+b[1], +A[1][1], +A[1][2], +A[1][3], +A[1][4], +A[1][5]], [+b[2], +A[2][1], +A[2][2], +A[2][3], +A[2][4], +A[2][5]], [+b[3], +A[3][1], +A[3][2], +A[3][3], +A[3][4], +A[3][5]], [+b[4], +A[4][1], +A[4][2], +A[4][3], +A[4][4], +A[4][5]], [+b[5], +A[5][1], +A[5][2], +A[5][3], +A[5][4], +A[5][5]]]), det([[+A[0][0], +b[0], +A[0][2], +A[0][3], +A[0][4], +A[0][5]], [+A[1][0], +b[1], +A[1][2], +A[1][3], +A[1][4], +A[1][5]], [+A[2][0], +b[2], +A[2][2], +A[2][3], +A[2][4], +A[2][5]], [+A[3][0], +b[3], +A[3][2], +A[3][3], +A[3][4], +A[3][5]], [+A[4][0], +b[4], +A[4][2], +A[4][3], +A[4][4], +A[4][5]], [+A[5][0], +b[5], +A[5][2], +A[5][3], +A[5][4], +A[5][5]]]), det([[+A[0][0], +A[0][1], +b[0], +A[0][3], +A[0][4], +A[0][5]], [+A[1][0], +A[1][1], +b[1], +A[1][3], +A[1][4], +A[1][5]], [+A[2][0], +A[2][1], +b[2], +A[2][3], +A[2][4], +A[2][5]], [+A[3][0], +A[3][1], +b[3], +A[3][3], +A[3][4], +A[3][5]], [+A[4][0], +A[4][1], +b[4], +A[4][3], +A[4][4], +A[4][5]], [+A[5][0], +A[5][1], +b[5], +A[5][3], +A[5][4], +A[5][5]]]), det([[+A[0][0], +A[0][1], +A[0][2], +b[0], +A[0][4], +A[0][5]], [+A[1][0], +A[1][1], +A[1][2], +b[1], +A[1][4], +A[1][5]], [+A[2][0], +A[2][1], +A[2][2], +b[2], +A[2][4], +A[2][5]], [+A[3][0], +A[3][1], +A[3][2], +b[3], +A[3][4], +A[3][5]], [+A[4][0], +A[4][1], +A[4][2], +b[4], +A[4][4], +A[4][5]], [+A[5][0], +A[5][1], +A[5][2], +b[5], +A[5][4], +A[5][5]]]), det([[+A[0][0], +A[0][1], +A[0][2], +A[0][3], +b[0], +A[0][5]], [+A[1][0], +A[1][1], +A[1][2], +A[1][3], +b[1], +A[1][5]], [+A[2][0], +A[2][1], +A[2][2], +A[2][3], +b[2], +A[2][5]], [+A[3][0], +A[3][1], +A[3][2], +A[3][3], +b[3], +A[3][5]], [+A[4][0], +A[4][1], +A[4][2], +A[4][3], +b[4], +A[4][5]], [+A[5][0], +A[5][1], +A[5][2], +A[5][3], +b[5], +A[5][5]]]), det([[+A[0][0], +A[0][1], +A[0][2], +A[0][3], +A[0][4], +b[0]], [+A[1][0], +A[1][1], +A[1][2], +A[1][3], +A[1][4], +b[1]], [+A[2][0], +A[2][1], +A[2][2], +A[2][3], +A[2][4], +b[2]], [+A[3][0], +A[3][1], +A[3][2], +A[3][3], +A[3][4], +b[3]], [+A[4][0], +A[4][1], +A[4][2], +A[4][3], +A[4][4], +b[4]], [+A[5][0], +A[5][1], +A[5][2], +A[5][3], +A[5][4], +b[5]]]), det(A)]
|
|
121973
|
+
}
|
|
121974
|
+
}
|
|
121975
|
+
|
|
121846
121976
|
var CACHE = [
|
|
121847
121977
|
robustLinearSolve0d,
|
|
121848
121978
|
robustLinearSolve1d
|
|
121849
121979
|
]
|
|
121850
121980
|
|
|
121851
|
-
function proc(s0, s1, s2, s3, CACHE, g) {
|
|
121981
|
+
function proc(s0, s1, s2, s3, s4, s5, CACHE, g) {
|
|
121852
121982
|
return function dispatchLinearSolve(A, b) {
|
|
121853
121983
|
switch (A.length) {
|
|
121854
121984
|
case 0: return s0(A, b);
|
|
121855
121985
|
case 1: return s1(A, b);
|
|
121856
121986
|
case 2: return s2(A, b);
|
|
121857
121987
|
case 3: return s3(A, b);
|
|
121988
|
+
case 4: return s4(A, b);
|
|
121989
|
+
case 5: return s5(A, b);
|
|
121858
121990
|
}
|
|
121859
121991
|
var s = CACHE[A.length];
|
|
121860
121992
|
if (!s) s = CACHE[A.length] = g(A.length);
|
|
@@ -121863,7 +121995,7 @@ function proc(s0, s1, s2, s3, CACHE, g) {
|
|
|
121863
121995
|
}
|
|
121864
121996
|
|
|
121865
121997
|
function generateDispatch() {
|
|
121866
|
-
while(CACHE.length
|
|
121998
|
+
while(CACHE.length < NUM_EXPAND) {
|
|
121867
121999
|
CACHE.push(generateSolver(CACHE.length))
|
|
121868
122000
|
}
|
|
121869
122001
|
module.exports = proc.apply(undefined, CACHE.concat([CACHE, generateSolver]))
|