Thanks Maury.  I didn't see anything about this in the part of the
GT.M manual I was reading.  That makes sense.

Kevin

On 9/3/05, Maury Pepper <[EMAIL PROTECTED]> wrote:
> Kevin,
> 
> The bit string functions work on a pseudo data type defined in GT.M (ie, this 
> is a non-standard scheme, thus these are z-functions.) The leading byte is a 
> value between 0 and 7 and it indicates how many bits in the last byte to 
> ignore. $c(0,0) creates a bit string of 8 zero bits.  The first byte of 0 
> indicates that 0 bits in the second byte are ignored, ie all 8 bits are used. 
>  A seven-bit string would be encoded as $c(1,0).  A 15-bit string, $c(1,0,0). 
>  Once you create a bit string (using $c(...) or $zbitstr(...) ) the functions 
> will preserve the data type so you don't really have to think in terms of how 
> the bit strings are composed.  But, read the manual re the length of a result.
> 
> 
> 
> ----- Original Message -----
> From: "Kevin Toppenberg" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Saturday, September 03, 2005 9:43 PM
> Subject: Re: [Hardhats-members] Bitwise operators in GT.M?
> 
> 
> > Jim (or anyone else)
> >
> > I am thinking about writting an UUEncoder in M, so have come back to
> > look at this more closely.  I've taken a look in the GT.M programmer's
> > manual also.
> >
> > I notice that the $ZBITxx functions are also present in Cache'
> > (although apparently depreciated).
> >
> > There are a couple parts I don't understand.
> > First, I don't understand what you are doing with $char(0,X) during
> > conversion to to a bit stream.  Is this simply to force more bits
> > (i.e. 0000000011111111 if X=255)?
> >
> > Second,  you have $ZBITSTR(8,0)=$c(0,0)
> > This seems to me to say, create a bitstring of 8 bits, all set to 0.
> > Then you have that equal to $char(0,0), which I think is the same as
> > $char(0)_$char(0)
> > This seems to imply that $char(0) is only 4 bits.  How can this be so?
> >
> > I'm confused.
> > Thanks
> > Kevin
> >
> >
> >
> > On 8/29/05, Jim Self <[EMAIL PROTECTED]> wrote:
> >> Greg Woodhouse wrote:
> >> >if X and Y represent (unsigned) decimal
> >> > integers, does GT.M provide an easy (and efficient) means of carrying
> >> > out bitwise operations on X and Y). For example, if X = 12 (binary
> >> > 1100)and Y = 49 (binary 110001), I'd expect that
> >> >
> >> > X bitwise-or Y = 61 (binary 111101)
> >> >
> >> >
> >> > 1 1 0 0 0 1
> >> >     1 1 0 0
> >> > ------------
> >> > 1 1 1 1 0 1
> >>
> >> Bit functions in GT.M appear very similar to those in DTM, and I assume, 
> >> in Cache'. They
> >> are oriented around doing fast tests on very long bitstrings. These might 
> >> be stored in a
> >> database as a means of representing membership of data records in various 
> >> sets.
> >>
> >> According to the GT.M programmer documentation, bitstrings have a leading 
> >> byte that gives
> >> the count of invalid bits at the end of the bitstring. As Bhaskar 
> >> indicates, there is no
> >> automatic conversion of numerics to bitstrings. There are examples of use 
> >> in the
> >> documentation that show a couple of different conversion methods.
> >>
> >> The functions are $ZBITAND(), $ZBITCOUNT(), $ZBITFIND(), $ZBITGET(), 
> >> $ZBITLEN(),
> >> $ZBITNOT(), $ZBITOR(), $ZBITSET(), $ZBITSTR(), $ZBITXOR().
> >>
> >> $ZBITSTR(bits,state) will create a bitstring with a given number of bits 
> >> all set to true
> >> or false according to the value of state. The maximum number of bits is 
> >> 253,952.
> >>
> >> $ZBITSTR(8,0)=$c(0,0)
> >> $ZBITSTR(16,0)=$c(0,0,0)
> >> $ZBITSTR(24,0)=$c(0,0,0,0)
> >> $ZBITSTR(32,0)=$c(0,0,0,0,0)
> >> ...
> >>
> >> If X is an integer in the range 0-255 (8-bit value) then one way of 
> >> converting X to a
> >> bitstring would be $c(0,X).
> >>
> >>   ;testing zbit* functions
> >>
> >>   s x=12,y=49
> >>   s bitstr=$zbitOr($c(0,x),$c(0,y))
> >>   zwr bitstr
> >>
> >> bitstr=$C(0)_"="
> >>
> >>   w $a(bitstr,2)
> >>
> >> 61
> >>
> >>
> >> ---------------------------------------
> >> Jim Self
> >> Systems Architect, Lead Developer
> >> VMTH Computer Services, UC Davis
> >> (http://www.vmth.ucdavis.edu/us/jaself)
> >>
> >>
> >> -------------------------------------------------------
> >> SF.Net email is Sponsored by the Better Software Conference & EXPO
> >> September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> >> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> >> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> >> _______________________________________________
> >> Hardhats-members mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/hardhats-members
> >>
> >
> >
> > -------------------------------------------------------
> > SF.Net email is Sponsored by the Better Software Conference & EXPO
> > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> > _______________________________________________
> > Hardhats-members mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/hardhats-members
> >
> 
> 
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Hardhats-members mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/hardhats-members
>


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to