|
FUNCTION drop_numeric_constraints (spc : maths_space) : maths_space; LOCAL typenames : SET OF STRING := stripped_typeof ( spc ) ; tspc : listed_product_space ; factors : LIST OF maths_space := [ ] ; xspc : extended_tuple_space ; END_LOCAL ; IF 'uniform_product_space' IN typenames THEN RETURN ( make_uniform_product_space ( drop_numeric_constraints ( spc \ uniform_product_space . base ) , spc \ uniform_product_space . exponent ) ) ; END_IF ; IF 'listed_product_space' IN typenames THEN tspc := spc ; REPEAT i := 1 TO SIZEOF ( tspc . factors ) ; INSERT ( factors , drop_numeric_constraints ( tspc . factors [ i ] ) , i - 1 ) ; END_REPEAT ; RETURN ( make_listed_product_space ( factors ) ) ; END_IF ; IF 'extended_tuple_space' IN typenames THEN xspc := spc ; RETURN ( make_extended_tuple_space ( drop_numeric_constraints ( xspc . base ) , drop_numeric_constraints ( xspc . extender ) ) ) ; END_IF ; IF subspace_of_es ( spc , es_numbers ) THEN RETURN ( number_superspace_of ( spc ) ) ; END_IF ; RETURN ( spc ) ; END_FUNCTION; -- drop_numeric_constraints |
|
public class FDrop_numeric_constraints public static Value run(SdaiContext _context, Value spc) |