autotest Subroutine

public subroutine autotest()

Procedure for autotesting the library functionalities.

Arguments

None

Calls

proc~~autotest~~CallsGraph proc~autotest autotest interface~b64_encode b64_encode proc~autotest->interface~b64_encode interface~b64_decode b64_decode proc~autotest->interface~b64_decode proc~b64_init b64_init proc~autotest->proc~b64_init interface~str str proc~autotest->interface~str proc~b64_encode_r8 b64_encode_R8 interface~b64_encode->proc~b64_encode_r8 proc~b64_encode_i1_a b64_encode_I1_a interface~b64_encode->proc~b64_encode_i1_a proc~b64_encode_i4 b64_encode_I4 interface~b64_encode->proc~b64_encode_i4 proc~b64_encode_r4_a b64_encode_R4_a interface~b64_encode->proc~b64_encode_r4_a proc~b64_encode_i1 b64_encode_I1 interface~b64_encode->proc~b64_encode_i1 proc~b64_encode_i2 b64_encode_I2 interface~b64_encode->proc~b64_encode_i2 proc~b64_encode_i2_a b64_encode_I2_a interface~b64_encode->proc~b64_encode_i2_a proc~b64_encode_string_a b64_encode_string_a interface~b64_encode->proc~b64_encode_string_a proc~b64_encode_r4 b64_encode_R4 interface~b64_encode->proc~b64_encode_r4 proc~b64_encode_string b64_encode_string interface~b64_encode->proc~b64_encode_string proc~b64_encode_i8 b64_encode_I8 interface~b64_encode->proc~b64_encode_i8 proc~b64_encode_r8_a b64_encode_R8_a interface~b64_encode->proc~b64_encode_r8_a proc~b64_encode_i8_a b64_encode_I8_a interface~b64_encode->proc~b64_encode_i8_a proc~b64_encode_i4_a b64_encode_I4_a interface~b64_encode->proc~b64_encode_i4_a proc~b64_decode_r4_a b64_decode_R4_a interface~b64_decode->proc~b64_decode_r4_a proc~b64_decode_i1 b64_decode_I1 interface~b64_decode->proc~b64_decode_i1 proc~b64_decode_string_a b64_decode_string_a interface~b64_decode->proc~b64_decode_string_a proc~b64_decode_i2 b64_decode_I2 interface~b64_decode->proc~b64_decode_i2 proc~b64_decode_string b64_decode_string interface~b64_decode->proc~b64_decode_string proc~b64_decode_i8_a b64_decode_I8_a interface~b64_decode->proc~b64_decode_i8_a proc~b64_decode_r4 b64_decode_R4 interface~b64_decode->proc~b64_decode_r4 proc~b64_decode_i2_a b64_decode_I2_a interface~b64_decode->proc~b64_decode_i2_a proc~b64_decode_i8 b64_decode_I8 interface~b64_decode->proc~b64_decode_i8 proc~b64_decode_r8_a b64_decode_R8_a interface~b64_decode->proc~b64_decode_r8_a proc~b64_decode_i4 b64_decode_I4 interface~b64_decode->proc~b64_decode_i4 proc~b64_decode_i1_a b64_decode_I1_a interface~b64_decode->proc~b64_decode_i1_a proc~b64_decode_i4_a b64_decode_I4_a interface~b64_decode->proc~b64_decode_i4_a proc~b64_decode_r8 b64_decode_R8 interface~b64_decode->proc~b64_decode_r8 proc~strf_i8p strf_I8P interface~str->proc~strf_i8p proc~str_i1p str_I1P interface~str->proc~str_i1p proc~strf_r4p strf_R4P interface~str->proc~strf_r4p proc~strf_i4p strf_I4P interface~str->proc~strf_i4p proc~str_a_i8p str_a_I8P interface~str->proc~str_a_i8p proc~str_a_r4p str_a_R4P interface~str->proc~str_a_r4p proc~str_bol str_bol interface~str->proc~str_bol proc~str_a_i2p str_a_I2P interface~str->proc~str_a_i2p proc~strf_r8p strf_R8P interface~str->proc~strf_r8p proc~str_r8p str_R8P interface~str->proc~str_r8p proc~str_a_i4p str_a_I4P interface~str->proc~str_a_i4p proc~strf_i1p strf_I1P interface~str->proc~strf_i1p proc~str_i2p str_I2P interface~str->proc~str_i2p proc~str_i8p str_I8P interface~str->proc~str_i8p proc~str_r4p str_R4P interface~str->proc~str_r4p proc~strf_i2p strf_I2P interface~str->proc~strf_i2p proc~str_a_i1p str_a_I1P interface~str->proc~str_a_i1p proc~str_a_r8p str_a_R8P interface~str->proc~str_a_r8p proc~str_i4p str_I4P interface~str->proc~str_i4p proc~encode_bits encode_bits proc~b64_encode_r8->proc~encode_bits proc~b64_encode_i1_a->proc~encode_bits proc~b64_encode_i4->proc~encode_bits proc~b64_encode_r4_a->proc~encode_bits proc~b64_encode_i1->proc~encode_bits proc~b64_encode_i2->proc~encode_bits proc~b64_encode_i2_a->proc~encode_bits proc~b64_encode_string_a->proc~encode_bits interface~byte_size byte_size proc~b64_encode_string_a->interface~byte_size proc~b64_encode_r4->proc~encode_bits proc~b64_encode_string->proc~encode_bits proc~b64_encode_string->interface~byte_size proc~b64_encode_i8->proc~encode_bits proc~b64_encode_r8_a->proc~encode_bits proc~b64_encode_i8_a->proc~encode_bits proc~b64_encode_i4_a->proc~encode_bits proc~byte_size_i8p byte_size_I8P interface~byte_size->proc~byte_size_i8p proc~byte_size_i1p byte_size_I1P interface~byte_size->proc~byte_size_i1p proc~byte_size_r4p byte_size_R4P interface~byte_size->proc~byte_size_r4p proc~byte_size_chr byte_size_chr interface~byte_size->proc~byte_size_chr proc~byte_size_r8p byte_size_R8P interface~byte_size->proc~byte_size_r8p proc~byte_size_i2p byte_size_I2P interface~byte_size->proc~byte_size_i2p proc~byte_size_i4p byte_size_I4P interface~byte_size->proc~byte_size_i4p proc~decode_bits decode_bits proc~b64_decode_r4_a->proc~decode_bits proc~b64_decode_i1->proc~decode_bits proc~b64_decode_string_a->interface~byte_size proc~b64_decode_string_a->proc~decode_bits proc~b64_decode_i2->proc~decode_bits proc~b64_decode_string->interface~byte_size proc~b64_decode_string->proc~decode_bits proc~b64_decode_i8_a->proc~decode_bits proc~b64_decode_r4->proc~decode_bits proc~b64_decode_i2_a->proc~decode_bits proc~b64_decode_i8->proc~decode_bits proc~b64_decode_r8_a->proc~decode_bits proc~b64_decode_i4->proc~decode_bits proc~b64_decode_i1_a->proc~decode_bits proc~b64_decode_i4_a->proc~decode_bits proc~b64_decode_r8->proc~decode_bits proc~str_a_i8p->proc~str_i8p proc~str_a_r4p->proc~str_r4p proc~str_a_i2p->proc~str_i2p proc~compact_real_string compact_real_string proc~str_r8p->proc~compact_real_string proc~str_a_i4p->proc~str_i4p proc~str_r4p->proc~compact_real_string proc~str_a_i1p->proc~str_i1p proc~str_a_r8p->proc~str_r8p
Help

