diff options
Diffstat (limited to 'pseudocode-lib')
| -rw-r--r-- | pseudocode-lib/string.cps | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/pseudocode-lib/string.cps b/pseudocode-lib/string.cps index 135f5d7..96de023 100644 --- a/pseudocode-lib/string.cps +++ b/pseudocode-lib/string.cps @@ -68,20 +68,37 @@ OVERLOAD FUNCTION OPERATOR&(A : STRING, B : STRING) RETURNS STRING CALL _string_impl_concat(Result._HANDLE, A._HANDLE, B._HANDLE) RETURN Result ENDFUNCTION -OVERLOAD FUNCTION NUM_TO_STR(Number : INTEGER) RETURNS STRING +OVERLOAD FUNCTION NUM_TO_STR(Number : INTEGER) RETURNS DEFAULT STRING DECLARE Result : STRING CALL _string_impl_from_int(Result._HANDLE, (_STRING_C_INTEGER)Number) RETURN Result ENDFUNCTION -OVERLOAD FUNCTION NUM_TO_STR(Number : REAL) RETURNS STRING +OVERLOAD FUNCTION NUM_TO_STR(Number : REAL) RETURNS DEFAULT STRING DECLARE Result : STRING CALL _string_impl_from_real(Result._HANDLE, (C_DOUBLE)Number) RETURN Result ENDFUNCTION -OVERLOAD FUNCTION STR_TO_NUM(S : STRING) RETURNS REAL +OVERLOAD FUNCTION NUM_TO_STR(Number : INTEGER) RETURNS CHAR + DECLARE Text : STRING + Text <- NUM_TO_STR(Number) + RETURN Text +ENDFUNCTION +OVERLOAD FUNCTION NUM_TO_STR(Number : REAL) RETURNS CHAR + DECLARE Text : STRING + Text <- NUM_TO_STR(Number) + RETURN Text +ENDFUNCTION +OVERLOAD FUNCTION STR_TO_NUM(S : STRING) RETURNS DEFAULT REAL RETURN (REAL)_string_impl_to_real(S._HANDLE) ENDFUNCTION -OVERLOAD FUNCTION STR_TO_NUM(C : CHAR) RETURNS REAL +OVERLOAD FUNCTION STR_TO_NUM(S : STRING) RETURNS INTEGER + RETURN INT((REAL)_string_impl_to_real(S._HANDLE)) +ENDFUNCTION +OVERLOAD FUNCTION STR_TO_NUM(C : CHAR) RETURNS DEFAULT REAL + DECLARE S : STRING(1, (C_CHAR)C) + RETURN STR_TO_NUM(S) +ENDFUNCTION +OVERLOAD FUNCTION STR_TO_NUM(C : CHAR) RETURNS INTEGER DECLARE S : STRING(1, (C_CHAR)C) RETURN STR_TO_NUM(S) ENDFUNCTION |
