aboutsummaryrefslogtreecommitdiff
path: root/pseudocode-lib
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-28 13:38:00 +0000
committer_ov4 <ov4@ov4.org>2026-10-28 13:38:00 +0000
commit96fd8bab8630f2abcc74cfc69fdbccc530579b9c (patch)
tree7b9a0c661ccc2657e397c041c937f337357ddd59 /pseudocode-lib
parentb28384fed1ce638e8b00b72dba974e9fd7e55eb4 (diff)
feat(library): add contextual conversion return overloads
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'pseudocode-lib')
-rw-r--r--pseudocode-lib/string.cps25
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