Package MSP

bitand~

Bitwise and-operation of floating point signals

Description

Use the bitand~ object to perform a bitwise intersection (a bitwise "and") on two incoming floating-point signals as either raw 32-bit data or as integer values. The output is a floating-point signal composed of those bits which are 1 in both numbers.

Arguments

bitmask[int]
optional

Sets the bitmask to be used by the bitand~ object. The default is 0 . An integer value can be used as a bitmask regardless of the mode; the binary representation of this integer is the bitmask.

operational-mode[int]
optional

Specifies whether the floating-point signal or floating-point values will be processed as raw 32-bit floating-point values or converted to integer values for the bitwise operation. The modes of operation are listed below:

0: Treat both floating-point signal inputs as raw 32-bit values (default).
1: Convert both floating-point signal inputs to integer values.
2: Treat the floating-point signal in the left inlet as a raw 32-bit value
3: Convert the floating-point signal in the left inlet to an integer and treat the right input as a raw 32-bit value.

Attributes

mode[int]

Specifies whether the floating-point signal or floating-point value will be processed as a raw 32-bit floating-point value or converted to an integer value for bit inversion. The modes of operation are listed below.

0 - Treat both floating-point signal inputs as raw 32-bit values (default).
1 - Convert both floating-point signal inputs to integer values.
2 - Treat the floating-point signal in the left inlet as a raw 32-bit value and treat the value in the right inlet as an integer.
3 - Convert the floating-point signal in the left inlet to an integer and treat the right input as a raw 32-bit value.

Note: If you convert the floating-point signal input to an integer and then convert it back, the resulting floating-point value will retain only 24 bits of integer resolution.

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

int

In right inlet: An integer value can be used as a bitmask when supplied to the right inlet of the bitand~ object, provided that the proper mode is set.

Arguments:
  • bitmask [int]

float

In right inlet: A floating-point value can be used as a bitmask when supplied to the right inlet of the bitand~ object, provided that the proper mode is set.

Arguments:
  • bitmask [float]

bits

In left inlet: The word bits , followed by a list containing 32 ones or zeros, specifies a bitmask to be used by bitand~. Alternately, a bitmask value can be set by using an int value in the right inlet.

Arguments:
  • bitmask [list]

signal

In left inlet: The floating-point signal is compared, in binary form, with the floating-point signal in the right inlet. The signal can be treated as either a floating-point signal or as an integer.
In right inlet: The floating-point signal to be compared with the signal in the left inlet. The signal can be treated as either a floating-point signal or as an integer.
The raw floating-point signal bit values are expressed in the following form:
<1 sign bit> <8 exponent bits> <23 mantissa bits>

Output

signal

The two floating-point signals or ints received in the inlets are compared, one bit at a time. If a bit is 1 in both numbers, it will be 1 in the output number, otherwise it will be 0 in the output floating-point signal.

See Also

Name Description
bitshift~ Bit shifting for floating point signals
bitor~ Bitwise or-operation of floating point signals
bitxor~ Bitwise exclusive-or-operation of floating point signals
bitnot~ Bitwise inversion of a floating point signal