Jump to content

Element-wise operations: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring the hard way, phix/basics
m (→‎{{header|Phix}}: added syntax colouring the hard way, phix/basics)
Line 2,339:
 
=={{header|Phix}}==
{{libheader|Phix/basics}}
Phix has builtin sequence ops, which work fine with a multi-dimensional array / matrix:
<!--<lang Phix>constant m = {{7, 8, 7},{4, 0, 9}},-->
<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>
m2 = {{4, 5, 1},{6, 2, 1}}
<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>
?{m,"+",m2,"=",sq_add(m,m2)}
<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>
?{m,"-",m2,"=",sq_sub(m,m2)}
<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>
?{m,"*",m2,"=",sq_mul(m,m2)}
<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>
?{m,"/",m2,"=",sq_div(m,m2)}
<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>
?{m,"^",m2,"=",sq_power(m,m2)}
<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>
?{m,"+ 3 =",sq_add(m,3)}
<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>
?{m,"- 3 =",sq_sub(m,3)}
<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>
?{m,"* 3 =",sq_mul(m,3)}
<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>
?{m,"/ 3 =",sq_div(m,3)}
<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>
?{m,"^ 3 =",sq_power(m,3)}</lang>
<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;">}
<!--</lang>-->
{{out}}
<pre>
7,831

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.