#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define USE_GMP
#define USE_MPFR
#include "bnc.h"

#define DIM 5

int main(int argc, char *argv[])
{
    MPFMatrix dmat_ans, dmat1, dmat2;
    long int i, j;
	double start_wtime, end_wtime;

	set_bnc_default_prec_decimal(50);

    dmat_ans = init_mpfmatrix(DIM, DIM);
    dmat1 = init_mpfmatrix(DIM, DIM);
    dmat2 = init_mpfmatrix(DIM, DIM);
    for(i = 0; i < DIM; i++)
	{
        for(j = 0; j < DIM; j++)
        {
            set_mpfmatrix_ij_d(dmat1, i, j, (double)(i*DIM + j + 1));
            set_mpfmatrix_ij_d(dmat2, i, j, (double)(DIM * DIM - (i*DIM +j)));
        }
    }

    mul_mpfmatrix(dmat_ans, dmat1, dmat2);

    printf("BNC:\n"); print_mpfmatrix(dmat_ans);

    free_mpfmatrix(dmat_ans);
    free_mpfmatrix(dmat1);
    free_mpfmatrix(dmat2);

	return EXIT_SUCCESS;
}

