diff --git a/algorithms/algebraic/discrete_log/discrete_log.qmod b/algorithms/algebraic/discrete_log/discrete_log.qmod index 18da9d2b..92952468 100644 --- a/algorithms/algebraic/discrete_log/discrete_log.qmod +++ b/algorithms/algebraic/discrete_log/discrete_log.qmod @@ -1,6 +1,6 @@ qfunc discrete_log_oracle(g_generator: int, x_element: int, N_modulus: int, x1: qbit[], x2: qbit[], output func_res: qbit[]) { allocate(ceiling(log(N_modulus, 2)), func_res); - inplace_prepare_int(1, func_res); + func_res ^= 1; modular_exp(N_modulus, x_element, func_res, x1); modular_exp(N_modulus, g_generator, func_res, x2); } diff --git a/algorithms/algebraic/discrete_log/discrete_log_large.qmod b/algorithms/algebraic/discrete_log/discrete_log_large.qmod index 00149cc4..9bf968f3 100644 --- a/algorithms/algebraic/discrete_log/discrete_log_large.qmod +++ b/algorithms/algebraic/discrete_log/discrete_log_large.qmod @@ -1,6 +1,6 @@ qfunc discrete_log_oracle(g_generator: int, x_element: int, N_modulus: int, x1: qbit[], x2: qbit[], output func_res: qbit[]) { allocate(ceiling(log(N_modulus, 2)), func_res); - inplace_prepare_int(1, func_res); + func_res ^= 1; modular_exp(N_modulus, x_element, func_res, x1); modular_exp(N_modulus, g_generator, func_res, x2); } diff --git a/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod b/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod index 56d957a9..2b7f9ccf 100644 --- a/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod +++ b/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod @@ -62,7 +62,7 @@ qfunc main(output b: qnum, output ctrl: qbit[2], output aux: qbit) { allocate(5, b); allocate(2, ctrl); allocate(1, aux); - inplace_prepare_int(8, b); + b ^= 8; X(ctrl[0]); X(ctrl[1]); within { diff --git a/algorithms/algebraic/shor/shor_modular_exponentiation.qmod b/algorithms/algebraic/shor/shor_modular_exponentiation.qmod index 842fc32a..e0bc1610 100644 --- a/algorithms/algebraic/shor/shor_modular_exponentiation.qmod +++ b/algorithms/algebraic/shor/shor_modular_exponentiation.qmod @@ -98,7 +98,7 @@ qfunc main(output x: qbit[], output power: qbit[6], output aux: qbit) { allocate(6, power); allocate(1, aux); hadamard_transform(power); - inplace_prepare_int(1, x); + x ^= 1; mod_exp_func(6, 5, x, power, aux); invert { qft(power); diff --git a/algorithms/differential_equations/time_marching/time_marching.qmod b/algorithms/differential_equations/time_marching/time_marching.qmod index a8ccaf87..9e04d1ab 100644 --- a/algorithms/differential_equations/time_marching/time_marching.qmod +++ b/algorithms/differential_equations/time_marching/time_marching.qmod @@ -93,7 +93,7 @@ qfunc long_time_integrator_step(a: real, b: real, qbe_full: FullBE) { } qfunc long_time_integrator(T: real, num_slices: int, qbe_full: FullBE) { - inplace_prepare_int(num_slices, qbe_full.counter); + qbe_full.counter ^= num_slices; repeat (i: num_slices) { long_time_integrator_step((i * T) / num_slices, ((i + 1) * T) / num_slices, qbe_full); } diff --git a/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod b/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod index 40bf7595..18fe46e9 100644 --- a/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod +++ b/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod @@ -1,6 +1,6 @@ qfunc main(output a: qnum, output b: qnum, output c: qnum, output res: qnum) { - prepare_int(2, a); - prepare_int(1, b); - prepare_int(5, c); + a = 2; + b = 1; + c = 5; res = ((((((a + b) + c) & 15) % 8) ^ (3 & a)) ^ 10) == 4; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod index d0ac8eaa..c76a6ecb 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod @@ -1,5 +1,5 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { - prepare_int(4, a); - prepare_int(5, b); + a = 4; + b = 5; res = a & b; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod index 602414a2..3211930e 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod @@ -1,4 +1,4 @@ qfunc main(output a: qnum, output res: qnum) { - prepare_int(5, a); + a = 5; res = 3 & a; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod index 0f23f07f..f3b4dbdc 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod @@ -1,4 +1,4 @@ qfunc main(output x: qnum, output y: qnum) { - prepare_int(6, x); + x = 6; y = ~x; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod index 5615c17e..9faacdc8 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod @@ -1,7 +1,7 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { allocate_num(5, True, 0, a); allocate_num(3, False, 0, b); - inplace_prepare_int(4, a); - inplace_prepare_int(5, b); + a ^= 4; + b ^= 5; res = a | b; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod index 75758c2d..4f8cd814 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod @@ -1,4 +1,4 @@ qfunc main(output a: qnum, output res: qnum) { - prepare_int(4, a); + a = 4; res = 3 | a; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod index dad4a89e..f2c7bc04 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod @@ -1,7 +1,7 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { allocate_num(5, True, 0, a); allocate_num(3, False, 0, b); - inplace_prepare_int(4, a); - inplace_prepare_int(5, b); + a ^= 4; + b ^= 5; res = a ^ b; } diff --git a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod index bd1f9da5..6893bb96 100644 --- a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod +++ b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod @@ -1,4 +1,4 @@ qfunc main(output a: qnum, output res: qnum) { - prepare_int(4, a); + a = 4; res = 3 ^ a; } diff --git a/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod b/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod index 100b8bf7..d75c7c81 100644 --- a/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod @@ -1,5 +1,5 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { - prepare_int(4, a); + a = 4; allocate(3, b); hadamard_transform(b); res = min(a, b); diff --git a/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod b/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod index 9721197a..878bfca9 100644 --- a/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod +++ b/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod @@ -1,6 +1,6 @@ qfunc main(output power: qnum, output x: qnum) { allocate(ceiling(log(5, 2)), x); - inplace_prepare_int(1, x); + x ^= 1; allocate(3, power); hadamard_transform(power); modular_exp(5, 4, x, power); diff --git a/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod b/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod index 711783d3..5b805a72 100644 --- a/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod +++ b/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod @@ -1,7 +1,7 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { allocate(5, a); allocate(5, b); - inplace_prepare_int(4, a); - inplace_prepare_int(7, b); + a ^= 4; + b ^= 7; res = (a + b) % 4; } diff --git a/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod b/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod index 4eaef385..2282dd8e 100644 --- a/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod @@ -1,5 +1,5 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { - prepare_int(4, a); - prepare_int(5, b); + a = 4; + b = 5; res = a * b; } diff --git a/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod b/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod index c8a4eb27..5ba63d99 100644 --- a/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod +++ b/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod @@ -1,5 +1,5 @@ qfunc main(output a: qnum, output b: qnum, output res: qnum) { - prepare_int(4, a); - prepare_int(5, b); + a = 4; + b = 5; res = a - b; } diff --git a/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod b/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod index 9f086bfe..ba263fb4 100644 --- a/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod +++ b/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod @@ -1,4 +1,4 @@ qfunc main(output a: qnum, output res: qnum) { - prepare_int(4, a); + a = 4; res = a - 3.5; } diff --git a/functions/open_library_definitions/prepare_bell_state.qmod b/functions/open_library_definitions/prepare_bell_state.qmod index db01774a..8bec641a 100644 --- a/functions/open_library_definitions/prepare_bell_state.qmod +++ b/functions/open_library_definitions/prepare_bell_state.qmod @@ -1,6 +1,6 @@ qfunc prepare_bell_state(state_num: int, output q: qbit[2]) { allocate(2, q); - inplace_prepare_int(state_num, q); + q ^= state_num; H(q[0]); CX(q[0], q[1]); } diff --git a/functions/open_library_definitions/prepare_int.qmod b/functions/open_library_definitions/prepare_int.qmod index d17fd2b1..821bc06e 100644 --- a/functions/open_library_definitions/prepare_int.qmod +++ b/functions/open_library_definitions/prepare_int.qmod @@ -1,4 +1,4 @@ qfunc prepare_int(value: int, output out: qnum<floor(log(value, 2)) + 1>) { allocate(floor(log(value, 2)) + 1, out); - inplace_prepare_int(value, out); + out ^= value; } diff --git a/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod b/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod index e9726107..ef43de82 100644 --- a/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod +++ b/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod @@ -1,7 +1,7 @@ qfunc main(output state: qbit[], output phase: qnum) { allocate(2, state); allocate_num(2, False, 2, phase); - inplace_prepare_int(3, state); + state ^= 3; qpe(lambda() { CRZ(pi, state[0], state[1]); }, phase); diff --git a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod index 3629e765..d2173896 100644 --- a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod +++ b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod @@ -1,7 +1,7 @@ qfunc main(output z: qnum) { x: qnum; y: qnum; - prepare_int(2, x); - prepare_int(1, y); + x = 2; + y = 1; z = (((2 * x) + y) + max(3 * y, 2)) > 4; } diff --git a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod index 3629e765..d2173896 100644 --- a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod +++ b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod @@ -1,7 +1,7 @@ qfunc main(output z: qnum) { x: qnum; y: qnum; - prepare_int(2, x); - prepare_int(1, y); + x = 2; + y = 1; z = (((2 * x) + y) + max(3 * y, 2)) > 4; }