|
FUNCTION convert_to_maths_value (val : GENERIC:g) : maths_value; LOCAL types : SET OF STRING := TYPEOF ( val ) ; ival : maths_integer ; rval : maths_real ; nval : maths_number ; tfval : maths_boolean ; lval : maths_logical ; sval : maths_string ; bval : maths_binary ; tval : maths_tuple := the_empty_maths_tuple ; mval : maths_value ; END_LOCAL ; IF ( schema_prefix + 'maths_value' ) IN types THEN RETURN ( val ) ; END_IF ; IF 'integer' IN types THEN ival := val ; RETURN ( ival ) ; END_IF ; IF 'real' IN types THEN rval := val ; RETURN ( rval ) ; END_IF ; IF 'number' IN types THEN nval := val ; RETURN ( nval ) ; END_IF ; IF 'boolean' IN types THEN tfval := val ; RETURN ( tfval ) ; END_IF ; IF 'logical' IN types THEN lval := val ; RETURN ( lval ) ; END_IF ; IF 'string' IN types THEN sval := val ; RETURN ( sval ) ; END_IF ; IF 'binary' IN types THEN bval := val ; RETURN ( bval ) ; END_IF ; IF 'list' IN types THEN REPEAT i := 1 TO SIZEOF ( val ) ; mval := convert_to_maths_value ( val [ i ] ) ; IF NOT EXISTS ( mval ) THEN RETURN ( ? ) ; END_IF ; INSERT ( tval , mval , i - 1 ) ; END_REPEAT ; RETURN ( tval ) ; END_IF ; RETURN ( ? ) ; END_FUNCTION; -- convert_to_maths_value |
|
public class FConvert_to_maths_value public static Value run(SdaiContext _context, Value val) |