Library of functions operating on Boolean vectors
This library provides functions operating on vectors that have a Boolean vector as input argument.
Extends from Modelica.Icons.Package (Icon for standard packages).
Name | Description |
---|---|
allTrue | Returns true, if all elements of the Boolean input vector are true ('and') |
andTrue | Returns true, if all elements of the Boolean input vector are true ('and') |
anyTrue | Returns true, if at least one element of the Boolean input vector is true ('or') |
countTrue | Returns the number of true elements in a Boolean vector |
enumerate | Enumerates the true elements in a Boolean vector (0 for false elements) |
firstTrueIndex | Returns the index of the first true element of a Boolean vector |
index | Returns the indices of the true elements of a Boolean vector |
oneTrue | Returns true, if exactly one element of the Boolean input vector is true ("xor") |
Returns true, if all elements of the Boolean input vector are true ('and')
allTrue(b);
Returns true if all elements of the Boolean input vector b are true. Otherwise the function returns false. If b is an empty vector, i.e., size(b,1)=0, the function returns false (as opposed to andTrue returning true).
Boolean b1[3] = {true, true, true}; Boolean b2[3] = {false, true, false}; Boolean r1, r2; algorithm r1 = allTrue(b1); // r1 = true r2 = allTrue(b2); // r2 = false
andTrue, anyTrue, countTrue, enumerate, firstTrueIndex, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
result | = true, if all elements of b are true |
Returns true, if all elements of the Boolean input vector are true ('and')
andTrue(b);
Returns true if all elements of the Boolean input vector b are true. Otherwise the function returns false. If b is an empty vector, i.e., size(b,1)=0, the function returns true (as opposed to allTrue returning false).
Boolean b1[3] = {true, true, true}; Boolean b2[3] = {false, true, false}; Boolean r1, r2; algorithm r1 = andTrue(b1); // r1 = true r2 = andTrue(b2); // r2 = false
allTrue, anyTrue, countTrue, enumerate, firstTrueIndex, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
result | = true, if all elements of b are true |
Returns true, if at least one element of the Boolean input vector is true ('or')
anyTrue(b);
Returns true if at least one element of the input Boolean vector b is true. Otherwise the function returns false. If b is an empty vector, i.e., size(b,1)=0, the function returns false.
Boolean b1[3] = {false, false, false}; Boolean b2[3] = {false, true, false}; Boolean r1, r2; algorithm r1 = anyTrue(b1); // r1 = false r2 = anyTrue(b2); // r2 = true
allTrue, andTrue, countTrue, enumerate, firstTrueIndex, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
result | = true, if at least one element of b is true |
Returns the number of true elements in a Boolean vector
countTrue(b);
This function returns the number of true elements in a Boolean vector b.
countTrue({false, true, false, true})
returns 2.
allTrue, andTrue, anyTrue, enumerate, firstTrueIndex, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
n | Number of true elements in b |
Enumerates the true elements in a Boolean vector (0 for false elements)
enumerate(b);
This function returns an integer vector that consecutively numbers the true elements in a Boolean vector b. The false elements are indicated by 0.
enumerate({false, true, false, true})
returns {0,1,0,2}
.
allTrue, andTrue, anyTrue, countTrue, firstTrueIndex, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
enumerated[size(b, 1)] | Indices of the true elements in b (increasing order; 0 for false elements) |
Returns the index of the first true element of a Boolean vector
firstTrueIndex(b);
Returns the index of the first true element of the Boolean vector b. If no element is true or b is an empty vector (i.e., size(b,1)=0) the function returns 0.
Boolean b1[3] = {false, false, false}; Boolean b2[3] = {false, true, false}; Boolean b3[4] = {false, true, false, true}; Integer r1, r2, r3; algorithm r1 = firstTrueIndex(b1); // r1 = 0 r2 = firstTrueIndex(b2); // r2 = 2 r3 = firstTrueIndex(b3); // r3 = 2
allTrue, andTrue, anyTrue, countTrue, enumerate, index, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
index | Index of the first true element of b |
Returns the indices of the true elements of a Boolean vector
index(b);
This function returns an integer vector that contains indices to the true elements in a Boolean vector b. The number of elements in the integer vector is the number of true elements in b.
index({false, true, false, true})
returns {2,4}
.
allTrue, andTrue, anyTrue, countTrue, enumerate, firstTrueIndex, and oneTrue.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
indices[countTrue(b)] | Indices of the true elements of b |
Returns true, if exactly one element of the Boolean input vector is true ("xor")
oneTrue(b);
Returns true if exactly one element of the input Boolean vector b is true. Otherwise the function returns false. If b is an empty vector, i.e., size(b,1)=0, the function returns false.
Boolean b1[3] = {false, false, false}; Boolean b2[3] = {false, true, false}; Boolean b3[3] = {false, true, true}; Boolean r1, r2, r3; algorithm r1 = oneTrue(b1); // r1 = false r2 = oneTrue(b2); // r2 = true r3 = oneTrue(b3); // r3 = false
allTrue, andTrue, anyTrue, countTrue, enumerate, firstTrueIndex, and index.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
b[:] | Boolean vector |
Name | Description |
---|---|
result | = true, if exactly one element of b is true |