| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-04-22 21:33:47 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-04-22 21:33:47 +0200 |
| commit | 1d32728b9712702c9bca90d6dac370ff5fe2c214 (patch) | |
| tree | 25755963d66e842490eb4d4be8094b7674a85ae0 /src/sequence/sequence.c | |
Initial Commit
Diffstat (limited to 'src/sequence/sequence.c')
| -rw-r--r-- | src/sequence/sequence.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/sequence/sequence.c b/src/sequence/sequence.c new file mode 100644 index 0000000..c9c30f1 --- /dev/null +++ b/src/sequence/sequence.c @@ -0,0 +1,50 @@ +#include <stdlib.h> +#include <string.h> + +#include "../core/index.h" + +#include "sequence.h" + +/* See "sequence.h" */ +/*@ + requires + ( + \valid(sequence_a+ (0 .. sequence_a_length)) + || (sequence_a_length == 0) + ); + + requires + ( + \valid(sequence_b+ (0 .. sequence_b_length)) + || (sequence_b_length == 0) + ); + + assigns \result; +@*/ +int JH_sequence_cmp +( + const JH_index sequence_a [const restrict static 1], + const JH_index sequence_b [const restrict static 1], + const JH_index length +) +{ + JH_index i, a, b; + + for (i = 0; i < length; ++i) + { + a = sequence_a[i]; + b = sequence_b[i]; + + if (a < b) + { + return -1; + } + else if (a > b) + { + return 1; + } + } + + return 0; +} + |


