Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!saimiri.primate.wisc.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!uunet!pipex!sunic!isgate!veda.is!adam From: adam@veda.is (Adam David) Newsgroups: comp.os.386bsd.development Subject: Re: Correction, Correction, Appologizes..... Keywords: error correction qic news Message-ID: <C6AEyD.Hrr@veda.is> Date: 30 Apr 93 08:15:35 GMT References: <jmonroyC6A4u2.LL4@netcom.com> Organization: Veda Systems, Iceland Lines: 39 jmonroy@netcom.com (Jesus Monroy Jr) writes: [edited for brevity] > #define STOP 2 > #define GO 1 > while (move & (STOP | GO)) > { move = external_stuff; > :: > :: > /* this is implicit logic, it works just like the previous */ > move &= (STOP | GO); > } Maybe the optimising compiler would fix this code but it is ugly. What about... while (move &= STOP | GO) { move = external_stuff; :: :: } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ [note: #define CORRECTION means it is not corrected yet] > glob_err = (sec_no >= sectors_pertrack) ? { head++; sec_no = 0;} : ^^^^^^^^^^^^^^^^^^^^^^^^^^ Yumm, yumm! A compiler with anonymous inline functions. >#ifdef CORRECTION > (head > head_pertrack) ? {seek(track++); head = 0;}:; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oooh! And it also has a default component for the ?: operator. Non-standard, but it might have uses if anyone would dare to implement it in a compiler. :-)