1 <!-- This file is part of Shapes. -->
3 <!-- Shapes is free software: you can redistribute it and/or modify -->
4 <!-- it under the terms of the GNU General Public License as published by -->
5 <!-- the Free Software Foundation, either version 3 of the License, or -->
6 <!-- any later version. -->
8 <!-- Shapes is distributed in the hope that it will be useful, -->
9 <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
10 <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
11 <!-- GNU General Public License for more details. -->
13 <!-- You should have received a copy of the GNU General Public License -->
14 <!-- along with Shapes. If not, see <http://www.gnu.org/licenses/>. -->
16 <!-- Copyright 2008 Henrik Tidefelt -->
18 <operator-unary op="~" side="prefix">
21 <result><named-type name="Float" /></result>
28 <result><named-type name="Integer" /></result>
35 <result><named-type name="Length" /></result>
41 <case type="FloatPair">
42 <result><named-type name="FloatPair" /></result>
44 Scaling by negative unit.
48 <case type="FloatTriple">
49 <result><named-type name="FloatTriple" /></result>
51 Scaling by negative unit.
56 <result><named-type name="Coords" /></result>
58 Scaling by negative unit.
62 <case type="Coords3D">
63 <result><named-type name="Coords3D" /></result>
65 Scaling by negative unit.
69 </operator-unary> <!-- end of prefix "~" -->
72 <operator-unary op="+" side="prefix">
75 <result consider-constructor="yes"><named-type name="Offset" /></result>
77 <em>Note: Requires enclosing parantheses!</em> Constructs a relative length.
82 <result consider-constructor="yes"><named-type name="OffsetCoords" /></result>
84 <em>Note: Requires enclosing parantheses!</em> Constructs relative coordinates.
88 <case type="Coords3D">
89 <result consider-constructor="yes"><named-type name="OffsetCoords3D" /></result>
91 <em>Note: Requires enclosing parantheses!</em> Constructs relative coordinates.
95 </operator-unary> <!-- end of prefix "+" -->
98 <operator-unary op="not" side="prefix">
99 <alternative op="¬" />
101 <case type="Boolean">
102 <result><named-type name="Boolean" /></result>
108 </operator-unary> <!-- end of prefix "not" -->
110 <operator-unary op="--cycle" side="postfix">
112 <case type="PathPoint">
113 <result><named-type name="Path" /></result>
115 Constructs a closed path with only one spline.
120 <result><named-type name="Path" /></result>
127 <result><named-type name="Path" /></result>
133 <case type="PathPoint3D">
134 <result><named-type name="Path3D" /></result>
136 Constructs a closed path with only one spline.
140 </operator-unary> <!-- end of postfix "- -cycle" (Don't mess with the ugly space in this comment!) -->
143 <operator-binary op="--">
145 <case first-type="Float" second-type="Float">
146 <result><named-type name="Float" /></result>
148 Pythagoream subtraction. Both terms must be non-negative, and second term must not be larger than the first.
152 <case first-type="Length" second-type="Length">
153 <result><named-type name="Length" /></result>
155 Pythagoream subtraction. Both terms must be non-negative, and second term must not be larger than the first.
159 <case first-type="Coords" second-type="Coords">
160 <result><named-type name="Path" /></result>
165 <case first-type="Coords" second-type="PathPoint">
166 <result><named-type name="Path" /></result>
171 <case first-type="PathPoint" second-type="PathPoint">
172 <result><named-type name="Path" /></result>
177 <case first-type="Coords" second-type="Path">
178 <result><named-type name="Path" /></result>
183 <case first-type="Path" second-type="Coords">
184 <result><named-type name="Path" /></result>
189 <case first-type="PathPoint" second-type="PathPoint">
190 <result consider-constructor="yes"><named-type name="Path" /></result>
195 <case first-type="PathPoint" second-type="Path">
196 <result><named-type name="Path" /></result>
201 <case first-type="Path" second-type="PathPoint">
202 <result><named-type name="Path" /></result>
207 <case first-type="Path" second-type="Path">
208 <result consider-constructor="yes"><named-type name="Path" /></result>
213 <case first-type="PathSlider" second-type="PathSlider">
214 <result consider-constructor="yes"><named-type name="Path" /></result>
220 <case first-type="Coords3D" second-type="Coords3D">
221 <result><named-type name="Path3D" /></result>
226 <case first-type="Coords3D" second-type="PathPoint3D">
227 <result><named-type name="Path3D" /></result>
232 <case first-type="PathPoint3D" second-type="PathPoint3D">
233 <result consider-constructor="yes"><named-type name="Path3D" /></result>
238 <case first-type="Coords3D" second-type="Path3D">
239 <result><named-type name="Path3D" /></result>
244 <case first-type="Path3D" second-type="Coords3D">
245 <result><named-type name="Path3D" /></result>
250 <case first-type="PathPoint3D" second-type="PathPoint3D">
251 <result><named-type name="Path3D" /></result>
256 <case first-type="PathPoint3D" second-type="Path3D">
257 <result><named-type name="Path3D" /></result>
262 <case first-type="Path3D" second-type="PathPoint3D">
263 <result><named-type name="Path3D" /></result>
268 <case first-type="Path3D" second-type="Path3D">
269 <result consider-constructor="yes"><named-type name="Path3D" /></result>
274 <case first-type="PathSlider3D" second-type="PathSlider3D">
275 <result consider-constructor="yes"><named-type name="Path3D" /></result>
281 </operator-binary> <!-- end of binary "- -" -->
284 <operator-binary op="++">
286 <case first-type="Float" second-type="Float">
287 <result><named-type name="Float" /></result>
289 Pythagoream addition.
293 <case first-type="Length" second-type="Length">
294 <result><named-type name="Length" /></result>
296 Pythagoream addition.
300 </operator-binary> <!-- end of binary "++" -->
303 <operator-binary op="&">
305 <case first-type="Path" second-type="Path">
306 <result consider-constructor="yes"><named-type name="MultiPath" /></result>
311 <case first-type="MultiPath" second-type="Path">
312 <result><named-type name="MultiPath" /></result>
317 <case first-type="Path" second-type="MultiPath">
318 <result><named-type name="MultiPath" /></result>
323 <case first-type="MultiPath" second-type="MultiPath">
324 <result><named-type name="MultiPath" /></result>
330 <case first-type="Path3D" second-type="Path3D">
331 <result consider-constructor="yes"><named-type name="MultiPath3D" /></result>
336 <case first-type="MultiPath3D" second-type="Path3D">
337 <result><named-type name="MultiPath3D" /></result>
342 <case first-type="Path3D" second-type="MultiPath3D">
343 <result><named-type name="MultiPath3D" /></result>
348 <case first-type="MultiPath3D" second-type="MultiPath3D">
349 <result><named-type name="MultiPath3D" /></result>
355 <case first-type="DynamicBindings" second-type="DynamicBindings">
356 <result><named-type name="DynamicBindings" /></result>
358 Dynamic binding union.
362 <case first-type="Drawable" second-type="Drawable">
363 <result><named-type name="Drawable" /></result>
365 Graphics composition. Second argument on top of first.
369 <case first-type="Drawable3D" second-type="Drawable3D">
370 <result><named-type name="Drawable3D" /></result>
372 Graphics composition. Second argument on top of first.
376 </operator-binary> <!-- end of binary "&" -->
378 <operator-binary op="&|">
380 <case first-type="DynamicBindings" second-type="DynamicBindings">
381 <result><named-type name="DynamicBindings" /></result>
383 Asymmetric dynamic binding union. Bindings to the right take precedence over bindings to the left.
387 </operator-binary> <!-- end of binary "&|" -->
390 <operator-binary op="+">
392 <case first-type="Float" second-type="Float">
393 <result><named-type name="Float" /></result>
398 <case first-type="Integer" second-type="Integer">
399 <result><named-type name="Integer" /></result>
404 <case first-type="Length" second-type="Length">
405 <result><named-type name="Length" /></result>
410 <case first-type="FloatPair" second-type="FloatPair">
411 <result><named-type name="FloatPair" /></result>
416 <case first-type="Coords" second-type="Coords">
417 <result><named-type name="Coords" /></result>
422 <case first-type="FloatTriple" second-type="FloatTriple">
423 <result><named-type name="FloatTriple" /></result>
428 <case first-type="Coords3D" second-type="Coords3D">
429 <result><named-type name="Coords3D" /></result>
435 <case first-type="String" second-type="String">
436 <result><named-type name="String" /></result>
442 <case first-type="Dash" second-type="Length">
443 <result><named-type name="Dash" /></result>
448 <case first-type="Length" second-type="Dash">
449 <result><named-type name="Dash" /></result>
455 <case first-type="PathSlider" second-type="Float">
456 <result><named-type name="PathSlider" /></result>
461 <case first-type="PathSlider" second-type="Length">
462 <result><named-type name="PathSlider" /></result>
467 <case first-type="PathSlider3D" second-type="Float">
468 <result><named-type name="PathSlider3D" /></result>
473 <case first-type="PathSlider3D" second-type="Length">
474 <result><named-type name="PathSlider3D" /></result>
480 <case first-type="RGB" second-type="RGB">
481 <result><named-type name="RGB" /></result>
483 Component-wise addition.
486 <case first-type="Gray" second-type="Gray">
487 <result><named-type name="Gray" /></result>
492 <case first-type="SpecularReflection" second-type="SpecularReflection">
493 <result><named-type name="SpecularReflection" /></result>
499 </operator-binary> <!-- end of binary "+" -->
502 <operator-binary op="-">
504 <case first-type="Float" second-type="Float">
505 <result><named-type name="Float" /></result>
510 <case first-type="Integer" second-type="Integer">
511 <result><named-type name="Integer" /></result>
516 <case first-type="Length" second-type="Length">
517 <result><named-type name="Length" /></result>
522 <case first-type="FloatPair" second-type="FloatPair">
523 <result><named-type name="FloatPair" /></result>
528 <case first-type="Coords" second-type="Coords">
529 <result><named-type name="Coords" /></result>
534 <case first-type="FloatTriple" second-type="FloatTriple">
535 <result><named-type name="FloatTriple" /></result>
540 <case first-type="Coords3D" second-type="Coords3D">
541 <result><named-type name="Coords3D" /></result>
547 <case first-type="PathSlider" second-type="Float">
548 <result><named-type name="PathSlider" /></result>
550 Reverse move spline time.
553 <case first-type="PathSlider" second-type="Length">
554 <result><named-type name="PathSlider" /></result>
556 Reverse move distance.
559 <case first-type="PathSlider3D" second-type="Float">
560 <result><named-type name="PathSlider3D" /></result>
562 Reverse move spline time.
565 <case first-type="PathSlider3D" second-type="Length">
566 <result><named-type name="PathSlider3D" /></result>
568 Reverse move distance.
572 </operator-binary> <!-- end of binary "-" -->
575 <operator-binary op="∠">
576 <alternative op="/_" />
578 <case first-type="Float" second-type="Float">
579 <result><named-type name="Float" /></result>
581 In presence of a zero arguent, the result is π/2. The result is zero if signs are equal, otherwise the result is π.
584 <case first-type="Float" second-type="Length">
585 <result><named-type name="Float" /></result>
587 In presence of a zero arguent, the result is π/2. The result is zero if signs are equal, otherwise the result is π.
590 <case first-type="Length" second-type="Float">
591 <result><named-type name="Float" /></result>
593 In presence of a zero arguent, the result is π/2. The result is zero if signs are equal, otherwise the result is π.
596 <case first-type="Length" second-type="Length">
597 <result><named-type name="Float" /></result>
599 In presence of a zero arguent, the result is π/2. The result is zero if signs are equal, otherwise the result is π.
603 <case first-type="FloatPair" second-type="FloatPair">
604 <result><named-type name="Float" /></result>
606 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
609 <case first-type="FloatPair" second-type="Coords">
610 <result><named-type name="Float" /></result>
612 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
615 <case first-type="Coords" second-type="FloatPair">
616 <result><named-type name="Float" /></result>
618 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
621 <case first-type="Coords" second-type="Coords">
622 <result><named-type name="Float" /></result>
624 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
628 <case first-type="FloatTriple" second-type="FloatTriple">
629 <result><named-type name="Float" /></result>
631 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
634 <case first-type="FloatTriple" second-type="Coords3D">
635 <result><named-type name="Float" /></result>
637 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
640 <case first-type="Coords3D" second-type="FloatTriple">
641 <result><named-type name="Float" /></result>
643 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
646 <case first-type="Coords3D" second-type="Coords3D">
647 <result><named-type name="Float" /></result>
649 In presence of a zero arguent, the result is π/2. Otherwise, the usual definition of angle between vector applies.
653 </operator-binary> <!-- end of binary "/_" -->
656 <operator-binary op="*">
658 <case first-type="Float" second-type="Float">
659 <result><named-type name="Float" /></result>
665 <case first-type="FloatPair" second-type="FloatPair">
666 <result><named-type name="Float" /></result>
668 Standard inner product.
671 <case first-type="FloatPair" second-type="Float">
672 <result><named-type name="FloatPair" /></result>
674 Vector-scalar multiplication.
677 <case first-type="Float" second-type="FloatPair">
678 <result><named-type name="FloatPair" /></result>
680 Vector-scalar multiplication.
683 <case first-type="FloatTriple" second-type="FloatTriple">
684 <result><named-type name="Float" /></result>
686 Standard inner product.
689 <case first-type="FloatTriple" second-type="Float">
690 <result><named-type name="FloatTriple" /></result>
692 Vector-scalar multiplication.
695 <case first-type="Float" second-type="FloatTriple">
696 <result><named-type name="FloatTriple" /></result>
698 Vector-scalar multiplication.
702 <case first-type="Float" second-type="Length">
703 <result><named-type name="Length" /></result>
708 <case first-type="Length" second-type="Float">
709 <result><named-type name="Length" /></result>
715 <case first-type="Coords" second-type="Float">
716 <result><named-type name="Coords" /></result>
718 Vector-scalar multiplication.
721 <case first-type="Float" second-type="Coords">
722 <result><named-type name="Coords" /></result>
724 Vector-scalar multiplication.
727 <case first-type="Coords" second-type="FloatPair">
728 <result><named-type name="Length" /></result>
730 Standard inner product.
733 <case first-type="FloatPair" second-type="Coords">
734 <result><named-type name="Length" /></result>
736 Standard inner product.
739 <case first-type="FloatPair" second-type="Length">
740 <result><named-type name="Coords" /></result>
742 Scale direction by length.
745 <case first-type="Length" second-type="FloatPair">
746 <result><named-type name="Coords" /></result>
748 Scale direction by length.
752 <case first-type="Coords3D" second-type="Float">
753 <result><named-type name="Coords3D" /></result>
755 Vector-scalar multiplication.
758 <case first-type="Float" second-type="Coords3D">
759 <result><named-type name="Coords3D" /></result>
761 Vector-scalar multiplication.
764 <case first-type="Coords3D" second-type="FloatTriple">
765 <result><named-type name="Length" /></result>
767 Standard inner product.
770 <case first-type="FloatTriple" second-type="Coords3D">
771 <result><named-type name="Length" /></result>
773 Standard inner product.
776 <case first-type="FloatTriple" second-type="Length">
777 <result><named-type name="Coords3D" /></result>
779 Scale direction by length.
782 <case first-type="Length" second-type="FloatTriple">
783 <result><named-type name="Coords3D" /></result>
785 Scale direction by length.
789 <case first-type="Dash" second-type="Float">
790 <result><named-type name="Dash" /></result>
795 <case first-type="Float" second-type="Dash">
796 <result><named-type name="Dash" /></result>
802 <case first-type="Transform" second-type="Transform">
803 <result><named-type name="Transform" /></result>
808 <case first-type="Transform3D" second-type="Transform3D">
809 <result><named-type name="Transform3D" /></result>
815 <case first-type="Float" second-type="RGB">
816 <result><named-type name="RGB" /></result>
821 <case first-type="RGB" second-type="Float">
822 <result><named-type name="RGB" /></result>
827 <case first-type="Float" second-type="Gray">
828 <result><named-type name="Gray" /></result>
833 <case first-type="Gray" second-type="Float">
834 <result><named-type name="Gray" /></result>
840 <case first-type="Float" second-type="SpecularReflection">
841 <result><named-type name="SpecularReflection" /></result>
846 <case first-type="SpecularReflection" second-type="Float">
847 <result><named-type name="SpecularReflection" /></result>
853 <case first-type="Integer" second-type="Integer">
854 <result><named-type name="Integer" /></result>
859 <case first-type="Float" second-type="Integer">
860 <result><named-type name="Float" /></result>
865 <case first-type="Integer" second-type="Float">
866 <result><named-type name="Float" /></result>
871 <case first-type="Length" second-type="Integer">
872 <result><named-type name="Length" /></result>
877 <case first-type="Integer" second-type="Length">
878 <result><named-type name="Length" /></result>
884 </operator-binary> <!-- end of binary "*" -->
887 <operator-binary op="/">
889 <case first-type="Float" second-type="Float">
890 <result><named-type name="Float" /></result>
895 <case first-type="Length" second-type="Length">
896 <result><named-type name="Float" /></result>
901 <case first-type="Length" second-type="Float">
902 <result><named-type name="Length" /></result>
908 <case first-type="FloatPair" second-type="Float">
909 <result><named-type name="FloatPair" /></result>
914 <case first-type="Coords" second-type="Length">
915 <result><named-type name="FloatPair" /></result>
920 <case first-type="Coords" second-type="Float">
921 <result><named-type name="Coords" /></result>
927 <case first-type="FloatTriple" second-type="Float">
928 <result><named-type name="FloatTriple" /></result>
933 <case first-type="Coords3D" second-type="Length">
934 <result><named-type name="FloatTriple" /></result>
939 <case first-type="Coords3D" second-type="Float">
940 <result><named-type name="Coords3D" /></result>
946 <case first-type="Integer" second-type="Integer">
947 <result><named-type name="Integer" /></result>
952 <case first-type="Float" second-type="Integer">
953 <result><named-type name="Float" /></result>
958 <case first-type="Length" second-type="Integer">
959 <result><named-type name="Length" /></result>
965 </operator-binary> <!-- end of binary "/" -->
968 <operator-binary op="∥">
971 <case first-type="FloatPair" second-type="FloatPair">
972 <result><named-type name="FloatPair" /></result>
974 Orthogonal projection of first argument on direction given by second argument.
977 <case first-type="FloatPair" second-type="Coords">
978 <result><named-type name="FloatPair" /></result>
980 Orthogonal projection of first argument on direction given by second argument.
983 <case first-type="Coords" second-type="FloatPair">
984 <result><named-type name="Coords" /></result>
986 Orthogonal projection of first argument on direction given by second argument.
989 <case first-type="Coords" second-type="Coords">
990 <result><named-type name="Coords" /></result>
992 Orthogonal projection of first argument on direction given by second argument.
996 <case first-type="FloatTriple" second-type="FloatTriple">
997 <result><named-type name="FloatTriple" /></result>
999 Orthogonal projection of first argument on direction given by second argument.
1002 <case first-type="FloatTriple" second-type="Coords3D">
1003 <result><named-type name="FloatTriple" /></result>
1005 Orthogonal projection of first argument on direction given by second argument.
1008 <case first-type="Coords3D" second-type="FloatTriple">
1009 <result><named-type name="Coords3D" /></result>
1011 Orthogonal projection of first argument on direction given by second argument.
1014 <case first-type="Coords3D" second-type="Coords3D">
1015 <result><named-type name="Coords3D" /></result>
1017 Orthogonal projection of first argument on direction given by second argument.
1021 </operator-binary> <!-- end of binary "*/" -->
1023 <operator-binary op="⊙">
1024 <alternative op="()" />
1026 <case first-type="Transform" second-type="Transform">
1027 <result><named-type name="Transform" /></result>
1033 <case first-type="Transform3D" second-type="Transform3D">
1034 <result><named-type name="Transform3D" /></result>
1040 <case first-type="Function" second-type="Function">
1041 <result><named-type name="Function" /></result>
1047 </operator-binary> <!-- end of binary "()" -->
1050 <operator-binary op="<">
1052 <case first-type="Symbol" second-type="Symbol">
1053 <result><named-type name="Boolean" /></result>
1058 <case first-type="Float" second-type="Float">
1059 <result><named-type name="Boolean" /></result>
1061 Less than comparison.
1064 <case first-type="Integer" second-type="Integer">
1065 <result><named-type name="Boolean" /></result>
1067 Less than comparison.
1070 <case first-type="Length" second-type="Length">
1071 <result><named-type name="Boolean" /></result>
1073 Less than comparison (with signed lengths).
1077 <case first-type="Coords" second-type="Coords">
1078 <result><named-type name="PathPoint" /></result>
1080 Attach backward handle to second argument.
1083 <case first-type="Coords" second-type="PathPoint">
1084 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1086 Attach backward handle to second argument.
1089 <case first-type="Coords" second-type="PathSlider">
1090 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1092 Attach backward handle to second argument.
1096 <case first-type="PolarHandleBase" second-type="Coords">
1097 <result><named-type name="PathPoint" /></result>
1099 Attach backward handle to second argument.
1102 <case first-type="PolarHandleBase" second-type="PathPoint">
1103 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1105 Attach backward handle to second argument.
1108 <case first-type="PolarHandleBase" second-type="PathSlider">
1109 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1111 Attach backward handle to second argument.
1115 <case first-type="Coords3D" second-type="Coords3D">
1116 <result><named-type name="PathPoint3D" /></result>
1118 Attach backward handle to second argument.
1121 <case first-type="Coords3D" second-type="PathPoint3D">
1122 <result consider-constructor="yes"><named-type name="PathPoint3D" /></result>
1124 Attach backward handle to second argument.
1127 <case first-type="Coords3D" second-type="PathSlider3D">
1128 <result consider-constructor="yes"><named-type name="PathPoint3D" /></result>
1130 Attach backward handle to second argument.
1134 </operator-binary> <!-- end of binary "<" -->
1136 <operator-binary op=">">
1138 <case first-type="Symbol" second-type="Symbol">
1139 <result><named-type name="Boolean" /></result>
1144 <case first-type="Float" second-type="Float">
1145 <result><named-type name="Boolean" /></result>
1147 Greater than comparison.
1150 <case first-type="Integer" second-type="Integer">
1151 <result><named-type name="Boolean" /></result>
1153 Greater than comparison.
1156 <case first-type="Length" second-type="Length">
1157 <result><named-type name="Boolean" /></result>
1159 Greater than comparison (with signed lengths).
1163 <case first-type="Coords" second-type="Coords">
1164 <result><named-type name="PathPoint" /></result>
1166 Attach forward handle to first argument.
1169 <case first-type="PathPoint" second-type="Coords">
1170 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1172 Attach forward handle to first argument.
1175 <case first-type="PathSlider" second-type="Coords">
1176 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1178 Attach forward handle to first argument.
1182 <case first-type="Coords" second-type="PolarHandleBase">
1183 <result><named-type name="PathPoint" /></result>
1185 Attach forward handle to first argument.
1188 <case first-type="PathPoint" second-type="PolarHandleBase">
1189 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1191 Attach forward handle to first argument.
1194 <case first-type="PathSlider" second-type="PolarHandleBase">
1195 <result consider-constructor="yes"><named-type name="PathPoint" /></result>
1197 Attach forward handle to first argument.
1201 <case first-type="Coords3D" second-type="Coords3D">
1202 <result><named-type name="PathPoint3D" /></result>
1204 Attach forward handle to first argument.
1207 <case first-type="PathPoint3D" second-type="Coords3D">
1208 <result consider-constructor="yes"><named-type name="PathPoint3D" /></result>
1210 Attach forward handle to first argument.
1213 <case first-type="PathSlider3D" second-type="Coords3D">
1214 <result consider-constructor="yes"><named-type name="PathPoint3D" /></result>
1216 Attach forward handle to first argument.
1220 </operator-binary> <!-- end of binary ">" -->
1223 <operator-binary op="=">
1225 <case first-type="Symbol" second-type="Symbol">
1226 <result><named-type name="Boolean" /></result>
1231 <case first-type="Float" second-type="Float">
1232 <result><named-type name="Boolean" /></result>
1237 <case first-type="Integer" second-type="Integer">
1238 <result><named-type name="Boolean" /></result>
1243 <case first-type="Length" second-type="Length">
1244 <result><named-type name="Boolean" /></result>
1250 <case first-type="Class" second-type="Class">
1251 <result><named-type name="Boolean" /></result>
1257 </operator-binary> <!-- end of binary "=" -->
1260 <operator-binary op="≠">
1261 <alternative op="/=" />
1263 <case first-type="Symbol" second-type="Symbol">
1264 <result><named-type name="Boolean" /></result>
1269 <case first-type="Float" second-type="Float">
1270 <result><named-type name="Boolean" /></result>
1275 <case first-type="Integer" second-type="Integer">
1276 <result><named-type name="Boolean" /></result>
1281 <case first-type="Length" second-type="Length">
1282 <result><named-type name="Boolean" /></result>
1288 <case first-type="Class" second-type="Class">
1289 <result><named-type name="Boolean" /></result>
1295 </operator-binary> <!-- end of binary "=/=" -->
1298 <operator-binary op="≠">
1300 <case first-type="Symbol" second-type="Symbol">
1301 <result><named-type name="Boolean" /></result>
1306 <case first-type="Float" second-type="Float">
1307 <result><named-type name="Boolean" /></result>
1312 <case first-type="Integer" second-type="Integer">
1313 <result><named-type name="Boolean" /></result>
1318 <case first-type="Length" second-type="Length">
1319 <result><named-type name="Boolean" /></result>
1325 <case first-type="Class" second-type="Class">
1326 <result><named-type name="Boolean" /></result>
1332 </operator-binary> <!-- end of binary "≠" -->
1335 <operator-binary op="≤">
1336 <alternative op="<=" />
1338 <case first-type="Symbol" second-type="Symbol">
1339 <result><named-type name="Boolean" /></result>
1341 Reflexive order predicate.
1344 <case first-type="Float" second-type="Float">
1345 <result><named-type name="Boolean" /></result>
1347 Test less than or equal.
1350 <case first-type="Integer" second-type="Integer">
1351 <result><named-type name="Boolean" /></result>
1353 Test less than or equal.
1356 <case first-type="Length" second-type="Length">
1357 <result><named-type name="Boolean" /></result>
1359 Test less than or equal.
1363 </operator-binary> <!-- end of binary "≤" -->
1366 <operator-binary op="≥">
1367 <alternative op=">=" />
1369 <case first-type="Symbol" second-type="Symbol">
1370 <result><named-type name="Boolean" /></result>
1372 Reflexive order predicate.
1375 <case first-type="Float" second-type="Float">
1376 <result><named-type name="Boolean" /></result>
1378 Test greater than or equal.
1381 <case first-type="Integer" second-type="Integer">
1382 <result><named-type name="Boolean" /></result>
1384 Test greater than or equal.
1387 <case first-type="Length" second-type="Length">
1388 <result><named-type name="Boolean" /></result>
1390 Test greater than or equal.
1394 </operator-binary> <!-- end of binary "≥" -->
1397 <operator-binary op="∧">
1398 <alternative op="and" />
1399 <case first-type="Boolean" second-type="Boolean">
1400 <result><named-type name="Boolean" /></result>
1406 </operator-binary> <!-- end of binary "and" -->
1409 <operator-binary op="∨">
1410 <alternative op="or" />
1412 <case first-type="Boolean" second-type="Boolean">
1413 <result><named-type name="Boolean" /></result>
1419 </operator-binary> <!-- end of binary "or" -->
1422 <operator-binary op="⊻">
1423 <alternative op="xor" />
1425 <case first-type="Boolean" second-type="Boolean">
1426 <result><named-type name="Boolean" /></result>
1432 </operator-binary> <!-- end of binary "or" -->