New checks are required in SequenceL and SequenceI
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
I'd like to submit a PR to fix two APIs, but the value of to-from that will not throw an exception may be uncertain. Would you like to give me some suggestions about the proper value of to-from? @msoeken