Called By

proc~~autotest~~CalledByGraph proc~autotest autotest program~test_driver Test_Driver program~test_driver->proc~autotest
Help

Source Code


Source Code

  subroutine autotest()
  !---------------------------------------------------------------------------------------------------------------------------------
  !< Procedure for autotesting the library functionalities.
  !<
  !< @note Into the *src* directory there is a small python script (*validation.py*) that can be used to validate the library
  !< correctness by a comparison with other widely used tools such as the python builtin module *struct*.
  !---------------------------------------------------------------------------------------------------------------------------------
  character(len=:), allocatable :: code64        !< Base64 code.
  logical                       :: ok            !< Flag for checking the result of encoding/decoding.
#ifdef r16p
  real(R16P)                    :: scalar_R16    !< Decoded scalar.
#endif
  real(R8P)                     :: scalar_R8     !< Decoded scalar.
  real(R4P)                     :: scalar_R4     !< Decoded scalar.
  integer(I8P)                  :: scalar_I8     !< Decoded scalar.
  integer(I4P)                  :: scalar_I4     !< Decoded scalar.
  integer(I2P)                  :: scalar_I2     !< Decoded scalar.
  integer(I1P)                  :: scalar_I1     !< Decoded scalar.
  real(R8P)                     :: array_R8(1:2) !< Decoded array.
  real(R4P)                     :: array_R4(1:2) !< Decoded array.
  integer(I8P)                  :: array_I8(1:4) !< Decoded array.
  integer(I4P)                  :: array_I4(1:2) !< Decoded array.
  integer(I2P)                  :: array_I2(1:2) !< Decoded array.
  integer(I1P)                  :: array_I1(1:2) !< Decoded array.
  character(5)                  :: array_s(1:2)  !< Decoded array.
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  call b64_Init

  print "(A)", 'Encoders'

  print "(A)", 'Scalars'

