This repository was archived by the owner on Jan 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 179
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
Copy link
Copy link
Open
Labels
Kind-BugSomething isn't workingSomething isn't working
Description
Describe the bug
There was something wrong when I tried to print the result of DoubleAsFixedPoint. After debugging, I found two errors in its source code.
- When
integerBitsorfractionalBitsis negative, it undergoes no validation, and logically, it will execute successfully if the sum ofintegerBitsandfractionalBitsis greater than0. 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
let intConstant = Floor(rescaledConstant); rescaledConstantis too big to calculate.
To Reproduce
namespace Test {
open Microsoft.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;
mutable fractionalBits = 64;
mutable value = 9.1;
mutable APIResult = DoubleAsFixedPoint(integerBits, fractionalBits, value);
Message($"{APIResult}");
}
}Expected behavior
-
Add fact statements to the
FixedPointAsBoolArrayfunction to promptintegerBitsandfractionalBitsshould be positive. -
The overflow problem with the
Flooris traced to theTruncatefunction.
Actual behavior
System.OverflowException: “Arithmetic operation resulted in an overflow.”
System information
- OS: [Windows, Ubuntu]
- .NET Core Version: [6.0.300]
- QDK "Microsoft.Quantum.Sdk/0.28.263081"
Additional context
We can submit a PR to fix this bug QuantumLibraries.
AidPaike
Metadata
Metadata
Assignees
Labels
Kind-BugSomething isn't workingSomething isn't working
