beremiz

use pregenerated CRC32 lookup tables for retain on Win32 and GNU/Linux

This code could be possible reused on low-end targets with limited RAM.

code to generate lookup table:
[---------------------------------------------------------------------]

/* CRC lookup table and initial state. */
uint32_t crc32_table[256];

/* Generate CRC32 lookup table. */
void GenerateCRC32Table(void)
{
unsigned int i, j;
/* Use CRC-32-IEEE 802.3 polynomial 0x04C11DB7 (bit reflected). */
uint32_t poly = 0xEDB88320;

for (i = 0; i <= 0xFF; i++)
{
uint32_t c = i;
for (j = 0 ; j < 8 ; j++)
c = (c & 1) ? (c >> 1 ) ^ poly : (c >> 1);
crc32_table[i] = c;
}
}

void main(void)
{
GenerateCRC32Table();
int j=0;
for(int i=0; i<256; i++) {
printf("0x%08X, ", crc32_table[i]);
if (++j >= 8) {
j = 0;
printf("\n");
}
}
}
[---------------------------------------------------------------------]
# SOME DESCRIPTIVE TITLE.
# Copyright (C) is 21st century inquisition
# This file is distributed under the same license as the Beremiz package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Beremiz 1.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-08 00:41\n"
"PO-Revision-Date: 2012-09-07 11:18+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
"X-Poedit-SourceCharset: utf-8\n"
# b82e66796943449ea9e01b02ddcd12ca
#: ../../overview.rst:2
msgid "Project overview"
msgstr "Vue d'ensemble sur le projet"
# 32289df91d6b4cdeb2c54604118bfc69
#: ../../overview.rst:4
msgid ""
"In order to target the widest possible range of programmable devices and "
"keep efficient, Beremiz use C code as an intermediate language."
msgstr ""
"Dans le but de viser la plus grande variété de dispositifs programmables "
"tout en restant efficace, Beremiz utilise le C comme langage intermédiaire."
# 6abccf881e4e478987befa2e9ce5a9ce
#: ../../overview.rst:6
msgid ""
"To be executed, C needs to be compiled. `GCC <http://gcc.gnu.org>`_ serve "
"that purpose perfectly."
msgstr ""
"Afin de pouvoir être exécuté le C doit être compilé. Le `GCC <http://gcc.gnu."
"org>`_ rempli cette fonction parfaitement. "
# 5057a1dfe63a475981bad9028c8e3be8
#: ../../overview.rst:8
msgid ""
"PLC program is expressed in languages defined in IEC-61131, including "
"graphical languages. Thanks to PLCopen TC2, those graphical languages have a "
"standardised representation, in XML."
msgstr ""
"Les programmes destinés au automates programmables sont exprimés dans les "
"langages définis par la norme IEC-61131, incluant des langages graphiques. "
"Thanks to PLCopen TC2, those graphical languages have a standardised "
"representation, in XML."
# a6318fafe7b948a2b59e153b23de51f2
#: ../../overview.rst:10
msgid "To be continued."
msgstr ""