Author: Robert Hyatt
Date: 06:30:02 11/03/03
Go up one level in this thread
On November 03, 2003 at 01:54:23, Johan de Koning wrote: >On November 02, 2003 at 23:07:44, Robert Hyatt wrote: > >>On November 02, 2003 at 22:14:22, Johan de Koning wrote: >> >>>On November 01, 2003 at 18:32:08, Robert Hyatt wrote: >>> >>>>On November 01, 2003 at 05:00:48, Johan de Koning wrote: >>>> >>>>>On October 31, 2003 at 10:27:00, Robert Hyatt wrote: >>>>> >>>>>>On October 31, 2003 at 01:36:17, Johan de Koning wrote: >>>>>> >>>>>>>On October 30, 2003 at 09:44:48, Robert Hyatt wrote: >>>>>>> >>>>>>>>On October 29, 2003 at 13:39:03, Vincent Diepeveen wrote: >>>>>>> >>>>>>>>>It's like saying using 'goto' is ok in a programming environment. Where this is >>>>>>>>>certainly true, it should not be a policy to do so :) >>>>>>>> >>>>>>>>Eh? _every_ program you write has goto's. (aka jumps). They are not >>>>>>>>bad. In fact, they are _unavoidable_. >>>>>>> >>>>>>>OT1: They *are* avoidable. >>>>>>>Any finite algorithm that does not depend on mid-execution input (typically >>>>>>>time) can be written as 1 single expression. It would of course be huge and >>>>>>>run rather slowly without quantum computing. >>>>>> >>>>>>I don't know how you can possibly encode a loop into a complex expression, >>>>>>not knowing beforehand how many loop iterations will be needed... >>>>> >>>>>By expanding all possibilities. >>>> >>>>What if you don't know how many possibilities there are. IE repetition >>>>checking. Etc.. >>> >>>If *all* possibilities is finite, you know how many. >>> >>>#define REP \ >>> (zob[0] == zob[-4]) \ >>> + (zob[0] == zob[-6]) \ >>> + (zob[0] == zob[-8]) etc >> >>OK.. I can see how it would work, but not as above. Each zob[x] has >>to be protected by something like this: >> >>(moves_in_replist>=4) * (zob[0] == zob[-4]) > >If you can get a value for > moves_in_replist >you can get a value for > zob[-100], zob[-99], ... >just as well. No you can't. zob[0] might well be on a page boundary. And the previous page might not exist. zob[0] might be the _lowest_ address in your virtual address space. zob[-1] will cause a memory access violation. zob[0] might be allocated on the stack. Which grows downward. It is very likely that going below zob[0] will cause a memory access violation there as well. It isn't safe at all in architectures with virtual memory, rather than physical memory only. > >>However, most compilers will wreck there and crash the program. IE >>it doesn't always work to do x[y-j] where j > y. So the subscripts >>have to be done the same way... > >More importantly, >most compilers will choke on expressions with, say, 10^15 operators. :-) > >... Johan
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.