4 /* Veinte anaqueles, a cinco largos anaqueles por lado, cubren todos los
7 #define SIDES_PER_CELL 4
8 #define SHELVES_PER_SIDE 5
9 #define SHELVES_PER_CELL (SHELVES_PER_SIDE*SIDES_PER_CELL)
11 /* cada anaquel encierra treinta y dos libros de formato uniforme */
12 #define BOOKS_PER_SHELF 32
13 /* cada libro es de cuatrocientas diez páginas */
14 #define PAGES_PER_BOOK 410
15 /* cada página, de cuarenta renglones */
16 #define LINES_PER_PAGE 40
17 /* cada renglón, de unas ochenta letras */
18 #define CHARS_PER_LINE 80
20 /* También hay letras en el dorso de cada libro */
21 /* FIXME: the amount of characters on the spine is not specified in the
22 * text. If we assume a square character matrix, then the maximum number
23 * of characters on the spine is possibly about the same as the number
24 * of lines per page, but that's a rather wild assumption (it's likely
25 * to be about twice as much)
28 #define CHARS_PER_SPINE LINES_PER_PAGE
31 #define CHARS_PER_PAGE (CHARS_PER_LINE*LINES_PER_PAGE)
32 #define CHARS_PER_BOOK (CHARS_PER_PAGE*PAGES_PER_BOOK)
34 /* el espacio, el punto, la coma, las veintidós letras del alfabeto */
36 /* to get an alphabet with 22 symbols, we use the letters of the latin
37 * alphabet which are also preset in the Esperanto alphabet (i.e. the
38 * Esperanto letters without diacritics). If this makes Zamenhof or
39 * Borges and his Kabalistic reference spin in his grave, we can use
40 * them to produce energy.
45 #if __OPENCL_VERSION__
50 /* 0123456789012345678901234 */
51 char alphabet[] = " .,ABCDEFGHIJKLMNOPRSTUVZ";