From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <775b8d19050123123556449543@mail.gmail.com> Date: Mon, 24 Jan 2005 07:35:32 +1100 From: Bruce Ellis To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] 8c (pcc) In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: Topicbox-Message-UUID: 342c88a4-eace-11e9-9e20-41e7f4b1d025 I cant reproduce this - after trying several combinations of types. What are the types of the variables? This example compiles fine. ----- #include #include long result; long col, plane1, plane2; uchar tuplerow1[100][100], tuplerow2[100][100]; void foo(void) { result = (int)tuplerow1[col][plane1] > (int)tuplerow2[col][plane2] ? (int)tuplerow1[col][plane1] - (int)tuplerow2[col][plane2] : (int)tuplerow2[col][plane2] - (int)tuplerow1[col][plane1]; } On Fri, 21 Jan 2005 08:18:36 +0100, cej@gli.cas.cz wrote: > > //1: > result = MIN(tuplerow1[col][plane1], tuplerow2[col][plane2]); > //2: > x=tuplerow1[col][plane1]; > y=tuplerow2[col][plane2]; > result = MIN(x, y); > if((int)tuplerow1[col][plane1] > (int)tuplerow2[col][plane2] ) > result = (int)tuplerow1[col][plane1] - (int)tuplerow2[col][plane2]; > else > result = (int)tuplerow2[col][plane2] - (int)tuplerow1[col][plane1]; > //1: > result = (int)tuplerow1[col][plane1] > (int)tuplerow2[col][plane2] ? (int)tuplerow1[col][plane1] - (int)tuplerow2[col][plane2] : (int)tuplerow2[col][plane2] - (int)tuplerow1[col][plane1]; > > //2: > if((int)tuplerow1[col][plane1] > (int)tuplerow2[col][plane2] ) > result = (int)tuplerow1[col][plane1] - (int)tuplerow2[col][plane2]; > else > result = (int)tuplerow2[col][plane2] - (int)tuplerow1[col][plane1]; > > 1's die with error message : out of fixed registers, while 2's are OK. > Could someone explain, why? > Thanks, regards, > ++pac. > >