[fpc-pascal] Can FPC optimize: if (s[i]='a') or ...
Rainer Stratmann
rainerstratmann at t-online.de
Sun Apr 14 13:28:08 CEST 2019
On Samstag, 13. April 2019 22:30:55 CEST Alexey Tor. wrote:
> E.g. i have a loop which test each s[i] char for several cases: 'a',
> 'b', 'c'.
>
> for i:= 1 to length(s) do
>
> if (s[i]='a') or (s[i]='b') or (s[i]='c') then ...
>
> Can FPC optimize it so it only reads s[i] once (to register), not 3 times?
You can optimise by yourself.
var
c : char;
l : longint;
begin
l := length( s );
for i := 1 to l do
c := s[ i ];
if ( c = 'a' ) or ( c = 'b' ) or ( c = 'c' ) then ...
More information about the fpc-pascal
mailing list