aboutsummaryrefslogtreecommitdiff
path: root/latin.c
diff options
context:
space:
mode:
Diffstat (limited to 'latin.c')
-rw-r--r--latin.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/latin.c b/latin.c
index 63f96a1..03d78af 100644
--- a/latin.c
+++ b/latin.c
@@ -1236,6 +1236,24 @@ digit *latin_generate(int o, random_state *rs)
return sq;
}
+digit *latin_generate_rect(int w, int h, random_state *rs)
+{
+ int o = max(w, h), x, y;
+ digit *latin, *latin_rect;
+
+ latin = latin_generate(o, rs);
+ latin_rect = snewn(w*h, digit);
+
+ for (x = 0; x < w; x++) {
+ for (y = 0; y < h; y++) {
+ latin_rect[y*w + x] = latin[y*o + x];
+ }
+ }
+
+ sfree(latin);
+ return latin_rect;
+}
+
/* --------------------------------------------------------
* Checking.
*/