@@ -362,14 +362,18 @@ module stdlib_linalg_state
362
362
!> Numeric types
363
363
#:for k1, t1 in KINDS_TYPES
364
364
type is (${t1}$)
365
- #:if 'real ' in t1
366
- write (buffer,FMT_REAL_${k1}$) aa
367
- #:elif 'complex' in t1
368
- write ( buffer,FMT_COMPLEX_${k1}$) aa
365
+ #:if 'complex ' in t1
366
+ write (buffer, FMT_REAL_${k1}$) aa%re
367
+ write (buffer2,FMT_REAL_${k1}$) aa%im
368
+ msg = trim(msg)//sep(:ls)//'('//trim(adjustl( buffer))//','//trim(adjustl(buffer2))//')'
369
369
#:else
370
+ #:if 'real' in t1
371
+ write (buffer,FMT_REAL_${k1}$) aa
372
+ #:else
370
373
write (buffer,'(i0)') aa
371
- #:endif
374
+ #:endif
372
375
msg = trim(msg)//sep(:ls)//trim(adjustl(buffer))
376
+ #:endif
373
377
374
378
#:endfor
375
379
class default
@@ -411,21 +415,30 @@ module stdlib_linalg_state
411
415
!> Numeric types
412
416
#:for k1, t1 in KINDS_TYPES
413
417
type is (${t1}$)
414
- #:if 'real' in t1
415
- buffer_format = FMT_REAL_${k1}$
416
- #:elif 'complex' in t1
417
- buffer_format = FMT_COMPLEX_${k1}$
418
+ #:if 'complex' in t1
419
+ write (buffer,FMT_REAL_${k1}$) aa(1)%re
420
+ write (buffer2,FMT_REAL_${k1}$) aa(1)%im
421
+ msg = trim(msg)//'('//trim(adjustl(buffer))//','//trim(adjustl(buffer2))//')'
422
+ do j = 2,size(a)
423
+ write (buffer,FMT_REAL_${k1}$) aa(j)%re
424
+ write (buffer2,FMT_REAL_${k1}$) aa(j)%im
425
+ msg = trim(msg)//sep(:ls)//'('//trim(adjustl(buffer))//','//trim(adjustl(buffer2))//')'
426
+ end do
418
427
#:else
428
+ #:if 'real' in t1
429
+ buffer_format = FMT_REAL_${k1}$
430
+ #:else
419
431
buffer_format = '(i0)'
420
- #:endif
432
+ #:endif
433
+
421
434
write (buffer,buffer_format) aa(1)
422
435
msg = trim(msg)//adjustl(buffer)
423
436
do j = 2,size(a)
424
437
write (buffer,buffer_format) aa(j)
425
438
msg = trim(msg)//sep(:ls)//adjustl(buffer)
426
439
end do
427
440
msg = trim(msg)//sep(:ls)//trim(adjustl(buffer))
428
-
441
+ #:endif
429
442
#:endfor
430
443
class default
431
444
msg = trim(msg)//' <ERROR: INVALID TYPE>'
0 commit comments