Programowanie współbieżne - Lista 6

Zadanie 1

Zrównoleglić program fnpeaks.c przy pomocy Open MP. Uwaga: zadanie 1 z listy 2 polegało na zrównolegleniu tego programu z użyciem semaforów. Tym razem należy użyć Open MP (oczywiście można wykorzystać większość zmian zrobionych w ramach zadania z listy 2).

Zadanie 2

Wielomiany reprezentujemy w postaci listy par (współczynnik, wykładnik). Dokładniej odpowiednie wartości przechowujemy w tablicy typu int, gdzie parzyste pozycje to współczynniki, zaś nieparzyste to wykładniki. Mnożenie współczynników realizujemy modulo liczba pierwsza (która jest częścią danych) -- zakładamy że liczba mieści się w zakresie int-a. Zakładamy że wykładniki są uporządkowane (np. malejąco). Zaimplementować procedurę równologłą mnożenia tak zapisanych wielomianów. Kłopotliwą częścią problemu jest to że rozmiar wyniku nie jest z góry znany. Ponadto trzeba we właściwym miejscu uwzględniać produkty wielomianów. Prawdopodobnie naprostszym rozwiązaniem jest użycie tablic mieszających (po jednej dla wątku) do zbierania wyników częściowych. Tablice te powiększa się w trakcie pracy o ile zachodzi taka potrzeba. Na koniec łączy się i sortuje wynik.