J3/06-147 Date: 16-Feb-2006 To: J3 From: JOR/Stan Whitlock Subject: STORAGE_SIZE Ref: J3-004, 05-239, 05-250 Detailed Specification: Create a procedure to return the size in bits of its argument. Syntax: STORAGE_SIZE (X [,KIND]) returns the storage size in bits that a nonpointer nonallocatable scalar of the same dynamic type of X would have. The result value is the size in bits of the storage unit (16.4.3.1) in a storage association context for a nonpointer nonallocatable scalar with a declared type and type parameters that are the same as the dynamic type of X. If KIND is present, the result is an integer of kind KIND; otherwise, the result is default integer. Edits: The edits are against 04-007. [296:19+] Add a table entry: "STORAGE_SIZE (A) Size in bits" [354:9+] Add a new section: "13.7.115+ STORAGE_SIZE (X [, KIND]) <> Returns the storage size in bits that a nonpointer nonallocatable scalar of the same dynamic type of X would have. <> Inquiry function. <> X may be of intrinsic or derived type and it may be polymorphic. It may be a scalar or an array. If it is has either the POINTER or the ALLOCATABLE attribute and it is either polymorphic or its type has any deferred type parameters, it shall be a pointer that is associated or an allocatable object that is allocated. KIND (optional) shall be a scalar integer initialization expression. <> Integer scalar. If KIND is present, the kind type parameter is that specified by the value of KIND; otherwise, the kind type parameter is that of default integer type. <> The result value is the size in bits of the storage unit (16.4.3.1) in a storage association context for a nonpointer nonallocatable scalar with a declared type and type parameters that are the same as the dynamic type of X. <> STORAGE_SIZE(1.0) returns the number of bits required to store an entity of type default real. These edits do not collide with existing edits in 05-014r1.