Files
mercury/tests/hard_coded/array_unify_compare.exp
Julien Fischer c32c99b269 Minor improvement to equality and comparison for arrays.
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.
2018-08-15 09:46:49 +10:00

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])) ==> '='