+/* $NetBSD: roll.c,v 1.7 1999/08/21 10:40:04 simonb Exp $ */
+
/*
- * Copyright (c) 1980 Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1980, 1993
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
-/*static char sccsid[] = "from: @(#)roll.c 5.6 (Berkeley) 9/29/92";*/
-static char rcsid[] = "$Id: roll.c,v 1.4 1993/08/07 08:28:06 mycroft Exp $";
+#if 0
+static char sccsid[] = "@(#)roll.c 8.1 (Berkeley) 5/31/93";
+#else
+__RCSID("$NetBSD: roll.c,v 1.7 1999/08/21 10:40:04 simonb Exp $");
+#endif
#endif /* not lint */
+#include "monop.ext"
#include <stdlib.h>
/*
* This routine rolls ndie nside-sided dice.
*/
-# define reg register
+#define reg register
-# if defined(pdp11)
-# define MAXRAND 32767L
+#if defined(pdp11)
+#define MAXRAND 32767L
+int
roll(ndie, nsides)
-int ndie, nsides; {
-
- reg long tot;
- reg unsigned n, r;
+ int ndie, nsides;
+{
+ long tot;
+ unsigned n, r;
tot = 0;
n = ndie;
return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie;
}
-# else
+#else
+int
roll(ndie, nsides)
-reg int ndie, nsides; {
-
- reg int tot, r;
- reg double num_sides;
+ int ndie, nsides;
+{
+ int tot, r;
+ double num_sides;
num_sides = nsides;
tot = 0;
tot += (r = rand()) * (num_sides / RAND_MAX) + 1;
return tot;
}
-# endif
+#endif