cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

JSL bit operations

☐cool new feature
☐ could help many users!

☐ removes a „bug“

☑ nice to have

☐ nobody needs it

 

What inspired this wish list request? 

How does one perform Bitwise operations in JMP formulas? 

How do I perform bitwise xor operations between columns with 44-bit binary data? 

 

What is the improvement you would like to see? 

Native function for bit operations like XOR, shift bits, split bits, get bit, set bit.

 

Why is this idea important? 

could help users who want to do bit operations in Jmp.

 

more wishes submitted by  hogi_2-1702196401638.png

 

 

4 Comments
jthi
Super User

I have contacted JMP support regarding this in early 2020 (SAS 7612980866). Request:

jthi_1-1708678342802.png

and final response from support

jthi_2-1708678370228.png

 

hogi
Level XI

@Sarah-Sylvestre could you please link this Wish to the original request?

... and maybe give a short feedback about the status.

Status changed to: Acknowledged

Hi @hogi I have attached the case number. There is not an update on the status but I will let you know if there are any developments. 

BetaTreeCamel91
Level I

JMP Developers:

 

This is more than just "nice to have".  It could really help multiple users and benefit many users who presently encode their binary data with multiple columns when a single column of bit fields would make the data much more compact.

 

Please, please, please, please, please add bitwise operators to JSL.  Analyzing log files with bit fields (like error/alarm bits, indicator/status bits, etc.), I have had so many occasions to utilize bitwise operators in JMP, and I always need to work around the limitation in JMP.  It is disappointing that such a basic operator is missing from JSL and the JMP formulas.  In addition to bitwise operators, bit mapping support can also be improved within JMP by making user-defined bit mappings an option in the column properties (i.e. column XYZ designates bit 20 = doorOpen, bit 21 = doorClosed, ...) and then in graph builder, plotting column XYZ against time, you could show all of the bit states flipping in a stacked plot like you might see on a digital oscilloscope.  Super powerful when combined with all of the other visualization capabilities JMP provides.  Also, allowing scripts and formulas to reference the bit states such as XYZ.doorClosed, or xyZ.bit21 (if no other name has been mapped) increases the leverage of JMP across the board.

 

Although it would not likely impact many users, there are some things to consider for users who might eventually use bit fields to encode their data (and for JMP developers to consider).  Missing values would not be possible with single bit mappings.  One would need to encode separate bits if the "missing" case is needed/possible.  Example, if I have a gender bit which is intended to represent Male/Female, I could not check if the value is missing because i.e. Male=0 and Female=1 and those are the only two states a single bit can represent.  However, I could have two bits, isMale=1 for male and isFemale=1 for female.  Then, tests for isValid or isMissing could be encoded to check for both bits set to 1 (not valid) or both bits set to 0 (missing).  With bit mapping support, the column space for some users would be much reduced because many binary values could be packed together into a single column rather than consuming multiple columns, but readily accessed via bit references in scripts and graphs.