omdl  v0.5
OpenSCAD Mechanical Design Library
Bitwise Operations

Bitwise binary (base-two) operations. More...

+ Collaboration diagram for Bitwise Operations:

Files

file  math_bitwise.scad
 Mathematical bitwise binary (base-two) functions.
 

Functions

function bitwise_is_equal (v, b, t=1)
 Test if a base-two bit position of an integer value equals a test bit. More...
 
function bitwise_i2v (v, w=1, bv=1)
 Encode an integer value as a base-two vector of bits. More...
 
function bitwise_v2i (v)
 Decode a base-two vector of bits to an integer value. More...
 
function bitwise_i2s (v, w=1)
 Encode an integer value as a base-two string of bits. More...
 
function bitwise_s2i (v)
 Decode a base-two string of bits to an integer value. More...
 
function bitwise_and (v1, v2, bv=1)
 Base-two bitwise AND operation for integers. More...
 
function bitwise_or (v1, v2, bv=1)
 Base-two bitwise OR operation for integers. More...
 
function bitwise_xor (v1, v2, bv=1)
 Base-two bitwise XOR operation for integers. More...
 
function bitwise_not (v, w=1, bv=1)
 Base-two bitwise NOT operation for an integer. More...
 
function bitwise_lsh (v, s=1, bm=1, bv=1)
 Base-two bitwise left-shift operation for an integer. More...
 
function bitwise_rsh (v, s=1)
 Base-two bitwise right-shift operation for an integer. More...
 

Detailed Description

Bitwise binary (base-two) operations.

See Wikipedia binary numbers and operations for more information.

See validation results.

Function Documentation

function bitwise_and ( v1  ,
v2  ,
bv  = 1 
)

Base-two bitwise AND operation for integers.

Parameters
v1<integer> An integer value.
v2<integer> An integer value.
bv(an internal recursion loop variable).
Returns
<integer> result of the base-two bitwise AND of v1 and v2. Returns undef when v1 or v2 is not an integer.
function bitwise_i2s ( ,
= 1 
)

Encode an integer value as a base-two string of bits.

Parameters
v<integer> An integer value.
w<integer> The minimum bit width.
Returns
<string> of bits base-two encoding of the integer value. Returns undef when v or w is not an integer.
function bitwise_i2v ( ,
= 1,
bv  = 1 
)

Encode an integer value as a base-two vector of bits.

Parameters
v<integer> An integer value.
w<integer> The minimum bit width.
bv(an internal recursion loop variable).
Returns
<vector> of bits base-two encoding of the integer value. Returns undef when v or w is not an integer.
function bitwise_is_equal ( ,
,
= 1 
)

Test if a base-two bit position of an integer value equals a test bit.

Parameters
v<integer> An integer value.
b<integer> A base-two bit position.
t<bit> The bit test value [0|1].
Returns
<boolean> true when the base-two bit position of the integer value equals t, otherwise returns false.
function bitwise_lsh ( ,
= 1,
bm  = 1,
bv  = 1 
)

Base-two bitwise left-shift operation for an integer.

Parameters
v<integer> An integer value.
s<integer> The number of bits to shift.
bm(an internal recursion loop variable).
bv(an internal recursion loop variable).
Returns
<integer> result of the base-two bitwise left-shift of v by s bits. Returns undef when v or s is not an integer.
function bitwise_not ( ,
= 1,
bv  = 1 
)

Base-two bitwise NOT operation for an integer.

Parameters
v<integer> An integer value.
w<integer> The minimum bit width.
bv(an internal recursion loop variable).
Returns
<integer> result of the base-two bitwise NOT of v. Returns undef when v is not an integer.
function bitwise_or ( v1  ,
v2  ,
bv  = 1 
)

Base-two bitwise OR operation for integers.

Parameters
v1<integer> An integer value.
v2<integer> An integer value.
bv(an internal recursion loop variable).
Returns
<integer> result of the base-two bitwise OR of v1 and v2. Returns undef when v1 or v2 is not an integer.
function bitwise_rsh ( ,
= 1 
)

Base-two bitwise right-shift operation for an integer.

Parameters
v<integer> An integer value.
s<integer> The number of bits to shift.
Returns
<integer> result of the base-two bitwise right-shift of v by s bits. Returns undef when v or s is not an integer.
function bitwise_s2i ( )

Decode a base-two string of bits to an integer value.

Parameters
v<string> A value encoded as a base-two string of bits.
Returns
<integer> value encoding of the base-two string of bits. Returns undef when v is not a string of bit values.
function bitwise_v2i ( )

Decode a base-two vector of bits to an integer value.

Parameters
v<vector> A value encoded as a base-two vector of bits.
Returns
<integer> value encoding of the base-two vector of bits. Returns undef when v is not a vector of bit values.
function bitwise_xor ( v1  ,
v2  ,
bv  = 1 
)

Base-two bitwise XOR operation for integers.

Parameters
v1<integer> An integer value.
v2<integer> An integer value.
bv(an internal recursion loop variable).
Returns
<integer> result of the base-two bitwise XOR of v1 and v2. Returns undef when v1 or v2 is not an integer.