Re: Set::setraw error

• To: mathgroup at smc.vnet.net
• Subject: [mg90357] Re: Set::setraw error
• From: dh <dh at metrohm.ch>
• Date: Mon, 7 Jul 2008 05:06:27 -0400 (EDT)
• References: <g4q9kl\$e6o\$1@smc.vnet.net>

```
Hi Steven,

consider the statement: {a,b,r,s,x,y}={b,c,x-q*r,y-q*s,r,s}]; If we call

xgcd[1,2],"a" is a parameter is replaced by one, giving:

{1,2,r,s,x,y}=....;. As you can not assigne to 1 or 2 you get the error.

The same is true for all statement where you assigne to function parameters.

hope this helps, Daniel

Steven Siew wrote:

> I have encountered this Set:setraw error for the code below.

>

> I'm stumped. Does anyone have any idea what went wrong?

>

> xgcd[a_,b_]:=Module[{xsign=1,ysign=1,x=1,y=0,r=0,s=1,c,q},

>     If[a == 0 && b == 0,Return[{0,0,1}]];

>     If[a == 0,Return[{Abs[b],0,b/Abs[b]}] ];

>     If[b == 0,Return[{Abs[a],a/Abs[a],0}]];

>     If[a<0,a=-a; xsign=-1];

>     If[b<0,b=-b; ysign=-1];

>     While[b\[NotEqual]0,

>       {c,q}={Mod[a,b],Quotient[a,b]};

>       {a,b,r,s,x,y}={b,c,x-q*r,y-q*s,r,s}

>       ];

>     Return[{a,x*xsign,y*ysign}]

>     ]

>

> xgcd[2, 3]

>

> \!\(\*

>   RowBox[{\(Set::"setraw"\), \(\(:\)\(\ \)\), "\<\"Cannot assign to

> raw \

> object \\!\\(2\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \

> ButtonData:>\\\"Set::setraw\\\"]\\)\"\>"}]\)

>

--

Daniel Huber

Metrohm Ltd.

Oberdorfstr. 68

CH-9100 Herisau

Tel. +41 71 353 8585, Fax +41 71 353 8907

E-Mail:<mailto:dh at metrohm.com>

Internet:<http://www.metrohm.com>

```

• Prev by Date: Re: distribution fitting
• Next by Date: Glitch in online documentation system (a minor bug, actually?)
• Previous by thread: Re: Set::setraw error
• Next by thread: Re: Set::setraw error