#ifdef r16p
  call b64_encode(n=134.231_R16P,code=code64)
  ok = code64=='CKwcWmTHYEA='
  print "(A)", '+ Code of '//trim(str(n=134.231_R16P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'CKwcWmTHYEA='//'", Is it correct?',ok
  if (.not.ok) stop
#endif

  call b64_encode(n=1._R8P,code=code64)
  ok = code64=='AAAAAAAA8D8='
  print "(A)", '+ Code of '//trim(str(n=1._R8P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'AAAAAAAA8D8='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=0._R4P,code=code64)
  ok = code64=='AAAAAA=='
  print "(A)", '+ Code of '//trim(str(n=0._R4P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'AAAAAA=='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=23_I8P,code=code64)
  ok = code64=='FwAAAAAAAAA='
  print "(A)", '+ Code of '//trim(str(n=23_I8P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'FwAAAAAAAAA='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=2023_I4P,code=code64)
  ok = code64=='5wcAAA=='
  print "(A)", '+ Code of '//trim(str(n=2023_I4P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'5wcAAA=='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=-203_I2P,code=code64)
  ok = code64=='Nf8='
  print "(A)", '+ Code of '//trim(str(n=-203_I2P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'Nf8='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=120_I1P,code=code64)
  ok = code64=='eA=='
  print "(A)", '+ Code of '//trim(str(n=120_I1P))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'eA=='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(s='hello',code=code64)
  ok = code64=='aGVsbG8='
  print "(A)", '+ Code of hello: "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'aGVsbG8='//'", Is it correct?',ok
  if (.not.ok) stop

  print "(A)", 'Arrays'

#ifdef r16p
  call b64_encode(n=[121._R16P,2.32_R16P],code=code64)
  ok = code64=='AAAAAABAXkCPwvUoXI8CQA=='
  print "(A)", '+ Code of '//trim(str(n=[121._R16P,2.32_R16P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'AAAAAABAXkCPwvUoXI8CQA=='//'", Is it correct?',ok
  if (.not.ok) stop
