Re: "Nasty" bug

new topic     » goto parent     » topic index » view thread      » older message » newer message

Another variation on "dropping the ball."

oE works "as expected"; Phix gives a different result when index is one (1).

constant ball = 88 
sequence blank = { 0,0,0,0,0 } 
sequence lst  
 
 
for index = 1 to 5 do 
 
puts(1, "\n----------------------------------------- no assignment \n" ) 
 
    lst = blank 
    printf(1,"Outside lst value    %g %g %g %g %g \n\n", lst ) 
    ? set(ball, index) 
    printf(1,"Outside lst value    %g %g %g %g %g \n", lst ) 
 
puts(1, "\n----------------------------------------- with += assignment\n" ) 
 
    lst = blank 
    printf(1,"Outside lst value    %g %g %g %g %g \n\n", lst ) 
    lst[1] += set( ball, index) 
 
    printf(1,"Outside lst value    %g %g %g %g %g \n\n", lst ) 
 
 
puts(1, "\n----------------------------------------- with staged assignment\n" ) 
 
    lst = blank 
    printf(1,"Outside lst value    %g %g %g %g %g \n\n", lst ) 
 
    integer NDX = set(ball, index) 
    lst[1] += NDX 
    printf(1,"Outside lst value    %g %g %g %g %g \n\n", lst ) 
 
puts(1, "\n-----------------------------------------\n" ) 
 
    ? gets(0) -- pause to review results 
    clear_screen() 
 
end for 
 
 
function set(integer thing, integer index)  
  lst[index] = thing 
          printf(1,"           Inside set argument %g\n", thing ) 
          printf(1,"           Inside set index    %d\n", index ) 
          printf(1,"           Inside set value    %g %g %g %g %g \n", lst ) 
  return index 
end function  
 
      
puts(1,"\n\n                              Done")  

_tom

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu