Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

New checks are required in SequenceL and SequenceI #662

Open
@weucode

Description

@weucode

Describe the bug
The checks in SequenceL and SequenceI are not complete now, the following situations will still throw unhandled exceptions. It suggested that update the boundary value for to-from.

To Reproduce
Testcase1

mutable result = SequenceL(0L, 9223372036854775806L);

Result1

Unhandled exception. Microsoft.Quantum.Simulation.Core.ExecutionFailException: `Length(bits)` must be less than 64, but was 64.

Testcas2( one of the three statements will throw the exception in Result2)

mutable result = SequenceL(0L, 2147483647L); // or
mutable result = SequenceI(0, 9223372036854775806); //or
mutable result = SequenceI(0, 2147483647);

Result2

Unhandled exception. System.OverflowException: Value was either too large or too small for an Int32.

Testcase3( one of the two statements will throw the exception in Result3)

mutable result = SequenceL(0L, 2147483646L); // or
mutable result = SequenceI(0, 2147483646);

Result3

Unhandled exception. System.OutOfMemoryException: Array dimensions exceeded supported range.

System information
operating system : Windows10 & Ubuntu18.04
dotnet version : 7.0.100
QDK : 0.27.258160

Metadata

Metadata

Assignees

No one assigned

    Labels

    Kind-BugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions