Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Thorsten Engler
ied type. > Effectively telling you if you can do a hard cast of that value to > that type. > > > > I fail to see the difference? > > > >> -Original Message----- > >> From: fpc-devel On > Behalf Of > >> Ozz Nixon > >> Sent: Saturday, 1

Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Ondrej Pokorny
On 14.04.2018 15:16, Ozz Nixon wrote: following the grammar, I would suggest “in” when trying to do what you want, not “is”. if a in 3..10 then begin You can overload the IN operator: https://www.freepascal.org/docs-html/ref/refse104.html#x213-23500015.6 According to Jonas, this could make

Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Ozz Nixon
ay, 14 April 2018 22:43 >> To: FPC developers' list >> Subject: Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous >> optimization in CASE..OF >> >> I understand the thread, however, in one of the ISO standards for >> Pascal, the keyword is, is defined f

Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Thorsten Engler
u can do a hard cast of that value to that type. I fail to see the difference? > -Original Message- > From: fpc-devel On Behalf > Of Ozz Nixon > Sent: Saturday, 14 April 2018 22:43 > To: FPC developers' list > Subject: Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dan

Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Ozz Nixon
I understand the thread, however, in one of the ISO standards for Pascal, the keyword is, is defined for type not value. The example I gave is the only way I can see supporting is on non objects - because we are a typed language. That was my point, not arguing against, however, sharing a way I c

Re: [fpc-devel] *** GMX Spamverdacht *** Re: Dangerous optimization in CASE..OF

2018-04-14 Thread Thorsten Engler
Eh, Ozz? Did you actually read this thread? It has nothing to do with the declared type of i. it compares the current value of i against the range of the specified type and will return true if the current value falls inside that range. 5 is TSubRange -> true 2000 is TSubRange -> false Also: c