Hi, On Mon, 19 Jun 2000, Toon Moene wrote: > Malcolm Cohen wrote: > > > NAGWare f90/f95 supports LOGICAL(KIND=1) and INTEGER(KIND=1) as single-byte > > values on all hardware platforms. > > [ This is not meant to hassle Malcolm ] > > I've seen several mails like this pass the mailing list now. Does > anyone have an idea how to portably ask for LOGICAL(KIND=1), i.e. > without using an explicit KIND number. > > Yes, I know it's non-Standard - but if more than one compiler supports > it, it would be nice if there were a portable way to ask for the > feature. Yup, but there is none. On comp.lang.fortran, I suggested the following definition of SELECTED_LOGICAL_KIND. Since the range of a logical is always {T,F}, there is no need to provide a range in the arg list. Therefore I'd specify it as follows. SELECTED_LOGICAL_KIND( [MOLD] ) without the optional MOLD argument, SELECTED_LOGICAL_KIND returns the smallest logical that can hold the (implicit) range. With MOLD, SELECTED_LOGICAL_KIND returns the KIND of a logical that is the same size as MOLD, if there is one, or a negative value, if there is not. Since a default-KIND INTEGER is the same size as a default-KIND LOGICAL, the following would return default LOGICAL KIND; INTEGER KLOG, I KLOG = SELECTED_LOGICAL_KIND( I ) This still wouldn't allow for selecting a LOGICAL KIND that was not the smallest available, but was different in size from any other type. Still, that might not arise, and I believe this proposal is pretty good, overall. -P. -- ** Whether the playing field is level depends on the coordinate system. *** ********* Peter S. Shenkin; Schrodinger, Inc.; (201)433-2014 x111 ********* *********** [log in to unmask]; http://www.schrodinger.com *********** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%