#endif

  call b64_encode(n=[1._R8P,2._R8P],code=code64)
  ok = code64=='AAAAAAAA8D8AAAAAAAAAQA=='
  print "(A)", '+ Code of '//trim(str(n=[1._R8P,2._R8P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'AAAAAAAA8D8AAAAAAAAAQA=='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=[0._R4P,-32.12_R4P],code=code64)
  ok = code64=='AAAAAOF6AMI='
  print "(A)", '+ Code of '//trim(str(n=[0._R4P,-32.12_R4P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'AAAAAOF6AMI='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=[23_I8P,324_I8P,25456656_I8P,2_I8P],code=code64)
  ok = code64=='FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA='
  print "(A)", '+ Code of '//trim(str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=[2023_I4P,-24_I4P],code=code64)
  ok = code64=='5wcAAOj///8='
  print "(A)", '+ Code of '//trim(str(n=[2023_I4P,-24_I4P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'5wcAAOj///8='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=[-203_I2P,-10_I2P],code=code64)
  ok = code64=='Nf/2/w=='
  print "(A)", '+ Code of '//trim(str(n=[-203_I2P,-10_I2P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'Nf/2/w=='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(n=[120_I1P,-1_I1P],code=code64)
  ok = code64=='eP8='
  print "(A)", '+ Code of '//trim(str(n=[120_I1P,-1_I1P], delimiters=['[',']']))//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'eP8='//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_encode(s=['hello','world'],code=code64)
  ok = code64=='aGVsbG93b3JsZA=='
  print "(A)", '+ Code of [hello,world]: "'//code64//'"'
  print "(A,1X,L1)", '  Expected code: "'//'aGVsbG93b3JsZA=='//'", Is it correct?',ok
  if (.not.ok) stop

  print "(A)", 'Decoders'

  print "(A)", 'Scalars'

  call b64_decode(code='AAAAAAAA8D8=',n=scalar_R8)
  ok = str(n=scalar_R8)==str(n=1._R8P)
  print "(A)", '+ Decode of '//'AAAAAAAA8D8='//': "'//trim(str(n=scalar_R8))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=1._R8P))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='AAAAAA==',n=scalar_R4)
  ok = str(n=scalar_R4)==str(n=0._R4P)
  print "(A)", '+ Decode of '//'AAAAAA=='//': "'//trim(str(n=scalar_R4))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=0._R4P))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='FwAAAAAAAAA=',n=scalar_I8)
  ok = str(n=scalar_I8)==str(n=23_I8P)
  print "(A)", '+ Decode of '//'FwAAAAAAAAA='//': "'//trim(str(n=scalar_I8))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=23_I8P))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='5wcAAA==',n=scalar_I4)
  ok = str(n=scalar_I4)==str(n=2023_I4P)
  print "(A)", '+ Decode of '//'5wcAAA=='//': "'//trim(str(n=scalar_I4))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=2023_I4P))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='Nf8=',n=scalar_I2)
  ok = str(n=scalar_I2)==str(n=-203_I2P)
  print "(A)", '+ Decode of '//'Nf8='//': "'//trim(str(n=scalar_I2))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=-203_I2P))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='eA==',n=scalar_I1)
  ok = str(n=scalar_I1)==str(n=120_I1P)
  print "(A)", '+ Decode of '//'eA=='//': "'//trim(str(n=scalar_I1))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=120_I1P))//'", Is it correct?',ok
  if (.not.ok) stop

  code64 = repeat(' ',5)
  call b64_decode(code='aGVsbG8=',s=code64)
  ok = 'hello'==code64
  print "(A)", '+ Decode of '//'aGVsbG8='//': "'//code64//'"'
  print "(A,1X,L1)", '  Expected value: "hello", Is it correct?',ok
  if (.not.ok) stop

  print "(A)", 'Arrays'

  call b64_decode(code='AAAAAAAA8D8AAAAAAAAAQA==',n=array_R8)
  ok = str(n=array_R8)==str(n=[1._R8P,2._R8P])
  print "(A)", '+ Decode of '//'AAAAAAAA8D8AAAAAAAAAQA=='//': "'//trim(str(n=array_R8, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[1._R8P,2._R8P], delimiters=['[',']']))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='AAAAAOF6AMI=',n=array_R4)
  ok = str(n=array_R4)==str(n=[0._R4P,-32.12_R4P])
  print "(A)", '+ Decode of '//'AAAAAOF6AMI='//': "'//trim(str(n=array_R4, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[0._R4P,-32.12_R4P], delimiters=['[',']']))//'", Is it correct?',ok
  if (.not.ok) stop

  ! ok = test_decode_array(code=, input=) ; if (.not.ok) stop
  call b64_decode(code='FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA=',n=array_I8)
  ok = str(n=array_I8)==str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P])
  print "(A)", '+ Decode of '//'FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA='//': "'//&
    trim(str(n=array_I8, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P], delimiters=['[',']']))//&
    '", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='5wcAAOj///8=',n=array_I4)
  ok = str(n=array_I4)==str(n=[2023_I4P,-24_I4P])
  print "(A)", '+ Decode of '//'5wcAAOj///8='//': "'//trim(str(n=array_I4, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[2023_I4P,-24_I4P], delimiters=['[',']']))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='Nf/2/w==',n=array_I2)
  ok = str(n=array_I2)==str(n=[-203_I2P,-10_I2P])
  print "(A)", '+ Decode of '//'Nf/2/w=='//': "'//trim(str(n=array_I2, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[-203_I2P,-10_I2P], delimiters=['[',']']))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='eP8=',n=array_I1)
  ok = str(n=array_I1)==str(n=[120_I1P,-1_I1P])
  print "(A)", '+ Decode of '//'eP8='//': "'//trim(str(n=array_I1, delimiters=['[',']']))//'"'
  print "(A,1X,L1)", '  Expected value: "'//trim(str(n=[120_I1P,-1_I1P], delimiters=['[',']']))//'", Is it correct?',ok
  if (.not.ok) stop

  call b64_decode(code='aGVsbG93b3JsZA==',s=array_s)
  ok = array_s(1)//array_s(2)=='helloworld'
  print "(A)", '+ Decode of '//'aGVsbG93b3JsZA=='//': "'//array_s(1)//array_s(2)//'"'
  print "(A,1X,L1)", '  Expected value: "helloworld", Is it correct?',ok
  if (.not.ok) stop
  return
  !---------------------------------------------------------------------------------------------------------------------------------
  endsubroutine autotest


