public void ValidateFloat()
        {
            try
            {
                int numLength = _unmanagedWriteBuffer.SizeInBytes;

                if (numLength <= 100)
                {
                    byte *tmpBuff = stackalloc byte[numLength];
                    _unmanagedWriteBuffer.CopyTo(tmpBuff);
                    _ctx.ParseDouble(tmpBuff, numLength);
                }
                else
                {
                    var memoryForNumber = _ctx.GetMemory(numLength);

                    try
                    {
                        _unmanagedWriteBuffer.CopyTo(memoryForNumber.Address);
                        _ctx.ParseDouble(memoryForNumber.Address, numLength);
                    }
                    finally
                    {
                        _ctx.ReturnMemory(memoryForNumber);
                    }
                }
            }
#pragma warning disable RDB0004 // Exception handler is empty or just logging
            catch (Exception e)
            {
                ThrowException("Could not parse double", e);
            }
#pragma warning restore RDB0004 // Exception handler is empty or just logging
        }
Example #2
0
        public void ValidateFloat()
        {
            try
            {
                int numLength = _unmanagedWriteBuffer.SizeInBytes;
                var tmpBuff   = stackalloc byte[numLength];
                _unmanagedWriteBuffer.CopyTo(tmpBuff);
                _ctx.ParseDouble(tmpBuff, numLength);
            }
#pragma warning disable RDB0004 // Exception handler is empty or just logging
            catch (Exception e)
            {
                ThrowException("Could not parse double", e);
            }
#pragma warning restore RDB0004 // Exception handler is empty or just logging
        }