Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION values_space_of
          (expr : generic_expression) : maths_space;

 LOCAL e_prefix : STRING  := 'iso13584_expressions_schema.' ; typenames : SET OF STRING := TYPEOF ( expr ) ; END_LOCAL ; IF  ( schema_prefix + 'maths_variable' ) IN  typenames THEN  RETURN  ( expr \ maths_variable . values_space ) ; END_IF  ; IF  ( e_prefix + 'expression' ) IN  typenames THEN  IF  ( e_prefix + 'numeric_expression' ) IN  typenames THEN  IF  expr \ numeric_expression . is_int THEN  IF  ( e_prefix + 'int_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ int_literal . the_value ] ) ) ; ELSE  RETURN  ( the_integers ) ; END_IF  ; ELSE  IF  ( e_prefix + 'real_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ real_literal . the_value ] ) ) ; ELSE  RETURN  ( the_reals ) ; END_IF  ; END_IF  ; END_IF  ; IF  ( e_prefix + 'boolean_expression' ) IN  typenames THEN  IF  ( e_prefix + 'boolean_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ boolean_literal . the_value ] ) ) ; ELSE  RETURN  ( the_booleans ) ; END_IF  ; END_IF  ; IF  ( e_prefix + 'string_expression' ) IN  typenames THEN  IF  ( e_prefix + 'string_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ string_literal . the_value ] ) ) ; ELSE  RETURN  ( the_strings ) ; END_IF  ; END_IF  ; RETURN  ( ? ) ; END_IF  ; IF  ( schema_prefix + 'maths_function' ) IN  typenames THEN  IF  expression_is_constant ( expr ) THEN  RETURN  ( make_finite_space ( [ expr ] ) ) ; ELSE  RETURN  ( make_function_space ( sc_equal , expr \ maths_function . domain , sc_equal , expr \ maths_function . range ) ) ; END_IF  ; END_IF  ; IF  ( schema_prefix + 'function_application' ) IN  typenames THEN  RETURN  ( expr \ function_application . func . range ) ; END_IF  ; IF  ( schema_prefix + 'maths_space' ) IN  typenames THEN  IF  expression_is_constant ( expr ) THEN  RETURN  ( make_finite_space ( [ expr ] ) ) ; ELSE RETURN  ( make_elementary_space ( es_maths_spaces ) ) ; END_IF  ; END_IF  ; IF  ( schema_prefix + 'dependent_variable_definition' ) IN  typenames THEN  RETURN  ( values_space_of ( expr \ unary_generic_expression . operand ) ) ; END_IF  ; IF  ( schema_prefix + 'complex_number_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr ] ) ) ; END_IF  ; IF  ( schema_prefix + 'logical_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ logical_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'binary_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ binary_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'maths_enum_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ maths_enum_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'real_tuple_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ real_tuple_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'integer_tuple_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ integer_tuple_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'atom_based_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ atom_based_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'maths_tuple_literal' ) IN  typenames THEN  RETURN  ( make_finite_space ( [ expr \ maths_tuple_literal . lit_value ] ) ) ; END_IF  ; IF  ( schema_prefix + 'partial_derivative_expression' ) IN  typenames THEN  RETURN  ( drop_numeric_constraints ( values_space_of ( expr \ partial_derivative_expression . derivand ) ) ) ; END_IF  ; IF ( schema_prefix + 'definite_integral_expression' ) IN typenames THEN RETURN  ( drop_numeric_constraints ( values_space_of ( expr \ definite_integral_expression . integrand ) ) ) ; END_IF ; RETURN ( ? ) ; 

END_FUNCTION; -- values_space_of

public class FValues_space_of
          public static Value run(SdaiContext _context, Value expr)