On Fri, Nov 29, 2013 at 11:44 AM, Bill Gosper <billgosper@gmail.com> wrote:
OK, I give up. Especially since anyone who agrees with me can just In[895]:= Unprotect[GCD]; GCD[a_, b_] /; a/b ∉ Rationals = 0;
In[896]:= GCD[1/6, 1/9]
Out[896]= 1/18
In[897]:= {GCD[π, 1], GCD[1, π]}
Out[897]= {0, 0}
In[908]:= GCD[E,π]
Out[908]= GCD[E, π]
In[909]:= GCD[Sqrt[2], π]
Out[909]= 0
[...]
ARGH! In[952]:= GCD[1198 - 197*I, 1147 + 398*I] Out[952]= 0 <Hasty retreat> In[953]:= Unprotect[GCD]; Clear[GCD]; GCD[1198 - 197*I, 1147 + 398*I] Out[953]= 16 + 19 I OK, how about Unprotect[GCD]; GCD[a_, b_] /; a/b \[NotElement] Rationals && a/b \[Element] Reals =0; In[1006]:= GCD[1198 + 197*I, 1147 + 398*I] Out[1006]= 25 + 42 I In[1007]:= GCD[1/6, 1/9] Out[1007]= 1/18 In[1008]:= GCD[E, 1] Out[1008]= 0 This time fer shure. --rwg