decode_bits Subroutine

private pure subroutine decode_bits(code, bits)

Decode a base64 string into a sequence of bits stream.

The base64 string must be parsed with a strike of 4 characters and converted into a 3 bytes stream. Considering the base64 code QUJD the decoding process must do

 +-b64 char--+-b64 char--+-b64 char--+-b64 char--+
 |      Q    |      U    |      J    |      D    |
 +-b64 index-+-b64 index-+-b64 index-+-b64 index-+
 !      16   |      20   |      9    |      3    |
 +-6 bits----+-6 bits----+-6 bits----+-6 bits----+
 |0 1 0 0 0 0|0 1 0 1 0 0|0 0 1 0 0 1|0 0 0 0 1 1|
 +-----------+---+-------+-------+---+-----------+
 |0 1 0 0 0 0 0 1|0 1 0 0 0 0 1 0|0 1 0 0 0 0 1 1|
 +-----8 bits----+-----8 bits----+-----8 bits----+

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Characters code.

integer(kind=I1P), intent(out) :: bits(1:)

Bits decoded.

Called By

proc~~decode_bits~2~~CalledByGraph proc~decode_bits~2 decode_bits proc~b64_decode_r8~2 b64_decode_R8 proc~b64_decode_r8~2->proc~decode_bits~2 proc~b64_decode_i2~2 b64_decode_I2 proc~b64_decode_i2~2->proc~decode_bits~2 proc~b64_decode_i8_a~2 b64_decode_I8_a proc~b64_decode_i8_a~2->proc~decode_bits~2 proc~b64_decode_r16_a~2 b64_decode_R16_a proc~b64_decode_r16_a~2->proc~decode_bits~2 proc~b64_decode_r4~2 b64_decode_R4 proc~b64_decode_r4~2->proc~decode_bits~2 proc~b64_decode_i2_a~2 b64_decode_I2_a proc~b64_decode_i2_a~2->proc~decode_bits~2 proc~b64_decode_i1~2 b64_decode_I1 proc~b64_decode_i1~2->proc~decode_bits~2 proc~b64_decode_r4_a~2 b64_decode_R4_a proc~b64_decode_r4_a~2->proc~decode_bits~2 proc~b64_decode_i8~2 b64_decode_I8 proc~b64_decode_i8~2->proc~decode_bits~2 proc~b64_decode_string_a~2 b64_decode_string_a proc~b64_decode_string_a~2->proc~decode_bits~2 proc~b64_decode_string~2 b64_decode_string proc~b64_decode_string~2->proc~decode_bits~2 proc~b64_decode_i1_a~2 b64_decode_I1_a proc~b64_decode_i1_a~2->proc~decode_bits~2 proc~b64_decode_r16~2 b64_decode_R16 proc~b64_decode_r16~2->proc~decode_bits~2 proc~b64_decode_i4~2 b64_decode_I4 proc~b64_decode_i4~2->proc~decode_bits~2 proc~b64_decode_i4_a~2 b64_decode_I4_a proc~b64_decode_i4_a~2->proc~decode_bits~2 proc~b64_decode_r8_a~2 b64_decode_R8_a proc~b64_decode_r8_a~2->proc~decode_bits~2 proc~b64_decode_up~2 b64_decode_up proc~b64_decode_up~2->proc~b64_decode_r8~2 proc~b64_decode_up~2->proc~b64_decode_i2~2 proc~b64_decode_up~2->proc~b64_decode_r4~2 proc~b64_decode_up~2->proc~b64_decode_i1~2 proc~b64_decode_up~2->proc~b64_decode_i8~2 proc~b64_decode_up~2->proc~b64_decode_string~2 proc~b64_decode_up~2->proc~b64_decode_i4~2 interface~b64_decode~2 b64_decode interface~b64_decode~2->proc~b64_decode_r8~2 interface~b64_decode~2->proc~b64_decode_i2~2 interface~b64_decode~2->proc~b64_decode_i8_a~2 interface~b64_decode~2->proc~b64_decode_r4~2 interface~b64_decode~2->proc~b64_decode_i2_a~2 interface~b64_decode~2->proc~b64_decode_i1~2 interface~b64_decode~2->proc~b64_decode_r4_a~2 interface~b64_decode~2->proc~b64_decode_i8~2 interface~b64_decode~2->proc~b64_decode_string_a~2 interface~b64_decode~2->proc~b64_decode_string~2 interface~b64_decode~2->proc~b64_decode_i1_a~2 interface~b64_decode~2->proc~b64_decode_i4~2 interface~b64_decode~2->proc~b64_decode_i4_a~2 interface~b64_decode~2->proc~b64_decode_r8_a~2 proc~autotest~2 autotest proc~autotest~2->interface~b64_decode~2 proc~b64_decode_up_a~2 b64_decode_up_a proc~b64_decode_up_a~2->proc~b64_decode_i8_a~2 proc~b64_decode_up_a~2->proc~b64_decode_i2_a~2 proc~b64_decode_up_a~2->proc~b64_decode_r4_a~2 proc~b64_decode_up_a~2->proc~b64_decode_string_a~2 proc~b64_decode_up_a~2->proc~b64_decode_i1_a~2 proc~b64_decode_up_a~2->proc~b64_decode_i4_a~2 proc~b64_decode_up_a~2->proc~b64_decode_r8_a~2 interface~b64_decode_up~2 b64_decode_up interface~b64_decode_up~2->proc~b64_decode_up_a~2 interface~b64_decode_up~2->proc~b64_decode_up_a~2 interface~b64_decode_up~2->interface~b64_decode_up~2
Help

