random-state: more informative message
authorDaniel Kochmański <daniel@turtleware.eu>
Tue, 22 Sep 2015 14:32:50 +0000 (16:32 +0200)
committerDaniel Kochmański <daniel@turtleware.eu>
Tue, 22 Sep 2015 14:32:50 +0000 (16:32 +0200)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
src/c/num_rand.d

index 2fde51b..3a152dc 100644 (file)
@@ -220,13 +220,18 @@ ecl_make_random_state(cl_object rs)
         case t_fixnum:
                 /* XXX: If we'll decide to use 64-bit algorithm for
                    appropriate platforms then this will be replaced
-                   with ecl_to_ulong_long from number.d*/
+                   with ecl_to_ulong_long from number.d, which takes
+                   widest available type (32 or 64 bit)
+                   automatically. */
                 z->random.value = init_genrand
                         (ecl_to_uint32_t(rs));
                 break;
-        default:
+        default: {
+                const char *type
+                        = "(OR RANDOM-STATE (SIMPLE-VECTOR *) (INTEGER 0 *))";
                 FEwrong_type_only_arg(@[make-random-state], rs,
-                                      @[random-state]);
+                                      ecl_read_from_cstring(type));
+        }
         }
 
         return(z);