From 27a52ef56ad406e65a90ea50e27582f1bd2a7d2d Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Tue, 22 Dec 2020 23:55:40 +0100 Subject: [PATCH] reflect improved determinism thanks to the improvements by @notoria --- src/lib/charsio.pl | 3 +-- src/lib/crypto.pl | 10 ++++------ src/lib/files.pl | 9 +++------ src/lib/format.pl | 3 +-- src/lib/os.pl | 3 +-- src/lib/time.pl | 14 ++++++-------- 6 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/lib/charsio.pl b/src/lib/charsio.pl index 71223884..05681bc3 100644 --- a/src/lib/charsio.pl +++ b/src/lib/charsio.pl @@ -212,8 +212,7 @@ read_line_to_chars(Stream, Cs0, Cs) :- Example: ?- chars_base64("hello", Bs, []). - Bs = "aGVsbG8=" - ; false. + Bs = "aGVsbG8=". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ chars_base64(Cs, Bs, Options) :- diff --git a/src/lib/crypto.pl b/src/lib/crypto.pl index e88113c7..0e31f3de 100644 --- a/src/lib/crypto.pl +++ b/src/lib/crypto.pl @@ -58,8 +58,7 @@ Example: ?- hex_bytes("501ACE", Bs). - Bs = [80,26,206] - ; false. + Bs = [80,26,206]. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ @@ -146,7 +145,7 @@ must_be_byte_chars(Chars, Context) :- ?- crypto_n_random_bytes(32, Bs), bytes_integer(Bs, I). Bs = [146,166,162,210,242,7,25,132,64,94|...], - I = 337420085690608915485...(56 digits omitted) + I = 337420085690608915485...(56 digits omitted). The above relation also works in the other direction, letting you translate an integer _to_ a list of bytes. In addition, you can @@ -155,7 +154,7 @@ must_be_byte_chars(Chars, Context) :- ?- crypto_n_random_bytes(12, Bs), hex_bytes(Hex, Bs). - Bs = [34,25,50,72,58,63,50,172,32,46|...], Hex = "221932483a3f32ac202 ..." + Bs = [34,25,50,72,58,63,50,172,32,46|...], Hex = "221932483a3f32ac202 ...". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ @@ -190,8 +189,7 @@ crypto_random_byte(B) :- '$crypto_random_byte'(B). Example: ?- crypto_data_hash("abc", Hs, [algorithm(sha256)]). - Hs = "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" - ; false. + Hs = "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/lib/files.pl b/src/lib/files.pl index 512c757c..e88f53a2 100644 --- a/src/lib/files.pl +++ b/src/lib/files.pl @@ -166,19 +166,16 @@ file_time_(File, Which, T) :- Examples: ?- path_segments("/hello/there", Segments). - Segments = [[],"hello","there"] - ; false. + Segments = [[],"hello","there"]. ?- path_segments(Path, ["hello","there"]). - Path = "hello/there" - ; false. + Path = "hello/there". To obtain the platform-specific directory separator, you can use: ?- path_segments(Separator, ["",""]). - Separator = "/" - ; false. + Separator = "/". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ path_segments(Path, Segments) :- diff --git a/src/lib/format.pl b/src/lib/format.pl index f576a0dc..540bdb9f 100644 --- a/src/lib/format.pl +++ b/src/lib/format.pl @@ -64,8 +64,7 @@ Example: ?- phrase(format_("~s~n~`.t~w!~12|", ["hello",there]), Cs). - %@ Cs = "hello\n......there!" - %@ ; false. + %@ Cs = "hello\n......there!". I place this code in the public domain. Use it in any way you want. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ diff --git a/src/lib/os.pl b/src/lib/os.pl index 35bfc789..b5d9608a 100644 --- a/src/lib/os.pl +++ b/src/lib/os.pl @@ -7,8 +7,7 @@ Example: ?- getenv("LANG", Ls). - Ls = "en_US.UTF-8" - ; false. + Ls = "en_US.UTF-8". Public domain code. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ diff --git a/src/lib/time.pl b/src/lib/time.pl index d6b0ebae..30ec0f45 100644 --- a/src/lib/time.pl +++ b/src/lib/time.pl @@ -34,8 +34,7 @@ Example: ?- current_time(T), phrase(format_time("%d.%m.%Y (%H:%M:%S)", T), Cs). - T = [...], Cs = "11.06.2020 (00:24:32)" - ; false. + T = [...], Cs = "11.06.2020 (00:24:32)". sleep(S) sleeps for S seconds (a floating point number). @@ -107,15 +106,14 @@ report_time(T0) :- false. :- time(use_module(library(clpz))). - % CPU time: 2.762 seconds - true -; false. + % CPU time: 0.000 seconds + % CPU time: 0.001 seconds + true. :- time(use_module(library(lists))). % CPU time: 0.000 seconds - true -; % CPU time: 0.001 seconds - false. + % CPU time: 0.001 seconds + true. ?- time(member(X, [a,b,c])). % CPU time: 0.000 seconds -- 2.54.0