Source Code


Source Code

  pure subroutine decode_bits(code, bits)
  !---------------------------------------------------------------------------------------------------------------------------------
  !< Decode a base64 string into a sequence of bits stream.
  !<
  !< The base64 string must be parsed with a strike of 4 characters and converted into a 3 bytes stream. Considering the base64 code
  !< `QUJD` the decoding process must do
  !<```
  !< +-b64 char--+-b64 char--+-b64 char--+-b64 char--+
  !< |      Q    |      U    |      J    |      D    |
  !< +-b64 index-+-b64 index-+-b64 index-+-b64 index-+
  !< !      16   |      20   |      9    |      3    |
  !< +-6 bits----+-6 bits----+-6 bits----+-6 bits----+
  !< |0 1 0 0 0 0|0 1 0 1 0 0|0 0 1 0 0 1|0 0 0 0 1 1|
  !< +-----------+---+-------+-------+---+-----------+
  !< |0 1 0 0 0 0 0 1|0 1 0 0 0 0 1 0|0 1 0 0 0 0 1 1|
  !< +-----8 bits----+-----8 bits----+-----8 bits----+
  !<```
  !< @note The bits pattern is returned as a 1-byte element array, the dimension of witch must be computed outside this procedure.
  !<
  !< @warning This procedure is the backend of decoding, thus it must be never called outside the module.
  !---------------------------------------------------------------------------------------------------------------------------------
  character(*), intent(in)  :: code      !< Characters code.
  integer(I1P), intent(out) :: bits(1:)  !< Bits decoded.
  integer(I1P)              :: sixb(1:4) !< 6 bits slices (stored into 8 bits integer) of 24 bits input.
  integer(I8P)              :: c         !< Counter.
  integer(I8P)              :: e         !< Counter.
  integer(I8P)              :: Nb        !< Length of bits array.
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  Nb=size(bits,dim=1,kind=I8P)
  e = 1_I8P
  do c=1_I8P,len(code),4_I8P ! loop over code characters: 3 bytes (24 bits) scanning
    sixb = 0_I1P
    sixb(1) = index(base64,code(c  :c  )) - 1
    sixb(2) = index(base64,code(c+1:c+1)) - 1
    sixb(3) = index(base64,code(c+2:c+2)) - 1
    sixb(4) = index(base64,code(c+3:c+3)) - 1
      call mvbits(sixb(1),0,6,bits(e  ),2) ; call mvbits(sixb(2),4,2,bits(e  ),0)
    if (e+1<=Nb) then
      call mvbits(sixb(2),0,4,bits(e+1),4) ; call mvbits(sixb(3),2,4,bits(e+1),0)
    endif
    if (e+2<=Nb) then
      call mvbits(sixb(3),0,2,bits(e+2),6) ; call mvbits(sixb(4),0,6,bits(e+2),0)
    endif
    e = e + 3_I8P
  enddo
  return
  !---------------------------------------------------------------------------------------------------------------------------------
  endsubroutine decode_bits


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