diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-05-18 20:17:33 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-05-18 20:17:33 -0700 |
commit | a580c45de5a825165f46d95206d9ac3c2c52fcd6 (patch) | |
tree | 849e617a4ee8730435782c3ecc8a14f1fb2594a2 /eval.c | |
parent | aaac04d9e0cdcdd974c065bbff3d212a5eb5cd3a (diff) | |
download | txr-a580c45de5a825165f46d95206d9ac3c2c52fcd6.tar.gz txr-a580c45de5a825165f46d95206d9ac3c2c52fcd6.tar.bz2 txr-a580c45de5a825165f46d95206d9ac3c2c52fcd6.zip |
logcount: new function.
This is in ANSI CL; potentially useful and hard to
implement efficiently in user code.
* arith.c (logcount): New function.
* eval.c (eval_init): Register logcount intrinsic.
* lib.h (logcount): Declared.
* mpi/mi.c (s_mp_count_ones): New static function.
(mp_count_ones): New function.
* mpi/mpi.h (mp_count_ones): Declared.
* txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -6481,6 +6481,7 @@ void eval_init(void) reg_fun(intern(lit("bit"), user_package), func_n2(bit)); reg_fun(intern(lit("mask"), user_package), func_n0v(maskv)); reg_fun(intern(lit("width"), user_package), func_n1(width)); + reg_fun(intern(lit("logcount"), user_package), func_n1(logcount)); reg_fun(intern(lit("sort-group"), user_package), func_n3o(sort_group, 1)); reg_fun(intern(lit("unique"), user_package), func_n2ov(unique, 1)); |