public interface special_union_complement
Specialiced function with assumptions that speed up performance.
Merge B into A and remove values that are in C.
The result can be written with set notation as A ∪ B / C.
Preconditions (not tested!):
1. C is a subset of A
2. A and B are disjoint
3. B and C are disjoint
4. A, B, and C are sorted.
The result will be sorted.
Module Procedures
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int64),
|
intent(in) |
|
|
:: |
A(:) |
|
integer(kind=int64),
|
intent(in) |
|
|
:: |
B(:) |
|
integer(kind=int64),
|
intent(in) |
|
|
:: |
C(:) |
|
Return Value
integer(kind=int64), (size(A)+size(B)-size(C))
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
A(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
B(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
C(:) |
|
Return Value
integer(kind=int32), (size(A)+size(B)-size(C))