To: J3 J3/19-147
From: Van Snyder
Subject: SELECTED_LOGICAL_KIND
Date: 2019-February-13
Introduction
============
During discussion of 19-139, it was decided that a companion feature to
providing names of several constants that are kind type parameter values
for type LOGICAL in ISO_FORTRAN_ENV, is a SELECTED_LOGICAL_KIND
intrinsic function.
Proposal
========
Provide a SELECTED_LOGICAL_KIND intrinsic function with an integer
argument that specifies the minimum number of bits the representation
for a kind of logical data objects, and returns either a value of a kind
type parameter for logical type that represents logical values using the
smallest number of bits greater than that value, or -1 if there is no
such representation.
Edits
=====
[413:22+ after 16.9.169 SELECTED_INT_KIND] Insert a new subclause:
16.9.169a SELECTED_LOGICAL_KIND ( R )
"
<> Logical kind selection.
<> Transformational function.
<> R shall be an integer scalar.
<> Default integer scalar.
<> The result has a value equal to the value of the kind
type parameter of logical type that is represented by the least number
of bits greater than or equal to R, or if no such kind type parameter is
available on the processor, the result is -1.
<> Assume a processor supports four logical kinds with
parameter values 8 for an 8-bit representation, 16 for a 16-bit
representation, 32 for a 32-bit representation, and 64 for a 64-bit
representation. On this processor, SELECTED_LOGICAL_KIND(1) has the
value 8, SELECTED_LOGICAL_KIND(12) has the value 16, and
SELECTED_LOGICAL_KIND(128) has the value -1.
"