cli.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // #include "tangle.h"
  2. // #include <stdio.h>
  3. // // #include "mpi.h"
  4. // int main()
  5. // {
  6. // // MPI_Init(NULL, NULL);
  7. // printf("Welcome\n");
  8. // count_to(10);
  9. // // MPI_Finalize();
  10. // return 0;
  11. // }
  12. // // #include <stdio.h>
  13. // // #include <omp.h>
  14. // // int main()
  15. // // {
  16. // // #pragma omp parallel num_threads(3)
  17. // // {
  18. // // int id = omp_get_thread_num();
  19. // // int data = id;
  20. // // int total = omp_get_num_threads();
  21. // // printf("Greetings from process %d out of %d with Data %d\n", id, total, data);
  22. // // }
  23. // // printf("parallel for ends.\n");
  24. // // return 0;
  25. // // }
  26. #include <stdio.h>
  27. #include <stdlib.h>
  28. #include "tangle.h"
  29. int main(int argc, char *argv[])
  30. {
  31. TangleEnvironment env = initialize_environment();
  32. if (env.rank == 0 && argc <= 1)
  33. {
  34. printf("Please enter the number of qubits.\n");
  35. exit(1);
  36. }
  37. int num_qubits = atoi(argv[1]);
  38. TangleState state = create_state(num_qubits, env);
  39. // Apply a hadamard gate to each qubit
  40. // for (int i = 0; i < num_qubits; i++)
  41. // {
  42. // H(state, i);
  43. // }
  44. H(state, 0);
  45. // Print the initial amplitude
  46. if (env.rank == 0)
  47. {
  48. cfloat amp = state.amps[0];
  49. printf("|0> = %f + i%f\n", creal(amp), cimag(amp));
  50. }
  51. // Finish the computation
  52. destroy_environment(env);
  53. return 0;
  54. }