mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 09:23:44 +00:00
library/array.m:
Use unsafe lookups in the implementation of equality and
comparison. In these cases the lookups are safe since
the necessary bounds checks are done by the caller.
Avoid unnecessary module qualification.
tests/hard_coded/Mmakefile:
tests/hard_coded/array_unify_compare.{m,exp}:
Add a systematic test for array equality and comparison.
52 lines
2.0 KiB
Plaintext
52 lines
2.0 KiB
Plaintext
unify(array([]), array([])) ==> true
|
|
unify(array([]), array([1])) ==> false
|
|
unify(array([]), array([1, 2])) ==> false
|
|
unify(array([]), array([2, 1])) ==> false
|
|
unify(array([]), array([2])) ==> false
|
|
unify(array([1]), array([])) ==> false
|
|
unify(array([1]), array([1])) ==> true
|
|
unify(array([1]), array([1, 2])) ==> false
|
|
unify(array([1]), array([2, 1])) ==> false
|
|
unify(array([1]), array([2])) ==> false
|
|
unify(array([1, 2]), array([])) ==> false
|
|
unify(array([1, 2]), array([1])) ==> false
|
|
unify(array([1, 2]), array([1, 2])) ==> true
|
|
unify(array([1, 2]), array([2, 1])) ==> false
|
|
unify(array([1, 2]), array([2])) ==> false
|
|
unify(array([2, 1]), array([])) ==> false
|
|
unify(array([2, 1]), array([1])) ==> false
|
|
unify(array([2, 1]), array([1, 2])) ==> false
|
|
unify(array([2, 1]), array([2, 1])) ==> true
|
|
unify(array([2, 1]), array([2])) ==> false
|
|
unify(array([2]), array([])) ==> false
|
|
unify(array([2]), array([1])) ==> false
|
|
unify(array([2]), array([1, 2])) ==> false
|
|
unify(array([2]), array([2, 1])) ==> false
|
|
unify(array([2]), array([2])) ==> true
|
|
|
|
compare(array([]), array([])) ==> '='
|
|
compare(array([]), array([1])) ==> '<'
|
|
compare(array([]), array([1, 2])) ==> '<'
|
|
compare(array([]), array([2, 1])) ==> '<'
|
|
compare(array([]), array([2])) ==> '<'
|
|
compare(array([1]), array([])) ==> '>'
|
|
compare(array([1]), array([1])) ==> '='
|
|
compare(array([1]), array([1, 2])) ==> '<'
|
|
compare(array([1]), array([2, 1])) ==> '<'
|
|
compare(array([1]), array([2])) ==> '<'
|
|
compare(array([1, 2]), array([])) ==> '>'
|
|
compare(array([1, 2]), array([1])) ==> '>'
|
|
compare(array([1, 2]), array([1, 2])) ==> '='
|
|
compare(array([1, 2]), array([2, 1])) ==> '<'
|
|
compare(array([1, 2]), array([2])) ==> '>'
|
|
compare(array([2, 1]), array([])) ==> '>'
|
|
compare(array([2, 1]), array([1])) ==> '>'
|
|
compare(array([2, 1]), array([1, 2])) ==> '>'
|
|
compare(array([2, 1]), array([2, 1])) ==> '='
|
|
compare(array([2, 1]), array([2])) ==> '>'
|
|
compare(array([2]), array([])) ==> '>'
|
|
compare(array([2]), array([1])) ==> '>'
|
|
compare(array([2]), array([1, 2])) ==> '<'
|
|
compare(array([2]), array([2, 1])) ==> '<'
|
|
compare(array([2]), array([2])) ==> '='
|