Subj : Re: MPL Bitwise Operators To : g00r00 From : LEE WESTLAKE Date : Thu Jan 13 2022 11:35 pm g0> MPL is supposed to support your typical bitwise operators (keywords g0> and/or/xor/shl/shr) but clearly something is not working. I certainly miss them when they're not there, but an arithmetic solution proved just as good. g0> There are also three functions that allow you to check, set, and toggle g0> bits in any integer type that MPL supports which can be used for now g0> until I figure out what happened. g0> g0> This is in a WHATSNEW from way back in 2011 (The number you pass is the g0> actual bit you want to check, set or toggle ie 1-32) g0> g0> + New MPL function "BitCheck" accepts a bit position and checks it g0> against an integer, returning true or false if the bit is on. So for g0> example in the Records, the third bit in UserFlags is UserDeleted: g0> g0> GetThisUser g0> If BitCheck(3, UserFlags) Then WriteLn('User is marked deleted'); g0> g0> Note that this was implemented before actual bitwise math, which also g0> made it into this version. Keep reading! :) g0> g0> + New MPL function "BitToggle" accepts a bit position and an integer and g0> toggles the bit. g0> g0> GetThisUser g0> BitToggle(3, UserFlags); // undeletes if they are deleted or g0> deletes if // they are not deleted. g0> g0> + New MPL function "BitSet" accepts a bit position and an integer and g0> sets the bit ON/OFF based on a boolean: g0> g0> GetThisUser g0> BitSet(3, UserFlags, True); // user is marked as deleted Thanks g00r00, I appreciate the additional information. o-----------o------------o-------------------------o TALIADON | 2:250/6 | 21:3/138 | TALIADON-BBS@MAIL.COM | o-----------o-----------o------------o-------------------------o | "Error is a great teacher, and humility its hardest lesson." | o--------------------------------------------------------------o --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32) * Origin: TALIADON BBS (2:250/6) .