omdl  v0.6.1
OpenSCAD Mechanical Design Library
Bitwise

Base-two bitwise binary operations. More...

+ Collaboration diagram for Bitwise:

Files

file  math_bitwise.scad
 Mathematical base-two bitwise binary 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 list of bits. More...
 
function bitwise_v2i (v)
 Decode a base-two list 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_imi (v, w, s)
 Decode the integer in a value at a shifted base-two bit mask of width-w. 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

Base-two bitwise binary 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
<bit-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 list of bits.

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

Decode the integer in a value at a shifted base-two bit mask of width-w.

Parameters
v<integer> An integer value.
w<integer> The bit mask width.
s<integer> The bit mask shift offset.
Returns
<integer> value of the w bits of v starting at bit position s up to bit (w+s-1).
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.

+ Here is the caller graph for this function:

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<bit-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 list of bits to an integer value.

Parameters
v<bit-list> A value encoded as a base-two list of bits.
Returns
<integer> value encoding of the base-two list of bits. Returns undef when v is not a list 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.