jsxgraph 1.4.0 → 1.4.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/README.md +1 -1
- package/distrib/README.md +1 -1
- package/distrib/geogebra.min.js +3 -3
- package/distrib/geonext.min.js +3 -3
- package/distrib/index.d.ts +650 -447
- package/distrib/intergeo.min.js +3 -3
- package/distrib/jsxgraph.css +4 -13
- package/distrib/jsxgraphcore.js +9 -25
- package/distrib/jsxgraphsrc.js +2544 -2060
- package/distrib/sketch.min.js +3 -3
- package/package.json +3 -2
- package/src/base/board.js +99 -59
- package/src/base/chart.js +1 -1
- package/src/base/circle.js +1 -1
- package/src/base/composition.js +1 -1
- package/src/base/constants.js +14 -14
- package/src/base/coords.js +3 -3
- package/src/base/coordselement.js +4 -4
- package/src/base/curve.js +1 -1
- package/src/base/element.js +13 -14
- package/src/base/foreignobject.js +5 -1
- package/src/base/group.js +1 -1
- package/src/base/image.js +1 -1
- package/src/base/line.js +1 -1
- package/src/base/point.js +7 -18
- package/src/base/polygon.js +1 -1
- package/src/base/text.js +8 -7
- package/src/base/ticks.js +9 -2
- package/src/base/transformation.js +1 -1
- package/src/base/turtle.js +1 -1
- package/src/element/arc.js +1 -1
- package/src/element/button.js +1 -1
- package/src/element/checkbox.js +1 -1
- package/src/element/comb.js +1 -1
- package/src/element/composition.js +1 -1
- package/src/element/conic.js +3 -3
- package/src/element/input.js +1 -1
- package/src/element/locus.js +1 -1
- package/src/element/measure.js +9 -4
- package/src/element/sector.js +5 -5
- package/src/element/slider.js +17 -12
- package/src/element/slopetriangle.js +1 -1
- package/src/jsxgraph.js +9 -3
- package/src/jxg.js +3 -3
- package/src/loadjsxgraph.js +1 -1
- package/src/math/bst.js +1 -1
- package/src/math/clip.js +550 -345
- package/src/math/complex.js +1 -1
- package/src/math/extrapolate.js +1 -1
- package/src/math/geometry.js +5 -5
- package/src/math/ia.js +69 -69
- package/src/math/math.js +1 -1
- package/src/math/metapost.js +1 -1
- package/src/math/nlp.js +4 -4
- package/src/math/numerics.js +2 -1
- package/src/math/plot.js +4 -4
- package/src/math/poly.js +1 -1
- package/src/math/probfuncs.js +2 -1
- package/src/math/qdt.js +11 -11
- package/src/math/statistics.js +10 -10
- package/src/math/symbolic.js +1 -1
- package/src/options.js +72 -31
- package/src/parser/ca.js +1297 -1291
- package/src/parser/datasource.js +1 -1
- package/src/parser/geonext.js +6 -6
- package/src/parser/jessiecode.js +266 -73
- package/src/parser/jessiescript.js +1 -1
- package/src/reader/cinderella.js +1 -1
- package/src/reader/file.js +1 -1
- package/src/reader/geogebra.js +1 -1
- package/src/reader/geonext.js +1 -1
- package/src/reader/graph.js +1 -1
- package/src/reader/intergeo.js +1 -1
- package/src/reader/sketch.js +1 -1
- package/src/renderer/abstract.js +4 -1
- package/src/renderer/canvas.js +9 -5
- package/src/renderer/no.js +2 -1
- package/src/renderer/svg.js +10 -13
- package/src/renderer/vml.js +1 -1
- package/src/server/server.js +1 -1
- package/src/utils/base64.js +2 -2
- package/src/utils/color.js +7 -7
- package/src/utils/dump.js +20 -5
- package/src/utils/env.js +13 -54
- package/src/utils/event.js +1 -1
- package/src/utils/expect.js +1 -1
- package/src/utils/type.js +10 -8
- package/src/utils/xml.js +1 -1
- package/src/utils/zip.js +1 -1
- package/CHANGELOG.md +0 -1366
package/src/math/complex.js
CHANGED
package/src/math/extrapolate.js
CHANGED
package/src/math/geometry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Michael Gerhaeuser,
|
|
5
5
|
Carsten Miller,
|
|
@@ -1084,7 +1084,7 @@ define([
|
|
|
1084
1084
|
};
|
|
1085
1085
|
|
|
1086
1086
|
} else if ((
|
|
1087
|
-
el1.elementClass === Const.OBJECT_CLASS_CURVE &&
|
|
1087
|
+
el1.elementClass === Const.OBJECT_CLASS_CURVE &&
|
|
1088
1088
|
!el1_isArcType &&
|
|
1089
1089
|
el2.elementClass === Const.OBJECT_CLASS_LINE
|
|
1090
1090
|
) ||
|
|
@@ -1729,7 +1729,7 @@ define([
|
|
|
1729
1729
|
* @param {Array} q1 First point of segment 2 using normalized homogeneous coordinates [1,x,y]
|
|
1730
1730
|
* @param {Array} q2 Second point or direction of segment 2 using normalized homogeneous coordinates [1,x,y] or point at infinity [0,x,y], respectively
|
|
1731
1731
|
* @returns {Array} [Intersection point, t, u] The first entry contains the homogeneous coordinates
|
|
1732
|
-
* of the intersection point. The second and third entry give the position of the intersection with respect
|
|
1732
|
+
* of the intersection point. The second and third entry give the position of the intersection with respect
|
|
1733
1733
|
* to the definiting parameters. For example, the second entry t is defined by: intersection point = p1 + t * deltaP, where
|
|
1734
1734
|
* deltaP = (p2 - p1) when both parameters are coordinates, and deltaP = p2 if p2 is a point at infinity.
|
|
1735
1735
|
* If the two segments are collinear, [[0,0,0], Infinity, Infinity] is returned.
|
|
@@ -1749,8 +1749,8 @@ define([
|
|
|
1749
1749
|
c[2] /= c[0];
|
|
1750
1750
|
c[0] /= c[0];
|
|
1751
1751
|
|
|
1752
|
-
// Now compute in principle:
|
|
1753
|
-
// t = dist(c - p1) / dist(p2 - p1) and
|
|
1752
|
+
// Now compute in principle:
|
|
1753
|
+
// t = dist(c - p1) / dist(p2 - p1) and
|
|
1754
1754
|
// u = dist(c - q1) / dist(q2 - q1)
|
|
1755
1755
|
// However: the points q1, q2, p1, p2 might be ideal points - or in general - the
|
|
1756
1756
|
// coordinates might be not normalized.
|
package/src/math/ia.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Michael Gerhaeuser,
|
|
5
5
|
Carsten Miller,
|
|
@@ -299,9 +299,9 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
299
299
|
|
|
300
300
|
/**
|
|
301
301
|
* Addition
|
|
302
|
-
*
|
|
303
|
-
* @param {JXG.Math.Interval|Number} x
|
|
304
|
-
* @param {JXG.Math.Interval|Number} y
|
|
302
|
+
*
|
|
303
|
+
* @param {JXG.Math.Interval|Number} x
|
|
304
|
+
* @param {JXG.Math.Interval|Number} y
|
|
305
305
|
* @returns JXG.Math.Interval
|
|
306
306
|
*/
|
|
307
307
|
add: function(x, y) {
|
|
@@ -316,9 +316,9 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
316
316
|
|
|
317
317
|
/**
|
|
318
318
|
* Subtraction
|
|
319
|
-
*
|
|
320
|
-
* @param {JXG.Math.Interval|Number} x
|
|
321
|
-
* @param {JXG.Math.Interval|Number} y
|
|
319
|
+
*
|
|
320
|
+
* @param {JXG.Math.Interval|Number} x
|
|
321
|
+
* @param {JXG.Math.Interval|Number} y
|
|
322
322
|
* @returns JXG.Math.Interval
|
|
323
323
|
*/
|
|
324
324
|
sub: function(x, y) {
|
|
@@ -333,9 +333,9 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
333
333
|
|
|
334
334
|
/**
|
|
335
335
|
* Multiplication
|
|
336
|
-
*
|
|
337
|
-
* @param {JXG.Math.Interval|Number} x
|
|
338
|
-
* @param {JXG.Math.Interval|Number} y
|
|
336
|
+
*
|
|
337
|
+
* @param {JXG.Math.Interval|Number} x
|
|
338
|
+
* @param {JXG.Math.Interval|Number} y
|
|
339
339
|
* @returns JXG.Math.Interval
|
|
340
340
|
*/
|
|
341
341
|
mul: function(x, y) {
|
|
@@ -437,9 +437,9 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
437
437
|
|
|
438
438
|
/**
|
|
439
439
|
* Division
|
|
440
|
-
*
|
|
441
|
-
* @param {JXG.Math.Interval|Number} x
|
|
442
|
-
* @param {JXG.Math.Interval|Number} y
|
|
440
|
+
*
|
|
441
|
+
* @param {JXG.Math.Interval|Number} x
|
|
442
|
+
* @param {JXG.Math.Interval|Number} y
|
|
443
443
|
* @returns JXG.Math.Interval
|
|
444
444
|
*/
|
|
445
445
|
div: function(x, y) {
|
|
@@ -470,8 +470,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
470
470
|
|
|
471
471
|
/**
|
|
472
472
|
* Return +x (i.e. identity)
|
|
473
|
-
*
|
|
474
|
-
* @param {JXG.Math.Interval} x
|
|
473
|
+
*
|
|
474
|
+
* @param {JXG.Math.Interval} x
|
|
475
475
|
* @returns JXG.Math.Interval
|
|
476
476
|
*/
|
|
477
477
|
positive: function(x) {
|
|
@@ -480,8 +480,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
480
480
|
|
|
481
481
|
/**
|
|
482
482
|
* Return -x
|
|
483
|
-
*
|
|
484
|
-
* @param {JXG.Math.Interval} x
|
|
483
|
+
*
|
|
484
|
+
* @param {JXG.Math.Interval} x
|
|
485
485
|
* @returns JXG.Math.Interval
|
|
486
486
|
*/
|
|
487
487
|
negative: function(x) {
|
|
@@ -497,37 +497,37 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
497
497
|
|
|
498
498
|
/**
|
|
499
499
|
* Test if interval is empty set.
|
|
500
|
-
* @param {JXG.Math.Interval} i
|
|
500
|
+
* @param {JXG.Math.Interval} i
|
|
501
501
|
* @returns Boolean
|
|
502
|
-
*/
|
|
502
|
+
*/
|
|
503
503
|
isEmpty: function(i) {
|
|
504
504
|
return i.lo > i.hi;
|
|
505
505
|
},
|
|
506
506
|
|
|
507
507
|
/**
|
|
508
508
|
* Test if interval is (-Infinity, Infinity).
|
|
509
|
-
* @param {JXG.Math.Interval} i
|
|
509
|
+
* @param {JXG.Math.Interval} i
|
|
510
510
|
* @returns Boolean
|
|
511
|
-
*/
|
|
511
|
+
*/
|
|
512
512
|
isWhole: function(i){
|
|
513
513
|
return i.lo === -Infinity && i.hi === Infinity;
|
|
514
514
|
},
|
|
515
515
|
|
|
516
516
|
/**
|
|
517
517
|
* Test if interval contains 0.
|
|
518
|
-
* @param {JXG.Math.Interval} i
|
|
518
|
+
* @param {JXG.Math.Interval} i
|
|
519
519
|
* @returns Boolean
|
|
520
|
-
*/
|
|
520
|
+
*/
|
|
521
521
|
zeroIn: function(i) {
|
|
522
522
|
return this.hasValue(i, 0);
|
|
523
523
|
},
|
|
524
524
|
|
|
525
525
|
/**
|
|
526
526
|
* Test if interval contains a specific value.
|
|
527
|
-
* @param {JXG.Math.Interval} i
|
|
527
|
+
* @param {JXG.Math.Interval} i
|
|
528
528
|
* @param {Number} value
|
|
529
529
|
* @returns Boolean
|
|
530
|
-
*/
|
|
530
|
+
*/
|
|
531
531
|
hasValue: function(i, value) {
|
|
532
532
|
if (this.isEmpty(i)) {
|
|
533
533
|
return false;
|
|
@@ -540,7 +540,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
540
540
|
* @param {JXG.Math.Interval} x
|
|
541
541
|
* @param {JXG.Math.Interval} y
|
|
542
542
|
* @returns Boolean
|
|
543
|
-
*/
|
|
543
|
+
*/
|
|
544
544
|
hasInterval: function(x, y) {
|
|
545
545
|
if (this.isEmpty(x)) {
|
|
546
546
|
return true;
|
|
@@ -553,7 +553,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
553
553
|
* @param {JXG.Math.Interval} x
|
|
554
554
|
* @param {JXG.Math.Interval} y
|
|
555
555
|
* @returns Boolean
|
|
556
|
-
*/
|
|
556
|
+
*/
|
|
557
557
|
intervalsOverlap: function(x, y) {
|
|
558
558
|
if (this.isEmpty(x) || this.isEmpty(y)) {
|
|
559
559
|
return false;
|
|
@@ -566,8 +566,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
566
566
|
*/
|
|
567
567
|
/**
|
|
568
568
|
* @private
|
|
569
|
-
* @param {JXG.Math.Interval} x
|
|
570
|
-
* @param {JXG.Math.Interval} y
|
|
569
|
+
* @param {JXG.Math.Interval} x
|
|
570
|
+
* @param {JXG.Math.Interval} y
|
|
571
571
|
* @returns JXG.Math.Interval
|
|
572
572
|
*/
|
|
573
573
|
divNonZero: function(x, y) {
|
|
@@ -607,8 +607,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
607
607
|
|
|
608
608
|
/**
|
|
609
609
|
* @private
|
|
610
|
-
* @param {JXG.Math.Interval} x
|
|
611
|
-
* @param {JXG.Math.Interval} y
|
|
610
|
+
* @param {JXG.Math.Interval} x
|
|
611
|
+
* @param {JXG.Math.Interval} y
|
|
612
612
|
* @returns JXG.Math.Interval
|
|
613
613
|
*/
|
|
614
614
|
divPositive: function(x, v) {
|
|
@@ -631,8 +631,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
631
631
|
|
|
632
632
|
/**
|
|
633
633
|
* @private
|
|
634
|
-
* @param {JXG.Math.Interval} x
|
|
635
|
-
* @param {JXG.Math.Interval} y
|
|
634
|
+
* @param {JXG.Math.Interval} x
|
|
635
|
+
* @param {JXG.Math.Interval} y
|
|
636
636
|
* @returns JXG.Math.Interval
|
|
637
637
|
*/
|
|
638
638
|
divNegative: function(x, v) {
|
|
@@ -655,7 +655,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
655
655
|
|
|
656
656
|
/**
|
|
657
657
|
* @private
|
|
658
|
-
* @param {JXG.Math.Interval} x
|
|
658
|
+
* @param {JXG.Math.Interval} x
|
|
659
659
|
* @returns JXG.Math.Interval
|
|
660
660
|
*/
|
|
661
661
|
divZero: function(x) {
|
|
@@ -670,8 +670,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
670
670
|
*/
|
|
671
671
|
/**
|
|
672
672
|
* x mod y: x - n * y
|
|
673
|
-
* @param {JXG.Math.Interval|Number} x
|
|
674
|
-
* @param {JXG.Math.Interval|Number} y
|
|
673
|
+
* @param {JXG.Math.Interval|Number} x
|
|
674
|
+
* @param {JXG.Math.Interval|Number} y
|
|
675
675
|
* @returns JXG.Math.Interval
|
|
676
676
|
*/
|
|
677
677
|
fmod: function(x, y) {
|
|
@@ -698,7 +698,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
698
698
|
|
|
699
699
|
/**
|
|
700
700
|
* 1 / x
|
|
701
|
-
* @param {JXG.Math.Interval|Number} x
|
|
701
|
+
* @param {JXG.Math.Interval|Number} x
|
|
702
702
|
* @returns JXG.Math.Interval
|
|
703
703
|
*/
|
|
704
704
|
multiplicativeInverse: function(x) {
|
|
@@ -730,7 +730,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
730
730
|
|
|
731
731
|
/**
|
|
732
732
|
* x<sup>power</sup>
|
|
733
|
-
* @param {JXG.Math.Interval|Number} x
|
|
733
|
+
* @param {JXG.Math.Interval|Number} x
|
|
734
734
|
* @param {JXG.Math.Interval|Number} power
|
|
735
735
|
* @returns JXG.Math.Interval
|
|
736
736
|
*/
|
|
@@ -797,7 +797,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
797
797
|
|
|
798
798
|
/**
|
|
799
799
|
* sqrt(x)
|
|
800
|
-
* @param {JXG.Math.Interval|Number} x
|
|
800
|
+
* @param {JXG.Math.Interval|Number} x
|
|
801
801
|
* @returns JXG.Math.Interval
|
|
802
802
|
*/
|
|
803
803
|
sqrt: function(x) {
|
|
@@ -809,7 +809,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
809
809
|
|
|
810
810
|
/**
|
|
811
811
|
* x<sup>1/n</sup>
|
|
812
|
-
* @param {JXG.Math.Interval|Number} x
|
|
812
|
+
* @param {JXG.Math.Interval|Number} x
|
|
813
813
|
* @param {Number} n
|
|
814
814
|
* @returns JXG.Math.Interval
|
|
815
815
|
*/
|
|
@@ -865,8 +865,8 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
865
865
|
* Misc
|
|
866
866
|
*/
|
|
867
867
|
/**
|
|
868
|
-
*
|
|
869
|
-
* @param {JXG.Math.Interval|Number} x
|
|
868
|
+
*
|
|
869
|
+
* @param {JXG.Math.Interval|Number} x
|
|
870
870
|
* @returns JXG.Math.Interval
|
|
871
871
|
*/
|
|
872
872
|
exp: function(x) {
|
|
@@ -881,7 +881,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
881
881
|
|
|
882
882
|
/**
|
|
883
883
|
* Natural log
|
|
884
|
-
* @param {JXG.Math.Interval|Number} x
|
|
884
|
+
* @param {JXG.Math.Interval|Number} x
|
|
885
885
|
* @returns JXG.Math.Interval
|
|
886
886
|
*/
|
|
887
887
|
log: function(x) {
|
|
@@ -898,7 +898,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
898
898
|
|
|
899
899
|
/**
|
|
900
900
|
* Natural log, alias for {@link JXG.Math.IntervalArithmetic#log}.
|
|
901
|
-
* @param {JXG.Math.Interval|Number} x
|
|
901
|
+
* @param {JXG.Math.Interval|Number} x
|
|
902
902
|
* @returns JXG.Math.Interval
|
|
903
903
|
*/
|
|
904
904
|
ln: function(x) {
|
|
@@ -909,7 +909,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
909
909
|
// export const LOG_EXP_2 = log(new MatInterval(2, 2))
|
|
910
910
|
/**
|
|
911
911
|
* Logarithm to base 10.
|
|
912
|
-
* @param {JXG.Math.Interval|Number} x
|
|
912
|
+
* @param {JXG.Math.Interval|Number} x
|
|
913
913
|
* @returns JXG.Math.Interval
|
|
914
914
|
*/
|
|
915
915
|
log10: function(x) {
|
|
@@ -921,7 +921,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
921
921
|
|
|
922
922
|
/**
|
|
923
923
|
* Logarithm to base 2.
|
|
924
|
-
* @param {JXG.Math.Interval|Number} x
|
|
924
|
+
* @param {JXG.Math.Interval|Number} x
|
|
925
925
|
* @returns JXG.Math.Interval
|
|
926
926
|
*/
|
|
927
927
|
log2: function(x) {
|
|
@@ -933,7 +933,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
933
933
|
|
|
934
934
|
/**
|
|
935
935
|
* Hull of intervals x and y
|
|
936
|
-
* @param {JXG.Math.Interval} x
|
|
936
|
+
* @param {JXG.Math.Interval} x
|
|
937
937
|
* @param {JXG.Math.Interval} y
|
|
938
938
|
* @returns JXG.Math.Interval
|
|
939
939
|
*/
|
|
@@ -954,7 +954,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
954
954
|
|
|
955
955
|
/**
|
|
956
956
|
* Intersection of intervals x and y
|
|
957
|
-
* @param {JXG.Math.Interval} x
|
|
957
|
+
* @param {JXG.Math.Interval} x
|
|
958
958
|
* @param {JXG.Math.Interval} y
|
|
959
959
|
* @returns JXG.Math.Interval
|
|
960
960
|
*/
|
|
@@ -973,7 +973,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
973
973
|
|
|
974
974
|
/**
|
|
975
975
|
* Union of overlapping intervals x and y
|
|
976
|
-
* @param {JXG.Math.Interval} x
|
|
976
|
+
* @param {JXG.Math.Interval} x
|
|
977
977
|
* @param {JXG.Math.Interval} y
|
|
978
978
|
* @returns JXG.Math.Interval
|
|
979
979
|
*/
|
|
@@ -986,7 +986,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
986
986
|
|
|
987
987
|
/**
|
|
988
988
|
* Difference of overlapping intervals x and y
|
|
989
|
-
* @param {JXG.Math.Interval} x
|
|
989
|
+
* @param {JXG.Math.Interval} x
|
|
990
990
|
* @param {JXG.Math.Interval} y
|
|
991
991
|
* @returns JXG.Math.Interval
|
|
992
992
|
*/
|
|
@@ -1022,7 +1022,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1022
1022
|
},
|
|
1023
1023
|
|
|
1024
1024
|
/**
|
|
1025
|
-
* @param {JXG.Math.Interval} x
|
|
1025
|
+
* @param {JXG.Math.Interval} x
|
|
1026
1026
|
* @returns JXG.Math.Interval
|
|
1027
1027
|
*/
|
|
1028
1028
|
width: function(x) {
|
|
@@ -1033,7 +1033,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1033
1033
|
},
|
|
1034
1034
|
|
|
1035
1035
|
/**
|
|
1036
|
-
* @param {JXG.Math.Interval} x
|
|
1036
|
+
* @param {JXG.Math.Interval} x
|
|
1037
1037
|
* @returns JXG.Math.Interval
|
|
1038
1038
|
*/
|
|
1039
1039
|
abs: function(x) {
|
|
@@ -1053,7 +1053,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1053
1053
|
},
|
|
1054
1054
|
|
|
1055
1055
|
/**
|
|
1056
|
-
* @param {JXG.Math.Interval} x
|
|
1056
|
+
* @param {JXG.Math.Interval} x
|
|
1057
1057
|
* @param {JXG.Math.Interval} y
|
|
1058
1058
|
* @returns JXG.Math.Interval
|
|
1059
1059
|
*/
|
|
@@ -1073,7 +1073,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1073
1073
|
},
|
|
1074
1074
|
|
|
1075
1075
|
/**
|
|
1076
|
-
* @param {JXG.Math.Interval} x
|
|
1076
|
+
* @param {JXG.Math.Interval} x
|
|
1077
1077
|
* @param {JXG.Math.Interval} y
|
|
1078
1078
|
* @returns JXG.Math.Interval
|
|
1079
1079
|
*/
|
|
@@ -1115,7 +1115,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1115
1115
|
},
|
|
1116
1116
|
|
|
1117
1117
|
/**
|
|
1118
|
-
* @param {JXG.Math.Interval} x
|
|
1118
|
+
* @param {JXG.Math.Interval} x
|
|
1119
1119
|
* @returns JXG.Math.Interval
|
|
1120
1120
|
*/
|
|
1121
1121
|
cos: function(x) {
|
|
@@ -1163,7 +1163,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1163
1163
|
},
|
|
1164
1164
|
|
|
1165
1165
|
/**
|
|
1166
|
-
* @param {JXG.Math.Interval} x
|
|
1166
|
+
* @param {JXG.Math.Interval} x
|
|
1167
1167
|
* @returns JXG.Math.Interval
|
|
1168
1168
|
*/
|
|
1169
1169
|
sin: function(x) {
|
|
@@ -1174,7 +1174,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1174
1174
|
},
|
|
1175
1175
|
|
|
1176
1176
|
/**
|
|
1177
|
-
* @param {JXG.Math.Interval} x
|
|
1177
|
+
* @param {JXG.Math.Interval} x
|
|
1178
1178
|
* @returns JXG.Math.Interval
|
|
1179
1179
|
*/
|
|
1180
1180
|
tan: function(x) {
|
|
@@ -1199,7 +1199,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1199
1199
|
},
|
|
1200
1200
|
|
|
1201
1201
|
/**
|
|
1202
|
-
* @param {JXG.Math.Interval} x
|
|
1202
|
+
* @param {JXG.Math.Interval} x
|
|
1203
1203
|
* @returns JXG.Math.Interval
|
|
1204
1204
|
*/
|
|
1205
1205
|
asin: function(x) {
|
|
@@ -1213,7 +1213,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1213
1213
|
},
|
|
1214
1214
|
|
|
1215
1215
|
/**
|
|
1216
|
-
* @param {JXG.Math.Interval} x
|
|
1216
|
+
* @param {JXG.Math.Interval} x
|
|
1217
1217
|
* @returns JXG.Math.Interval
|
|
1218
1218
|
*/
|
|
1219
1219
|
acos: function(x) {
|
|
@@ -1227,7 +1227,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1227
1227
|
},
|
|
1228
1228
|
|
|
1229
1229
|
/**
|
|
1230
|
-
* @param {JXG.Math.Interval} x
|
|
1230
|
+
* @param {JXG.Math.Interval} x
|
|
1231
1231
|
* @returns JXG.Math.Interval
|
|
1232
1232
|
*/
|
|
1233
1233
|
atan: function(x) {
|
|
@@ -1238,7 +1238,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1238
1238
|
},
|
|
1239
1239
|
|
|
1240
1240
|
/**
|
|
1241
|
-
* @param {JXG.Math.Interval} x
|
|
1241
|
+
* @param {JXG.Math.Interval} x
|
|
1242
1242
|
* @returns JXG.Math.Interval
|
|
1243
1243
|
*/
|
|
1244
1244
|
sinh: function(x) {
|
|
@@ -1249,7 +1249,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1249
1249
|
},
|
|
1250
1250
|
|
|
1251
1251
|
/**
|
|
1252
|
-
* @param {JXG.Math.Interval} x
|
|
1252
|
+
* @param {JXG.Math.Interval} x
|
|
1253
1253
|
* @returns JXG.Math.Interval
|
|
1254
1254
|
*/
|
|
1255
1255
|
cosh: function(x) {
|
|
@@ -1266,7 +1266,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1266
1266
|
},
|
|
1267
1267
|
|
|
1268
1268
|
/**
|
|
1269
|
-
* @param {JXG.Math.Interval} x
|
|
1269
|
+
* @param {JXG.Math.Interval} x
|
|
1270
1270
|
* @returns JXG.Math.Interval
|
|
1271
1271
|
*/
|
|
1272
1272
|
tanh: function(x) {
|
|
@@ -1281,7 +1281,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1281
1281
|
*/
|
|
1282
1282
|
|
|
1283
1283
|
/**
|
|
1284
|
-
* @param {JXG.Math.Interval} x
|
|
1284
|
+
* @param {JXG.Math.Interval} x
|
|
1285
1285
|
* @param {JXG.Math.Interval} y
|
|
1286
1286
|
* @returns Boolean
|
|
1287
1287
|
*/
|
|
@@ -1300,7 +1300,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1300
1300
|
// },
|
|
1301
1301
|
|
|
1302
1302
|
/**
|
|
1303
|
-
* @param {JXG.Math.Interval} x
|
|
1303
|
+
* @param {JXG.Math.Interval} x
|
|
1304
1304
|
* @param {JXG.Math.Interval} y
|
|
1305
1305
|
* @returns Boolean
|
|
1306
1306
|
*/
|
|
@@ -1312,7 +1312,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1312
1312
|
},
|
|
1313
1313
|
|
|
1314
1314
|
/**
|
|
1315
|
-
* @param {JXG.Math.Interval} x
|
|
1315
|
+
* @param {JXG.Math.Interval} x
|
|
1316
1316
|
* @param {JXG.Math.Interval} y
|
|
1317
1317
|
* @returns Boolean
|
|
1318
1318
|
*/
|
|
@@ -1330,7 +1330,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1330
1330
|
},
|
|
1331
1331
|
|
|
1332
1332
|
/**
|
|
1333
|
-
* @param {JXG.Math.Interval} x
|
|
1333
|
+
* @param {JXG.Math.Interval} x
|
|
1334
1334
|
* @param {JXG.Math.Interval} y
|
|
1335
1335
|
* @returns Boolean
|
|
1336
1336
|
*/
|
|
@@ -1348,7 +1348,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1348
1348
|
},
|
|
1349
1349
|
|
|
1350
1350
|
/**
|
|
1351
|
-
* @param {JXG.Math.Interval} x
|
|
1351
|
+
* @param {JXG.Math.Interval} x
|
|
1352
1352
|
* @param {JXG.Math.Interval} y
|
|
1353
1353
|
* @returns Boolean
|
|
1354
1354
|
*/
|
|
@@ -1366,7 +1366,7 @@ define(['jxg', 'math/math', 'utils/type'], function (JXG, Mat, Type) {
|
|
|
1366
1366
|
},
|
|
1367
1367
|
|
|
1368
1368
|
/**
|
|
1369
|
-
* @param {JXG.Math.Interval} x
|
|
1369
|
+
* @param {JXG.Math.Interval} x
|
|
1370
1370
|
* @param {JXG.Math.Interval} y
|
|
1371
1371
|
* @returns Boolean
|
|
1372
1372
|
*/
|
package/src/math/math.js
CHANGED
package/src/math/metapost.js
CHANGED
package/src/math/nlp.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Carsten Miller,
|
|
5
5
|
Reinhard Oldenburg,
|
|
@@ -145,7 +145,7 @@ define(['jxg'], function (JXG) {
|
|
|
145
145
|
* @returns {Number} Exit status of the COBYLA2 optimization.
|
|
146
146
|
*/
|
|
147
147
|
FindMinimum: function(calcfc, n, m, x, rhobeg, rhoend, iprint, maxfun) {
|
|
148
|
-
|
|
148
|
+
// CobylaExitStatus FindMinimum(final Calcfc calcfc, int n, int m, double[] x, double rhobeg, double rhoend, int iprint, int maxfun)
|
|
149
149
|
// This subroutine minimizes an objective function F(X) subject to M
|
|
150
150
|
// inequality constraints on X, where X is a vector of variables that has
|
|
151
151
|
// N components. The algorithm employs linear approximations to the
|
|
@@ -241,7 +241,7 @@ define(['jxg'], function (JXG) {
|
|
|
241
241
|
* @returns {Number} Exit status of the COBYLA2 optimization
|
|
242
242
|
*/
|
|
243
243
|
cobylb: function (calcfc, n, m, mpp, x, rhobeg, rhoend, iprint, maxfun) {
|
|
244
|
-
|
|
244
|
+
// calcf ist funktion die aufgerufen wird wie calcfc(n, m, ix, ocon)
|
|
245
245
|
// N.B. Arguments CON, SIM, SIMI, DATMAT, A, VSIG, VETA, SIGBAR, DX, W & IACT
|
|
246
246
|
// have been removed.
|
|
247
247
|
|
|
@@ -314,7 +314,7 @@ define(['jxg'], function (JXG) {
|
|
|
314
314
|
// Make the next call of the user-supplied subroutine CALCFC. These
|
|
315
315
|
// instructions are also used for calling CALCFC during the iterations of
|
|
316
316
|
// the algorithm.
|
|
317
|
-
|
|
317
|
+
//alert("Iteration "+nfvals+" x="+x);
|
|
318
318
|
L_40:
|
|
319
319
|
do {
|
|
320
320
|
if (nfvals >= maxfun && nfvals > 0) {
|
package/src/math/numerics.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Michael Gerhaeuser,
|
|
5
5
|
Carsten Miller,
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
/*global JXG: true, define: true*/
|
|
33
33
|
/*jslint nomen: true, plusplus: true*/
|
|
34
|
+
/*eslint no-loss-of-precision: off */
|
|
34
35
|
|
|
35
36
|
/* depends:
|
|
36
37
|
utils/type
|
package/src/math/plot.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Michael Gerhaeuser,
|
|
5
5
|
Carsten Miller,
|
|
@@ -457,7 +457,7 @@ define(['jxg', 'base/constants', 'base/coords', 'math/math', 'math/extrapolate',
|
|
|
457
457
|
vy = curve.Y(t_real, true) ;
|
|
458
458
|
vy2 = curve.Y(t_real2, true) ;
|
|
459
459
|
dy = (vy - vy2) / (t_real - t_real2);
|
|
460
|
-
|
|
460
|
+
|
|
461
461
|
if (p_good !== null) {
|
|
462
462
|
this._insertPoint_v2(curve, new Coords(Const.COORDS_BY_USER, p_good, curve.board, false));
|
|
463
463
|
return true;
|
|
@@ -1016,7 +1016,7 @@ define(['jxg', 'base/constants', 'base/coords', 'math/math', 'math/extrapolate',
|
|
|
1016
1016
|
},
|
|
1017
1017
|
|
|
1018
1018
|
/**
|
|
1019
|
-
*
|
|
1019
|
+
*
|
|
1020
1020
|
* @param {JXG.Curve} curve JSXGraph curve element
|
|
1021
1021
|
* @param {Number} ta
|
|
1022
1022
|
* @param {Number} tb
|
|
@@ -1959,7 +1959,7 @@ console.log("Polynomial of degree", level);
|
|
|
1959
1959
|
dx, dy;
|
|
1960
1960
|
|
|
1961
1961
|
//console.log("Level", level)
|
|
1962
|
-
if (level
|
|
1962
|
+
if (level === 0) {
|
|
1963
1963
|
this._insertPoint_v4(curve, [1, NaN, NaN], t);
|
|
1964
1964
|
return;
|
|
1965
1965
|
}
|
package/src/math/poly.js
CHANGED
package/src/math/probfuncs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2008-
|
|
2
|
+
Copyright 2008-2022
|
|
3
3
|
Matthias Ehmann,
|
|
4
4
|
Carsten Miller,
|
|
5
5
|
Andreas Walter,
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
/*global JXG: true, define: true*/
|
|
32
32
|
/*jslint nomen: true, plusplus: true*/
|
|
33
|
+
/*eslint no-loss-of-precision: off */
|
|
33
34
|
|
|
34
35
|
/* depends:
|
|
35
36
|
jxg
|