Element-wise operations: Difference between revisions

Content deleted Content added
m →‎generalized: added whitespace.
Petelomax (talk | contribs)
m →‎{{header|Phix}}: fixed a couple of syntax glitches, added personal tag
Line 2,722: Line 2,722:
{{libheader|Phix/basics}}
{{libheader|Phix/basics}}
Phix has builtin sequence ops, which work fine with a multi-dimensional array / matrix:
Phix has builtin sequence ops, which work fine with a multi-dimensional array / matrix:
<!--<lang Phix>-->
<!--<lang Phix>(phixonline)-->
<span style="color: #008080;">constant</span> <span style="color: #000000;">m</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{<span style="color: #0000FF;">{<span style="color: #000000;">7<span style="color: #0000FF;">,</span> <span style="color: #000000;">8<span style="color: #0000FF;">,</span> <span style="color: #000000;">7<span style="color: #0000FF;">}<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">4<span style="color: #0000FF;">,</span> <span style="color: #000000;">0<span style="color: #0000FF;">,</span> <span style="color: #000000;">9<span style="color: #0000FF;">}<span style="color: #0000FF;">}<span style="color: #0000FF;">,</span>
<span style="color: #008080;">constant</span> <span style="color: #000000;">m</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{{</span><span style="color: #000000;">7</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">8</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">7</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">4</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">9</span><span style="color: #0000FF;">}},</span>
<span style="color: #000000;">m2</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{<span style="color: #0000FF;">{<span style="color: #000000;">4<span style="color: #0000FF;">,</span> <span style="color: #000000;">5<span style="color: #0000FF;">,</span> <span style="color: #000000;">1<span style="color: #0000FF;">}<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">6<span style="color: #0000FF;">,</span> <span style="color: #000000;">2<span style="color: #0000FF;">,</span> <span style="color: #000000;">1<span style="color: #0000FF;">}<span style="color: #0000FF;">}</span>
<span style="color: #000000;">m2</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{{</span><span style="color: #000000;">4</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">5</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">6</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1</span><span style="color: #0000FF;">}}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"+"<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">,<span style="color: #008000;">"="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_add<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"+"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_add</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"-"<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">,<span style="color: #008000;">"="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_sub<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"-"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_sub</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"*"<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">,<span style="color: #008000;">"="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_mul<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"*"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_mul</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"/"<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">,<span style="color: #008000;">"="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_div<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"/"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_div</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"^"<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">,<span style="color: #008000;">"="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_power<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">m2<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"^"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_power</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m2</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"+ 3 ="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_add<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">3<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"+ 3 ="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_add</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"- 3 ="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_sub<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">3<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"- 3 ="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_sub</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"* 3 ="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_mul<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">3<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"* 3 ="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_mul</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"/ 3 ="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_div<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">3<span style="color: #0000FF;">)<span style="color: #0000FF;">}</span>
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"/ 3 ="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_div</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)}</span>
<span style="color: #0000FF;">?<span style="color: #0000FF;">{<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #008000;">"^ 3 ="<span style="color: #0000FF;">,<span style="color: #7060A8;">sq_power<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">3<span style="color: #0000FF;">)<span style="color: #0000FF;">}
<span style="color: #0000FF;">?{</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"^ 3 ="</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sq_power</span><span style="color: #0000FF;">(</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)}</span>
<!--</lang>-->
<!--</lang>-->
{{out}}
{{out}}