Symbian3/SDK/Source/GUID-076CA26D-BA1F-534E-9AE0-3A673190179D.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 7 51a74ef9ed63
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-076CA26D-BA1F-534E-9AE0-3A673190179D"><title>Category: MATHX</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>These panics represent errors raised by member functions of the <xref href="GUID-4AF7C5C2-7EB8-39A5-B3E6-75268DB11BD6.dita"><apiname>TRealX</apiname></xref> class. Typically, they are the result of illegal maths operations, such as dividing by zero, or operations which result in overflow.</p> <p>The thread causing the panic is terminated.</p> <table id="GUID-3EB9235C-4243-5C6A-809D-1FD33024C3FF"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p><codeph>0</codeph> </p> </entry> <entry><p>This panic is raised by <codeph>operator/=</codeph> of a <xref href="GUID-4AF7C5C2-7EB8-39A5-B3E6-75268DB11BD6.dita"><apiname>TRealX</apiname></xref>, when the divisor is zero</p> </entry> </row> <row><entry><p><codeph>1</codeph> </p> </entry> <entry><p>This panic is raised by <codeph>operator+=</codeph>, <codeph>operator-=</codeph> and <codeph>operator*=</codeph> of a <xref href="GUID-4AF7C5C2-7EB8-39A5-B3E6-75268DB11BD6.dita"><apiname>TRealX</apiname></xref>, when the the result of the operation is an overflow.</p> </entry> </row> <row><entry><p><codeph>2</codeph> </p> </entry> <entry><p>This panic is raised by <codeph>operator+=</codeph>, <codeph>operator-=</codeph> and <codeph>operator*=</codeph> of a <xref href="GUID-4AF7C5C2-7EB8-39A5-B3E6-75268DB11BD6.dita"><apiname>TRealX</apiname></xref>, when the the result of the operation is an underflow.</p> </entry> </row> <row><entry><p><codeph>3</codeph> </p> </entry> <entry><p>This panic is raised by <codeph>operator+=</codeph>, <codeph>operator-=</codeph> and <codeph>operator*=</codeph> of a <xref href="GUID-4AF7C5C2-7EB8-39A5-B3E6-75268DB11BD6.dita"><apiname>TRealX</apiname></xref>, when the the operands are invalid.</p> <p>For <codeph>operator+=</codeph>, the panic is raised if one of these conditions applies:</p> <ul><li id="GUID-19615265-CFD6-5C79-8154-DA0C3972E2C0"><p>the target operand is not a number </p> </li> <li id="GUID-DC4BE6EB-75DA-512F-B1CB-7CDA93C2202B"><p>the source operand is not a number</p> </li> <li id="GUID-EB7E3E39-A87F-5264-9142-1CEAFCDF9220"><p>the target and the source operands are infinite and have different signs.</p> </li> </ul> <p> For <codeph>operator-=</codeph>, the panic is raised if one of these conditions applies:</p> <ul><li id="GUID-F9BD5C5D-00B2-5CB8-83A8-CB69D1F03D65"><p>the target operand is not a number </p> </li> <li id="GUID-764B108B-431A-5DA4-A15E-2385DC843775"><p>the source operand is not a number</p> </li> <li id="GUID-B5A85E11-5164-5BE5-9F72-20BCE22B46E1"><p>the target and the source operands are infinite and have different signs</p> </li> </ul> <p>For <codeph>operator*=</codeph>, the panic is raised if one of these conditions applies:</p> <ul><li id="GUID-C9D9C50A-548B-56E9-AB26-24CCDE0E8671"><p>the target operand is not a number </p> </li> <li id="GUID-EEC63F73-B8C2-518F-9F3E-4D9DBC11C7ED"><p>the source operand is not a number </p> </li> <li id="GUID-B2758E62-F0B3-58D5-AFD4-3F23B77068C6"><p>the target operand is infinite and the source operand is zero </p> </li> <li id="GUID-6413BF0F-19F0-51F5-AF48-74002C3B8CC8"><p>the target operand is zero and the source operand is infinite.</p> </li> </ul> <p>For <codeph>operator/=</codeph>, the panic is raised if one of these conditions applies:</p> <ul><li id="GUID-E396C1E7-BCB8-5AFE-A1F0-FFA63BDE54A7"><p>the target operand is not a number</p> </li> <li id="GUID-937CE508-FF2D-5BDF-B318-91E7697A1A30"><p>the source operand is not a number</p> </li> <li id="GUID-E638AF24-A685-50D0-9824-7C5BEBE62890"><p>the target operand and the source operand are both infinite</p> </li> <li id="GUID-3DB381C4-B5C2-559C-9381-3BAE8078CAAA"><p>the target operand and the source operand are both zero.</p> </li> </ul> </entry> </row> <row><entry><p><codeph>4</codeph> </p> </entry> <entry><p>This panic is raised by a number of operations on <xref href="GUID-E694921E-0449-3B0B-81DC-5A9FCC07B345.dita"><apiname>TReal64</apiname></xref> and <xref href="GUID-58CA4B68-0A0F-31E2-A624-0F78F47EE458.dita"><apiname>TReal32</apiname></xref> types when they complete with an error code other than: <codeph>KErrArgument</codeph>, <codeph>KErrDivideByZero</codeph>, <codeph>KErrOverflow</codeph> or <codeph>KErrUnderflow</codeph>.</p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>