FUNCTION function_is_1d_table
(func : maths_function) : BOOLEAN;
LOCAL temp : maths_space; itvl : finite_integer_interval; END_LOCAL; IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; temp := factor1 (func.domain); IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; temp := factor1 (temp); END_IF; IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN itvl := temp; RETURN (bool((itvl.min = 0) OR (itvl.min = 1))); END_IF; RETURN (FALSE); END_FUNCTION; -- function_is_1d_table
|