diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-12-18 08:38:37 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-12-18 08:38:37 -0800 |
commit | 756d5ee30683a13d93e0009b3c99c25d939a3ef8 (patch) | |
tree | 675ae52a45a5368f31a034a74598dd7de1279215 | |
parent | 0e696e94cdf30c3b5a14a36f2636d1cfe55d5d34 (diff) | |
download | txr-756d5ee30683a13d93e0009b3c99c25d939a3ef8.tar.gz txr-756d5ee30683a13d93e0009b3c99c25d939a3ef8.tar.bz2 txr-756d5ee30683a13d93e0009b3c99c25d939a3ef8.zip |
* lib.c (copy): Support copying random state objects
vi make_random_state.
* txr.1: Updated.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | lib.c | 5 | ||||
-rw-r--r-- | txr.1 | 28 |
3 files changed, 28 insertions, 12 deletions
@@ -1,3 +1,10 @@ +2014-12-18 Kaz Kylheku <kaz@kylheku.com> + + * lib.c (copy): Support copying random state objects + vi make_random_state. + + * txr.1: Updated. + 2014-12-17 Kaz Kylheku <kaz@kylheku.com> * rand.c (rand32): Bugfix: if the seed object is a random @@ -6093,9 +6093,12 @@ val copy(val seq) case COBJ: if (seq->co.cls == hash_s) return copy_hash(seq); + if (seq->co.cls == random_state_s) + return make_random_state(seq); /* fallthrough */ default: - type_mismatch(lit("copy: ~s is not a sequence"), seq, nao); + type_mismatch(lit("copy: cannot copy object of type ~s"), + typeof(seq), nao); } } @@ -17141,41 +17141,47 @@ is zero, otherwise .coNP Function @ copy .synb -.mets (copy << sequence ) +.mets (copy << object ) .syne .desc The .code copy -function duplicates a sequence. If -.meta sequence +function duplicates objects of various supported types: sequences, hashes and random states. If +.meta object is .codn nil , it returns .codn nil . If -.meta sequence +.meta object is a list, it returns .cblk -.meti (copy-list << sequence ). +.meti (copy-list << object ). .cble If -.meta sequence +.meta object is a string, it returns .cblk -.meti (copy-str << sequence ). +.meti (copy-str << object ). .cble If -.meta sequence +.meta object is a vector, it returns .cblk -.meti (copy-vec << sequence ). +.meti (copy-vec << object ). .cble If -.meta sequence +.meta object is a hash, it returns .cblk -.meti (copy-hash << sequence ). +.meti (copy-hash << object ) +.cble +Lastly, if +.meta object +is a random state, it returns +.cblk +.meti (make-random-state << object ). .cble Except in the case when |