// Las dos funciones hash sobre unas pocas palabras, y la casilla que le toca a cada una.
#include <iomanip>
#include <iostream>
#include <string>
#include <vector>

#include "hash_functions.h"

int main() {
    const std::vector<std::string> words = {"amor", "roma", "mora", "ramo", "ad", "bc", "lima", "cusco"};
    std::cout << "palabra  suma  suma%8  fnv1a             fnv1a%8\n";
    for (const std::string& word : words) {
        std::cout << std::left << std::setw(9) << word << std::setw(6) << sum_hash(word)
                  << std::setw(8) << sum_hash(word) % 8 << std::hex << std::setfill('0')
                  << std::right << std::setw(16) << fnv1a(word) << std::dec << std::setfill(' ')
                  << "  " << fnv1a(word) % 8 << "\n";
    }
}
