@@ -144,8 +144,8 @@ logical FUNCTION INRANGE_FLOAT(VALUE, DATATYPE)
144
144
MIN = 0
145
145
MAX = X_UINT_MAX
146
146
ELSE IF (DATATYPE .EQ. NF90_INT64) THEN
147
- MIN = X_INT8_MIN
148
- MAX = X_INT8_MAX
147
+ MIN = DBLE ( X_INT8_MIN)
148
+ MAX = DBLE ( X_INT8_MAX)
149
149
ELSE IF (DATATYPE .EQ. NF90_UINT64) THEN
150
150
MIN = 0
151
151
MAX = X_UINT8_MAX
@@ -364,67 +364,67 @@ double precision function hash(type, rank, index)
364
364
if (abs (rank) .eq. 1 .and. index (1 ) .le. 4 ) then
365
365
if (index (1 ) .eq. 1 ) then
366
366
if (type .eq. NF90_CHAR) then
367
- hash = X_CHAR_MIN
367
+ hash = DBLE ( X_CHAR_MIN)
368
368
else if (type .eq. NF90_BYTE) then
369
- hash = X_BYTE_MIN
369
+ hash = DBLE ( X_BYTE_MIN)
370
370
else if (type .eq. NF90_SHORT) then
371
- hash = X_SHORT_MIN
371
+ hash = DBLE ( X_SHORT_MIN)
372
372
else if (type .eq. NF90_INT) then
373
- hash = X_INT_MIN
373
+ hash = DBLE ( X_INT_MIN)
374
374
else if (type .eq. NF90_FLOAT) then
375
- hash = X_FLOAT_MIN
375
+ hash = DBLE ( X_FLOAT_MIN)
376
376
else if (type .eq. NF90_DOUBLE) then
377
- hash = X_DOUBLE_MIN
377
+ hash = DBLE ( X_DOUBLE_MIN)
378
378
else if (type .eq. NF90_UBYTE) then
379
379
hash = 0
380
380
else if (type .eq. NF90_USHORT) then
381
381
hash = 0
382
382
else if (type .eq. NF90_UINT) then
383
383
hash = 0
384
384
else if (type .eq. NF90_INT64) then
385
- hash = X_INT_MIN - 128.0
385
+ hash = DBLE ( X_INT_MIN - 128.0 )
386
386
else if (type .eq. NF90_UINT64) then
387
387
hash = 0
388
388
else
389
389
call ud_abort
390
390
end if
391
391
else if (index (1 ) .eq. 2 ) then
392
392
if (type .eq. NF90_CHAR) then
393
- hash = X_CHAR_MAX
393
+ hash = DBLE ( X_CHAR_MAX)
394
394
else if (type .eq. NF90_BYTE) then
395
- hash = X_BYTE_MAX
395
+ hash = DBLE ( X_BYTE_MAX)
396
396
else if (type .eq. NF90_SHORT) then
397
- hash = X_SHORT_MAX
397
+ hash = DBLE ( X_SHORT_MAX)
398
398
else if (type .eq. NF90_INT) then
399
- hash = X_INT_MAX
399
+ hash = DBLE ( X_INT_MAX)
400
400
else if (type .eq. NF90_FLOAT) then
401
- hash = X_FLOAT_MAX
401
+ hash = DBLE ( X_FLOAT_MAX)
402
402
else if (type .eq. NF90_DOUBLE) then
403
- hash = X_DOUBLE_MAX
403
+ hash = DBLE ( X_DOUBLE_MAX)
404
404
else if (type .eq. NF90_UBYTE) then
405
- hash = X_UCHAR_MAX
405
+ hash = DBLE ( X_UCHAR_MAX)
406
406
else if (type .eq. NF90_USHORT) then
407
- hash = X_USHORT_MAX
407
+ hash = DBLE ( X_USHORT_MAX)
408
408
else if (type .eq. NF90_UINT) then
409
- hash = X_UINT_MAX
409
+ hash = DBLE ( X_UINT_MAX)
410
410
else if (type .eq. NF90_INT64) then
411
- hash = X_INT_MAX + 128.0
411
+ hash = DBLE ( X_INT_MAX) + 128.0
412
412
else if (type .eq. NF90_UINT64) then
413
- hash = X_UINT_MAX + 128.0
413
+ hash = DBLE ( X_UINT_MAX) + 128.0
414
414
else
415
415
call ud_abort
416
416
end if
417
417
else if (index (1 ) .eq. 3 ) then
418
418
if (type .eq. NF90_CHAR) then
419
419
hash = ichar (' A' )
420
420
else if (type .eq. NF90_BYTE) then
421
- hash = X_BYTE_MIN-1.0
421
+ hash = DBLE ( X_BYTE_MIN-1.0 )
422
422
else if (type .eq. NF90_SHORT) then
423
- hash = X_SHORT_MIN-1.0
423
+ hash = DBLE ( X_SHORT_MIN-1.0 )
424
424
else if (type .eq. NF90_INT) then
425
- hash = X_INT_MIN
425
+ hash = DBLE ( X_INT_MIN)
426
426
else if (type .eq. NF90_FLOAT) then
427
- hash = X_FLOAT_MIN
427
+ hash = DBLE ( X_FLOAT_MIN)
428
428
else if (type .eq. NF90_DOUBLE) then
429
429
hash = - 1.0
430
430
else if (type .eq. NF90_UBYTE) then
@@ -444,21 +444,21 @@ double precision function hash(type, rank, index)
444
444
if (type .eq. NF90_CHAR) then
445
445
hash = ichar (' Z' )
446
446
else if (type .eq. NF90_BYTE) then
447
- hash = X_BYTE_MAX+1.0
447
+ hash = DBLE ( X_BYTE_MAX+1.0 )
448
448
else if (type .eq. NF90_SHORT) then
449
- hash = X_SHORT_MAX+1.0
449
+ hash = DBLE ( X_SHORT_MAX+1.0 )
450
450
else if (type .eq. NF90_INT) then
451
- hash = X_INT_MAX+1.0
451
+ hash = DBLE ( X_INT_MAX) + 1.0
452
452
else if (type .eq. NF90_FLOAT) then
453
- hash = X_FLOAT_MAX
453
+ hash = DBLE ( X_FLOAT_MAX)
454
454
else if (type .eq. NF90_DOUBLE) then
455
455
hash = 1.0
456
456
else if (type .eq. NF90_UBYTE) then
457
- hash = X_UCHAR_MAX + 1.0
457
+ hash = DBLE ( X_UCHAR_MAX + 1.0 )
458
458
else if (type .eq. NF90_USHORT) then
459
- hash = X_USHORT_MAX + 1.0
459
+ hash = DBLE ( X_USHORT_MAX + 1.0 )
460
460
else if (type .eq. NF90_UINT) then
461
- hash = X_UINT_MAX + 1.0
461
+ hash = DBLE ( X_UINT_MAX) + 1.0
462
462
else if (type .eq. NF90_INT64) then
463
463
hash = 1.0
464
464
else if (type .eq. NF90_UINT64) then
@@ -1591,19 +1591,19 @@ DOUBLE PRECISION function external_min(type)
1591
1591
#include " tests.inc"
1592
1592
1593
1593
if (type .eq. NF90_BYTE) then
1594
- external_min = X_BYTE_MIN
1594
+ external_min = DBLE ( X_BYTE_MIN)
1595
1595
else if (type .eq. NF90_CHAR) then
1596
- external_min = X_CHAR_MIN
1596
+ external_min = DBLE ( X_CHAR_MIN)
1597
1597
else if (type .eq. NF90_SHORT) then
1598
- external_min = X_SHORT_MIN
1598
+ external_min = DBLE ( X_SHORT_MIN)
1599
1599
else if (type .eq. NF90_INT) then
1600
- external_min = X_INT_MIN
1600
+ external_min = DBLE ( X_INT_MIN)
1601
1601
else if (type .eq. NF90_FLOAT) then
1602
- external_min = X_FLOAT_MIN
1602
+ external_min = DBLE ( X_FLOAT_MIN)
1603
1603
else if (type .eq. NF90_DOUBLE) then
1604
- external_min = X_DOUBLE_MIN
1604
+ external_min = DBLE ( X_DOUBLE_MIN)
1605
1605
else if (type .eq. NF90_INT64) then
1606
- external_min = X_INT8_MIN
1606
+ external_min = DBLE ( X_INT8_MIN)
1607
1607
else
1608
1608
stop ' external_min(): invalid type'
1609
1609
end if
@@ -1620,19 +1620,19 @@ DOUBLE PRECISION function external_max(type)
1620
1620
#include " tests.inc"
1621
1621
1622
1622
if (type .eq. NF90_BYTE) then
1623
- external_max = X_BYTE_MAX
1623
+ external_max = DBLE ( X_BYTE_MAX)
1624
1624
else if (type .eq. NF90_CHAR) then
1625
- external_max = X_CHAR_MAX
1625
+ external_max = DBLE ( X_CHAR_MAX)
1626
1626
else if (type .eq. NF90_SHORT) then
1627
- external_max = X_SHORT_MAX
1627
+ external_max = DBLE ( X_SHORT_MAX)
1628
1628
else if (type .eq. NF90_INT) then
1629
- external_max = X_INT_MAX
1629
+ external_max = DBLE ( X_INT_MAX)
1630
1630
else if (type .eq. NF90_FLOAT) then
1631
- external_max = X_FLOAT_MAX
1631
+ external_max = DBLE ( X_FLOAT_MAX)
1632
1632
else if (type .eq. NF90_DOUBLE) then
1633
- external_max = X_DOUBLE_MAX
1633
+ external_max = DBLE ( X_DOUBLE_MAX)
1634
1634
else if (type .eq. NF90_INT64) then
1635
- external_max = X_INT8_MAX
1635
+ external_max = DBLE ( X_INT8_MAX)
1636
1636
else
1637
1637
stop ' external_max(): invalid type'
1638
1638
end if
0 commit comments