text: const { FFT, DCT, DCT_8_fast, IDCT_8_fast, DCT_2D } = require("./fourier.js");
  
  //////////////////////////////////////////////////////////////////
  //  FFT
  //////////////////////////////////////////////////////////////////
  
  let fft = new FFT(8);
  let output = fft.fft([
      [1, 0, 1, 0, 1, 0, 1, 0], // Re
      [0, 0, 0, 0, 0, 0, 0, 0]  // Im
  ]);
  console.log(output);
  
  
  //////////////////////////////////////////////////////////////////
  //  DCT-1d
  //////////////////////////////////////////////////////////////////
  
  let dct = new DCT(8);
  let dct_out = dct.dct([1,2,3,4,5,6,7,8]);
  console.log(dct_out);
  let idct_out = dct.idct(dct_out);
  console.log(idct_out);
  
  
  //////////////////////////////////////////////////////////////////
  //  DCT_8_fast / IDCT_8_fast
  //////////////////////////////////////////////////////////////////
  
  let dct_8_out = DCT_8_fast([1,2,3,4,5,6,7,8]);
  console.log(dct_8_out);
  let idct_8_out = IDCT_8_fast(dct_8_out);
  console.log(idct_8_out);
  
  
  //////////////////////////////////////////////////////////////////
  //  DCT-2d
  //////////////////////////////////////////////////////////////////
  
  let dct_2d_input = [
      [1, 0, 1, 0, 1, 0, 1, 0],
      [0, 1, 0, 1, 0, 1, 0, 1],
      [1, 0, 1, 0, 1, 0, 1, 0],
      [0, 1, 0, 1, 0, 1, 0, 1],
      [1, 0, 1, 0, 1, 0, 1, 0],
      [0, 1, 0, 1, 0, 1, 0, 1],
      [1, 0, 1, 0, 1, 0, 1, 0],
      [0, 1, 0, 1, 0, 1, 0, 1]
  ];
  let dct_2d = new DCT_2D(8);
  let dct_2d_out = dct_2d.dct(dct_2d_input);
  console.log(dct_2d_out);
  let dct_2d_idct_out = dct_2d.idct(dct_2d_out);
  console.log(dct_2d_idct_out);
  