You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Repository navigation
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Questions about the DoubleAsFixedPoint function running out of memory #669
There was something wrong when I tried to print the result of DoubleAsFixedPoint. After debugging, I found two errors in its source code.
When integerBits or fractionalBits is negative, it undergoes no validation, and logically, it will execute successfully if the sum of integerBits and fractionalBitsis greater than 0. However, negative numbers are meaningless here. For example, the official documentation's description of integerBits states: "Assumed number of integer bits (including the sign bit)."
Another error is running the following program will lead to an overflow. The content of the error is in this line the related line
, the value of rescaledConstant is too big to calculate.
To Reproduce
namespaceTest{openMicrosoft.Quantum.Logical;
open Microsoft.Quantum.Diagnostics;
open Microsoft.Quantum.Oracles;
open Microsoft.Quantum.Convert;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Math;
open Microsoft.Quantum.Arithmetic;
open Microsoft.Quantum.Canon;
open Microsoft.Quantum.Intrinsic;
@EntryPoint()
operation main(): Unit {
mutable integerBits=4;mutablefractionalBits=64;mutablevalue=9.1;mutableAPIResult=DoubleAsFixedPoint(integerBits,fractionalBits,value);Message($"{APIResult}");}}
Expected behavior
Add fact statements to the FixedPointAsBoolArray function to prompt integerBits and fractionalBits should be positive.
The overflow problem with the Floor is traced to the Truncate function.
Actual behavior
System.OverflowException: “Arithmetic operation resulted in an overflow.”
Activity