FUNCTION check_sparse_index_to_loc
(index_range : tuple_space, loc_domain : tuple_space) : BOOLEAN;
LOCAL temp : maths_space; idx_rng_itvl, loc_dmn_itvl : finite_integer_interval; END_LOCAL; temp := factor1 (index_range); IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN temp := factor1 (temp); END_IF; IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN RETURN (FALSE); END_IF; idx_rng_itvl := temp; temp := factor1 (loc_domain); IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN temp := factor1 (temp); END_IF; IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN RETURN (FALSE); END_IF; loc_dmn_itvl := temp; RETURN (bool((loc_dmn_itvl.min <= idx_rng_itvl.min) AND (idx_rng_itvl.max <= loc_dmn_itvl.max+1))); END_FUNCTION; -- check_sparse_index_to_loc
|