uom_reference64_assign_uom_reference32 Subroutine

private subroutine uom_reference64_assign_uom_reference32(lhs, rhs)

uom_reference64 = uom_reference32 assignment.

Arguments

Type IntentOptional AttributesName
type(uom_reference64), intent(inout) :: lhs

Left hand side.

type(uom_reference32), intent(in) :: rhs

Right hand side.

Called By

proc~~uom_reference64_assign_uom_reference32~~CalledByGraph proc~uom_reference64_assign_uom_reference32 uom_reference64_assign_uom_reference32 interface~assignment(=) assignment(=) interface~assignment(=)->proc~uom_reference64_assign_uom_reference32
Help


Source Code

  subroutine uom_reference64_assign_uom_reference32(lhs, rhs)
  !---------------------------------------------------------------------------------------------------------------------------------
  !< `uom_reference64 = uom_reference32` assignment.
  !---------------------------------------------------------------------------------------------------------------------------------
  type(uom_reference64), intent(inout) :: lhs            !< Left hand side.
  type(uom_reference32), intent(in)    :: rhs            !< Right hand side.
  type(uom_symbol32), allocatable      :: rhs_aliases(:) !< RHS uom symbol aliases.
  type(uom_symbol32)                   :: rhs_dimensions !< RHS dimensions.
  type(uom_symbol64), allocatable      :: lhs_aliases(:) !< LHS uom symbol aliases.
  type(uom_symbol64)                   :: lhs_dimensions !< LHS dimensions.
  integer(I_P)                         :: a              !< Counter.
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  if (rhs%is_defined())  then
    if (.not.lhs%is_defined())  then
      call rhs%get_aliases(aliases=rhs_aliases)
      call rhs%get_dimensions(dimensions=rhs_dimensions)
      if (allocated(rhs_aliases)) then
        allocate(lhs_aliases(1:size(rhs_aliases, dim=1)))
        do a=1, size(rhs_aliases, dim=1)
          lhs_aliases(a) = rhs_aliases(a)
        enddo
        call lhs%set(aliases=lhs_aliases)
      endif
      if (rhs_dimensions%is_defined()) then
        lhs_dimensions = rhs_dimensions
        call lhs%set(dimensions=lhs_dimensions)
      endif
    else
      write(stderr, "(A)") 'error: cannot assign between "'//&
                           lhs%stringify(with_dimensions=.true., with_aliases=.true.)//'" and "'//&
                           rhs%stringify(with_dimensions=.true., with_aliases=.true.)//'"'
      stop
    endif
  endif
  !---------------------------------------------------------------------------------------------------------------------------------
  endsubroutine uom_reference64_assign_uom_reference32


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