But I worry about a problem that the  denominator will be zero at some condition when 
using division. I have tried the key word of "ROUDN",I met the same problem as yours, 
DXP tells me that it expects a ")". I find another function similar like ROUND, it is 
INT. This function can work well under DXP.
        
Roboy of BUAA
[EMAIL PROTECTED]


>Try it using the division... it makes more sense if you're trying to judge
>based on an angle.
>As for how to remove the fractional part, you would simply use the round
>function.  However it looks like this is not working properly (at least I
>can't get it to)
>Can someone else try something simple like round(31.43) and see whether it
>actually allows it, with my copy of dxp is chokes saying that it's expecting
>a ) directly after the round( text...
>
>I think this may be another bug.
>
>----- Original Message ----- 
>From: "Mr. Zhang Yang Tian" <[EMAIL PROTECTED]>
>To: "Protel EDA Forum" <[EMAIL PROTECTED]>
>Sent: Thursday, February 12, 2004 1:53 PM
>X-Scanned: By Symantec Anti-Virus Scan Engine
>Subject: Re: [PEDA] What's wrong with my query language program
>
>
>> In fact, there is no important difference between subtraction and
>division. The problem is at the equal mark "=". With low precision of
>floating point calculation, the result of the track lean angle may be
>45.000000001 or 44.9999999999. These values are not equal to 45.0000000000.
>So some tracks have the angle of 45-degree, but the calculating result is
>not 45-degree and the tracks will be failed to be queried out. My question
>is where the wrong is with the following query piece:
>>
>> IsTrack and ((ABS(X1-X2)-ABS(Y1-Y2))  between -1 and 1)
>>
>> Why it can only query out the tracks with 0 degree?
>>
>> >
>> >Why are you using subtraction??
>> >surely it then matters what the absolute lengths of the track are...
>> >Perhaps the following would work:
>> >IsTrack and ((ABS(Y2 - Y1) / ABS (X2 - X1)) = 1)
>> >(you could also use a trig function to make it more understandable
>> >ie if available use (ARCTAN((ABS(Y2-Y1) / ABS(X2-X1)) = 45), the use of
>the
>> >absolute values for both X and Y directions constrains the angle to the
>> >upper right quadrant, ie angles between 0 and 90degrees.
>> >
>> >Bevan
>> >
>> >
>>
>> >
>> >----- Original Message ----- 
>> >From: "Mr. Zhang Yangtian" <[EMAIL PROTECTED]>
>> >To: "Protel    " <[EMAIL PROTECTED]>
>> >Sent: Thursday, February 12, 2004 4:47 AM
>> >X-Scanned: By Symantec Anti-Virus Scan Engine
>> >Subject: [PEDA] What's wrong with my query language program
>> >
>> >
>> >> I had write one line of query language in ProtelDXP as the following:
>> >>
>> >> IsTrack and ((ABS(X1-X2)-ABS(Y1-Y2))=0)
>> >>
>> >>  Its target is to find out all the tracks with their lean at 45-degree
>or
>> >135-degree. After the execution of the program, some tracks are found
>while
>> >some tracks satisfied with the constrain are leaked. I guess that the
>reason
>> >is the precision of floating point number calculation. So I change it to
>the
>> >following format:
>> >>
>> >> IsTrack and ((ABS(X1-X2)-ABS(Y1-Y2))  between -1 and 1).
>> >>
>> >> But this time, strange things happen: the queried tracks are nearlly
>all
>> >the tracks with 0 degree, not 45-degree or 135-degree. Who can tell me
>why.
>> >Is it a bug of DXP?
>> >>
>> >
>> >.
>>
>>
>>
>>
>>
>>
>
>
>* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>* To post a message: mailto:[EMAIL PROTECTED]
>*
>* To leave this list visit:
>* http://www.techservinc.com/protelusers/leave.html
>*
>* Contact the list manager:
>* mailto:[EMAIL PROTECTED]
>*
>* Forum Guidelines Rules:
>* http://www.techservinc.com/protelusers/forumrules.html
>*
>* Browse or Search previous postings:
>* http://www.mail-archive.com/[EMAIL PROTECTED]
>* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>
>.



?,旦??zf???^?Z~???谦???????b槽獠+a囤?0电!标?w?楫????????i??b操?????⒒?佗?-?h??'??r?⒒??zX???!囤?
0电!标?w?楫???撷沪?^?f?杪迁????猗?⑺b?!囤?
0?????o楫??Z~???谦??

Reply via email to