Talk:Addition-chain exponentiation: Difference between revisions

Content added Content deleted
Line 98: Line 98:
:::: How does your notation work? In <code>L*M*M=:L*L =:G*I*J*K*K*K=:J*J=:I*I=:H*H=:G*G =:A*B*C*F*F*F=:E*E=:D*D=:C*C=:B*B=:A*A</code>, what does <code>G=:A*B*C*...</code> even mean? --[[User:Ledrug|Ledrug]] 20:09, 27 August 2011 (UTC)
:::: How does your notation work? In <code>L*M*M=:L*L =:G*I*J*K*K*K=:J*J=:I*I=:H*H=:G*G =:A*B*C*F*F*F=:E*E=:D*D=:C*C=:B*B=:A*A</code>, what does <code>G=:A*B*C*...</code> even mean? --[[User:Ledrug|Ledrug]] 20:09, 27 August 2011 (UTC)
::::: <code>=:</code> is an assignment operation in J, and precedence is the same for multiplication and assignment, with long right scope. So that expression is equivalent to <code>L*(M*(M=(L*(L=(G*(I*(J*(K*(K*(K=(J*(J=(I*(I=(H*(H=(G*(G=(A*(B*(C*(F*(F*(F=(E*(E=(D*(D=(C*(C=(B*(B=(A*A)))))))))))))))))))))))))))))))))</code> in C-like languages. --[[User:Rdm|Rdm]] 20:48, 27 August 2011 (UTC)
::::: <code>=:</code> is an assignment operation in J, and precedence is the same for multiplication and assignment, with long right scope. So that expression is equivalent to <code>L*(M*(M=(L*(L=(G*(I*(J*(K*(K*(K=(J*(J=(I*(I=(H*(H=(G*(G=(A*(B*(C*(F*(F*(F=(E*(E=(D*(D=(C*(C=(B*(B=(A*A)))))))))))))))))))))))))))))))))</code> in C-like languages. --[[User:Rdm|Rdm]] 20:48, 27 August 2011 (UTC)
::::: btw, I get an error from your python program: <lang python> File "<stdin>", line 17
print chain(23)</lang> but I should have a chance to sit down and work out something soon. --[[User:Rdm|Rdm]] 20:52, 27 August 2011 (UTC)