Universidad de Costa Rica. Escuela de Computación. CI-0117 Programación Paralela y Concurrente
2019a. Grupo 03. Proyecto 02 [17-Jul-2018]. Profesor Jeisson Hidalgo-Céspedes.


Correlación de Pearson

Crear un comando de Unix que calcule la correlación de Pearson entre columnas de una hoja de cálculo expresada en un archivo de valores separados por comas (CSV). El programa debe utilizar concurrencia compartida (ej.: OpenMP) y distribuida (MPI). La siguiente es la interfaz acordada con el cliente:

Usage: corr input.csv [options] [columns...]
Filters columns in input.csv that correlate
Columns are regular expressions of selected columns to filter

Options:
	-m [FILE]   Print correlation matrix to FILE, default stderr
	-o FILE     Output file, default stdout
	-t          Transponse input matrix
	-r x:y      Filter all correlations in range -1 <= x <= y <= 1, default [.75, 1]
	-cc x:y     Filter positive correlations in range 0 < x < y <= 1
	-ac x:y     Filter negative correlations in range -1 >= x > y > 0

Non-numeric columns are always printed to the output

Proyecto de ejemplo

El siguiente código se construyó en clase que sirve como punto de partida para el proyecto. Esta versión simplemente busca expresiones regulares en las líneas que se den en la entrada estándar.

Table 1. Archivos del proyecto de ejemplo
Archivo Descripción Cambios

README.md

README vacío. Recuerde incluir su análisis en su proyecto.

Makefile

Versión 1. Permite compilar el proyecto, correr casos de prueba, instalar el ejecutable, y otras operaciones.

main.c

Instancia el registro controlador e inicia la ejecución del programa.

corr.h

Interfaz del controlador: el registro y declaraciones públicas.

corr.c

Implementación del controlador.

args.h

Interfaz del "objeto" modelo que analiza argumentos

args.c

Implementación del analizador de argumentos