add add add add add add add_constant_qreal add_constant_qreal add_constant_qreal add_prefix_string add_prefix_string add_prefix_string add_prefix_uom_reference add_prefix_uom_reference add_prefix_uom_reference add_reference add_reference add_reference add_unit_string add_unit_string add_unit_string add_unit_uom add_unit_uom add_unit_uom adjustl adjustr allocate_unit allocate_unit allocate_unit assign_converter assign_qreal assign_qreal assign_qreal assign_uom assign_uom assign_uom assign_uom_reference assign_uom_reference assign_uom_reference assign_uom_symbol assign_uom_symbol assign_uom_symbol assignment(=) autotest autotest b64_decode b64_decode b64_decode_I1 b64_decode_I1 b64_decode_I1_a b64_decode_I1_a b64_decode_I2 b64_decode_I2 b64_decode_I2_a b64_decode_I2_a b64_decode_I4 b64_decode_I4 b64_decode_I4_a b64_decode_I4_a b64_decode_I8 b64_decode_I8 b64_decode_I8_a b64_decode_I8_a b64_decode_R16 b64_decode_R16 b64_decode_R16_a b64_decode_R16_a b64_decode_R4 b64_decode_R4 b64_decode_R4_a b64_decode_R4_a b64_decode_R8 b64_decode_R8 b64_decode_R8_a b64_decode_R8_a b64_decode_string b64_decode_string b64_decode_string_a b64_decode_string_a b64_decode_up b64_decode_up b64_decode_up b64_decode_up b64_decode_up_a b64_decode_up_a b64_encode b64_encode b64_encode_I1 b64_encode_I1 b64_encode_I1_a b64_encode_I1_a b64_encode_I2 b64_encode_I2 b64_encode_I2_a b64_encode_I2_a b64_encode_I4 b64_encode_I4 b64_encode_I4_a b64_encode_I4_a b64_encode_I8 b64_encode_I8 b64_encode_I8_a b64_encode_I8_a b64_encode_R16 b64_encode_R16 b64_encode_R16_a b64_encode_R16_a b64_encode_R4 b64_encode_R4 b64_encode_R4_a b64_encode_R4_a b64_encode_R8 b64_encode_R8 b64_encode_R8_a b64_encode_R8_a b64_encode_string b64_encode_string b64_encode_string_a b64_encode_string_a b64_encode_up b64_encode_up b64_encode_up b64_encode_up b64_encode_up_a b64_encode_up_a b64_init b64_init basedir basename bctoi_I1P bctoi_I1P bctoi_I1P bctoi_I1P bctoi_I1P bctoi_I2P bctoi_I2P bctoi_I2P bctoi_I2P bctoi_I2P bctoi_I4P bctoi_I4P bctoi_I4P bctoi_I4P bctoi_I4P bctoi_I8P bctoi_I8P bctoi_I8P bctoi_I8P bctoi_I8P bcton bcton bcton bcton bcton bctor_R16P bctor_R16P bctor_R16P bctor_R16P bctor_R16P bctor_R4P bctor_R4P bctor_R4P bctor_R4P bctor_R4P bctor_R8P bctor_R8P bctor_R8P bctor_R8P bctor_R8P bit_size bit_size bit_size bit_size bit_size bit_size bit_size bit_size bit_size bit_size bit_size_chr bit_size_chr bit_size_chr bit_size_chr bit_size_chr bit_size_R16P bit_size_R16P bit_size_R16P bit_size_R16P bit_size_R16P bit_size_R4P bit_size_R4P bit_size_R4P bit_size_R4P bit_size_R4P bit_size_R8P bit_size_R8P bit_size_R8P bit_size_R8P bit_size_R8P bstr bstr bstr bstr bstr bstr_I1P bstr_I1P bstr_I1P bstr_I1P bstr_I1P bstr_I2P bstr_I2P bstr_I2P bstr_I2P bstr_I2P bstr_I4P bstr_I4P bstr_I4P bstr_I4P bstr_I4P bstr_I8P bstr_I8P bstr_I8P bstr_I8P bstr_I8P bstr_R16P bstr_R16P bstr_R16P bstr_R16P bstr_R16P bstr_R4P bstr_R4P bstr_R4P bstr_R4P bstr_R4P bstr_R8P bstr_R8P bstr_R8P bstr_R8P bstr_R8P byte_size byte_size byte_size byte_size byte_size byte_size_chr byte_size_chr byte_size_chr byte_size_chr byte_size_chr byte_size_I1P byte_size_I1P byte_size_I1P byte_size_I1P byte_size_I1P byte_size_I2P byte_size_I2P byte_size_I2P byte_size_I2P byte_size_I2P byte_size_I4P byte_size_I4P byte_size_I4P byte_size_I4P byte_size_I4P byte_size_I8P byte_size_I8P byte_size_I8P byte_size_I8P byte_size_I8P byte_size_R16P byte_size_R16P byte_size_R16P byte_size_R16P byte_size_R16P byte_size_R4P byte_size_R4P byte_size_R4P byte_size_R4P byte_size_R4P byte_size_R8P byte_size_R8P byte_size_R8P byte_size_R8P byte_size_R8P camelcase capitalize character_concat_string character_concat_string_string character_eq_string character_ge_string character_gt_string character_le_string character_lt_string character_ne_string chars check_endian check_endian check_endian check_endian check_endian compact_real_string compact_real_string compact_real_string compact_real_string compact_real_string const const const convert convert convert convert_float128 convert_float32 convert_float64 count count_substring creator creator creator creator_from_string creator_from_string creator_from_string creator_from_string creator_from_string creator_from_string ctoi_I1P ctoi_I1P ctoi_I1P ctoi_I1P ctoi_I1P ctoi_I2P ctoi_I2P ctoi_I2P ctoi_I2P ctoi_I2P ctoi_I4P ctoi_I4P ctoi_I4P ctoi_I4P ctoi_I4P ctoi_I8P ctoi_I8P ctoi_I8P ctoi_I8P ctoi_I8P cton cton cton cton cton ctor_R16P ctor_R16P ctor_R16P ctor_R16P ctor_R16P ctor_R4P ctor_R4P ctor_R4P ctor_R4P ctor_R4P ctor_R8P ctor_R8P ctor_R8P ctor_R8P ctor_R8P decode decode_bits decode_bits digit digit digit digit digit digit_I1 digit_I1 digit_I1 digit_I1 digit_I1 digit_I2 digit_I2 digit_I2 digit_I2 digit_I2 digit_I4 digit_I4 digit_I4 digit_I4 digit_I4 digit_I8 digit_I8 digit_I8 digit_I8 digit_I8 dimensionality dimensionality dimensionality div div div div div div div div div div div div div_I1P div_I1P div_I1P div_I2P div_I2P div_I2P div_I4P div_I4P div_I4P div_I8P div_I8P div_I8P div_R16P div_R16P div_R16P div_R4P div_R4P div_R4P div_R8P div_R8P div_R8P encode encode_bits encode_bits end_with escape extension fill free free free free get_alias get_alias get_alias get_aliases get_aliases get_aliases get_convert get_convert get_convert get_decimal_mode get_delimiter_mode get_dimensions get_dimensions get_dimensions get_exponent get_exponent get_exponent get_factor get_factor get_factor get_main_reference get_main_reference get_main_reference get_main_symbol get_main_symbol get_main_symbol get_main_symbol get_main_symbol get_main_symbol get_next_non_blank_character_any_record get_next_non_blank_character_this_record get_offset get_offset get_offset get_references get_references get_references get_symbol get_symbol get_symbol has_alias has_alias has_alias has_constant has_constant has_constant has_name has_name has_name has_name has_name has_name has_prefix has_prefix has_prefix has_reference has_reference has_reference has_unit has_unit has_unit I1P_mul I1P_mul I1P_mul I1P_mul_uom I1P_mul_uom I1P_mul_uom I2P_mul I2P_mul I2P_mul I2P_mul_uom I2P_mul_uom I2P_mul_uom I4P_mul I4P_mul I4P_mul I4P_mul_uom I4P_mul_uom I4P_mul_uom I8P_mul I8P_mul I8P_mul I8P_mul_uom I8P_mul_uom I8P_mul_uom index initialize initialize initialize insert_character insert_string is_allocated is_compatible is_compatible is_compatible is_compatible is_compatible is_compatible is_convertible is_convertible is_convertible is_defined is_defined is_defined is_defined is_defined is_defined is_defined is_defined is_defined is_digit is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_equal is_integer is_lower is_not_equal is_not_equal is_not_equal is_number is_real is_unit_defined is_unit_defined is_unit_defined is_upper join_characters join_strings len len_trim list_constants list_constants list_constants list_prefixes list_prefixes list_prefixes list_units list_units list_units lower mul mul mul mul mul mul mul mul mul mul mul mul mul_I1P mul_I1P mul_I1P mul_I2P mul_I2P mul_I2P mul_I4P mul_I4P mul_I4P mul_I8P mul_I8P mul_I8P mul_R16P mul_R16P mul_R16P mul_R4P mul_R4P mul_R4P mul_R8P mul_R8P mul_R8P negative negative negative operator(*) operator(*) operator(*) operator(*) operator(+) operator(-) operator(/) operator(/=) operator(==) pack_data pack_data pack_data_I1_I2 pack_data_I1_I2 pack_data_I1_I4 pack_data_I1_I4 pack_data_I1_I8 pack_data_I1_I8 pack_data_I1_R4 pack_data_I1_R4 pack_data_I1_R8 pack_data_I1_R8 pack_data_I2_I1 pack_data_I2_I1 pack_data_I2_I4 pack_data_I2_I4 pack_data_I2_I8 pack_data_I2_I8 pack_data_I2_R4 pack_data_I2_R4 pack_data_I2_R8 pack_data_I2_R8 pack_data_I4_I1 pack_data_I4_I1 pack_data_I4_I2 pack_data_I4_I2 pack_data_I4_I8 pack_data_I4_I8 pack_data_I4_R4 pack_data_I4_R4 pack_data_I4_R8 pack_data_I4_R8 pack_data_I8_I1 pack_data_I8_I1 pack_data_I8_I2 pack_data_I8_I2 pack_data_I8_I4 pack_data_I8_I4 pack_data_I8_R4 pack_data_I8_R4 pack_data_I8_R8 pack_data_I8_R8 pack_data_R4_I1 pack_data_R4_I1 pack_data_R4_I2 pack_data_R4_I2 pack_data_R4_I4 pack_data_R4_I4 pack_data_R4_I8 pack_data_R4_I8 pack_data_R4_R8 pack_data_R4_R8 pack_data_R8_I1 pack_data_R8_I1 pack_data_R8_I2 pack_data_R8_I2 pack_data_R8_I4 pack_data_R8_I4 pack_data_R8_I8 pack_data_R8_I8 pack_data_R8_R4 pack_data_R8_R4 parse parse parse parse parse parse parse parse parse parse_alias parse_alias parse_alias parse_name parse_name parse_name parse_references parse_references parse_references partition penf_init penf_init penf_init penf_init penf_init penf_print penf_print penf_print penf_print penf_print positive positive positive pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I1P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I2P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I4P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_I8P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R16P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R4P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P pow_R8P prefixed prefixed prefixed prefixed prefixed prefixed prefixed prefixed prefixed qreal qreal qreal qreal128_add_qreal32 qreal128_add_qreal64 qreal128_assign_qreal32 qreal128_assign_qreal64 qreal128_div_qreal32 qreal128_div_qreal64 qreal128_eq_qreal32 qreal128_eq_qreal64 qreal128_mul_qreal32 qreal128_mul_qreal64 qreal128_not_eq_qreal32 qreal128_not_eq_qreal64 qreal128_sub_qreal32 qreal128_sub_qreal64 qreal32_add_qreal128 qreal32_add_qreal64 qreal32_assign_qreal128 qreal32_assign_qreal64 qreal32_div_qreal128 qreal32_div_qreal64 qreal32_eq_qreal128 qreal32_eq_qreal64 qreal32_mul_qreal128 qreal32_mul_qreal64 qreal32_not_eq_qreal128 qreal32_not_eq_qreal64 qreal32_sub_qreal128 qreal32_sub_qreal64 qreal64_add_qreal128 qreal64_add_qreal32 qreal64_assign_qreal128 qreal64_assign_qreal32 qreal64_div_qreal128 qreal64_div_qreal32 qreal64_eq_qreal128 qreal64_eq_qreal32 qreal64_mul_qreal128 qreal64_mul_qreal32 qreal64_not_eq_qreal128 qreal64_not_eq_qreal32 qreal64_sub_qreal128 qreal64_sub_qreal32 qunit_qreal qunit_qreal qunit_qreal R16P_mul R16P_mul R16P_mul R16P_mul_uom R16P_mul_uom R16P_mul_uom R4P_mul R4P_mul R4P_mul R4P_mul_uom R4P_mul_uom R4P_mul_uom R8P_mul R8P_mul R8P_mul R8P_mul_uom R8P_mul_uom R8P_mul_uom read_delimited read_file read_file read_formatted read_line read_lines read_lines read_undelimited read_undelimited_listdirected read_unformatted remove_reference remove_reference remove_reference repeat replace replace_one_occurrence reverse sadjustl sadjustl_character sadjustr sadjustr_character scan scount search set set set set set set set set set set set set set_alias_conversion set_alias_conversion set_alias_conversion set_alias_conversion set_alias_conversion set_alias_conversion sindex_character_string sindex_string_character sindex_string_string slen slen_trim slice snakecase split srepeat_character_string srepeat_string_string sscan_character_string sscan_string_character sscan_string_string start_with startcase str str str str str str_a_I1P str_a_I1P str_a_I1P str_a_I1P str_a_I1P str_a_I2P str_a_I2P str_a_I2P str_a_I2P str_a_I2P str_a_I4P str_a_I4P str_a_I4P str_a_I4P str_a_I4P str_a_I8P str_a_I8P str_a_I8P str_a_I8P str_a_I8P str_a_R16P str_a_R16P str_a_R16P str_a_R16P str_a_R16P str_a_R4P str_a_R4P str_a_R4P str_a_R4P str_a_R4P str_a_R8P str_a_R8P str_a_R8P str_a_R8P str_a_R8P str_bol str_bol str_bol str_bol str_bol str_I1P str_I1P str_I1P str_I1P str_I1P str_I2P str_I2P str_I2P str_I2P str_I2P str_I4P str_I4P str_I4P str_I4P str_I4P str_I8P str_I8P str_I8P str_I8P str_I8P str_R16P str_R16P str_R16P str_R16P str_R16P str_R4P str_R4P str_R4P str_R4P str_R4P str_R8P str_R8P str_R8P str_R8P str_R8P strf_I1P strf_I1P strf_I1P strf_I1P strf_I1P strf_I2P strf_I2P strf_I2P strf_I2P strf_I2P strf_I4P strf_I4P strf_I4P strf_I4P strf_I4P strf_I8P strf_I8P strf_I8P strf_I8P strf_I8P strf_R16P strf_R16P strf_R16P strf_R16P strf_R16P strf_R4P strf_R4P strf_R4P strf_R4P strf_R4P strf_R8P strf_R8P strf_R8P strf_R8P strf_R8P strim string_assign_character string_assign_integer_I1P string_assign_integer_I2P string_assign_integer_I4P string_assign_integer_I8P string_assign_real_R16P string_assign_real_R4P string_assign_real_R8P string_assign_string string_concat_character string_concat_character_string string_concat_string string_concat_string_string string_eq_character string_eq_string string_ge_character string_ge_string string_gt_character string_gt_string string_le_character string_le_string string_lt_character string_lt_string string_ne_character string_ne_string stringify stringify stringify stringify stringify stringify stringify stringify stringify stringify stringify stringify strip strz strz strz strz strz strz_I1P strz_I1P strz_I1P strz_I1P strz_I1P strz_I2P strz_I2P strz_I2P strz_I2P strz_I2P strz_I4P strz_I4P strz_I4P strz_I4P strz_I4P strz_I8P strz_I8P strz_I8P strz_I8P strz_I8P sub sub sub sub sub sub sverify swapcase to to to to to to to to to to_integer_I1P to_integer_I2P to_integer_I4P to_integer_I8P to_real_R16P to_real_R4P to_real_R8P trim unescape unique unit unit unit unset unset unset unset unset unset unset unset unset unset unset unset uom uom uom uom128_assign_uom32 uom128_assign_uom64 uom32_assign_uom128 uom32_assign_uom64 uom64_assign_uom128 uom64_assign_uom32 uom_reference uom_reference uom_reference uom_reference128_assign_uom_reference32 uom_reference128_assign_uom_reference64 uom_reference32_assign_uom_reference128 uom_reference32_assign_uom_reference64 uom_reference64_assign_uom_reference128 uom_reference64_assign_uom_reference32 uom_symbol128_assign_uom_symbol32 uom_symbol128_assign_uom_symbol64 uom_symbol32_assign_uom_symbol128 uom_symbol32_assign_uom_symbol64 uom_symbol64_assign_uom_symbol128 uom_symbol64_assign_uom_symbol32 update_references_number update_references_number update_references_number upper write_file write_file write_formatted write_line write_lines write_lines write_unformatted