/*Source Code From Laure Gonnord - TP11 2011 PS*/

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>

#define N 2

void print_vec(float b[N]){
  int i;
  for (i=0;i<N;++i){
    printf("%lf\n",b[i]);
  }

}

void print_mat (float M[N][N]){
  int i,j;
  for (i=0;i<N;++i){
    for (j=0;j<N;++j)
      printf("%lf ",M[i][j]);
    printf("\n");
  }
}

void gauss_pivot_simple(float A[N][N], float b[N]){
  //todo
}


//A is supposed to be (up)triangular
void solve_triangular_system(float A[N][N], float b[N],float result[N]){
  //todo
}


int main(){
  float mat[N][N]={{2,3},{5,2}};
  float b[N]={3,10};
  float res[N];

  printf("*** Before gauss***\n A=\n");
  print_mat(mat);
  printf("and b=\n");
  print_vec(b);

  gauss_pivot_simple(mat,b);
  solve_triangular_system(mat,b,res);

  printf("*** after gauss***\n A=\n");
  print_mat(mat);
  printf("and b=\n");
  print_vec(b);

  printf("the result is : \n");
  print_vec(res);

  return 0;
}
