Defect Report concerning: IEEE Std. 1003.2-1992, ISO/IEC 9945-2:1993 - Shell & Utilities
Clause: 4.3.7.1
PASC Interpretation Ref: pasc-1003.2-77
Topic: bc - scale


This is an unapproved interpretation of PASC 1003.2-1992, ISO/IEC 9945-2:1993 - Shell & Utilities.

Use of the information contained in this unapproved document is at your own risk.

Last update: 20 April,2001


								1003.2-92  #77

 _____________________________________________________________________________

	Interpretation Number:	XXXX
	Topic:			bc - scale
	Relevant Sections:	4.3.7.1


Interpretation Request: (Defect Report)
-----------------------
Date: Wed, 7 Sep 1994 15:50:34 -0700


I would like to an request official, binding interpretation from the
IEEE concerning the following point in IEEE Std 1003.2-1992 (POSIX.2).

POSIX.2 Subclause 4.3 specifies the semantics of the "bc" utility.  In
subclause 4.3.7.1, lines 1570-1571 state:

	The scale of an invocation of each of these functions shall
	be the scale of the value of the scale register when the
	function is invoked.

The functions referred to are the math functions s(), c(), a(), l(),
e() and j().

Suppose that bc is invoked with the -l flag, and that the scale is 20.
What is the value of the expression

	scale(a(0))

On the one hand, the sentence quoted above implies that it should be
20.  On the other hand, the value of a(0) is exactly 0, and the scale
of 0 is 0.

Thank you for your attention to this matter.

Interpretation response:
-------------------------


The specification on lines 1570-1573, page 196 is talking about the scale 
used while computing the value of the arctangent, not about the computed 
arctangent, since arctangent (0) is zero, scale(a(0)) is equivilent to 
scale(0) which is zero.

The standard clearly states the behaviour for bc and scale(), and conforming 
implementations must conform to this.


Rationale
-------------
None.

Forwarded to Interpretations group: 18 Sep 94

Proposed resolution sent for review: 19th Nov 94
Resolved: 10th Dec 94