encode_bits Subroutine

private pure subroutine encode_bits(bits, padd, code)

Arguments

Type IntentOptional Attributes Name
integer(kind=I1P), intent(in) :: bits(1:)
integer(kind=I4P), intent(in) :: padd
character(len=*), intent(out) :: code

Called by

proc~~encode_bits~~CalledByGraph proc~encode_bits encode_bits proc~b64_encode_i1 b64_encode_I1 proc~b64_encode_i1->proc~encode_bits proc~b64_encode_i1_a b64_encode_I1_a proc~b64_encode_i1_a->proc~encode_bits proc~b64_encode_i2 b64_encode_I2 proc~b64_encode_i2->proc~encode_bits proc~b64_encode_i2_a b64_encode_I2_a proc~b64_encode_i2_a->proc~encode_bits proc~b64_encode_i4 b64_encode_I4 proc~b64_encode_i4->proc~encode_bits proc~b64_encode_i4_a b64_encode_I4_a proc~b64_encode_i4_a->proc~encode_bits proc~b64_encode_i8 b64_encode_I8 proc~b64_encode_i8->proc~encode_bits proc~b64_encode_i8_a b64_encode_I8_a proc~b64_encode_i8_a->proc~encode_bits proc~b64_encode_r16 b64_encode_R16 proc~b64_encode_r16->proc~encode_bits proc~b64_encode_r16_a b64_encode_R16_a proc~b64_encode_r16_a->proc~encode_bits proc~b64_encode_r4 b64_encode_R4 proc~b64_encode_r4->proc~encode_bits proc~b64_encode_r4_a b64_encode_R4_a proc~b64_encode_r4_a->proc~encode_bits proc~b64_encode_r8 b64_encode_R8 proc~b64_encode_r8->proc~encode_bits proc~b64_encode_r8_a b64_encode_R8_a proc~b64_encode_r8_a->proc~encode_bits proc~b64_encode_string b64_encode_string proc~b64_encode_string->proc~encode_bits proc~b64_encode_string_a b64_encode_string_a proc~b64_encode_string_a->proc~encode_bits interface~b64_encode b64_encode interface~b64_encode->proc~b64_encode_i1 interface~b64_encode->proc~b64_encode_i1_a interface~b64_encode->proc~b64_encode_i2 interface~b64_encode->proc~b64_encode_i2_a interface~b64_encode->proc~b64_encode_i4 interface~b64_encode->proc~b64_encode_i4_a interface~b64_encode->proc~b64_encode_i8 interface~b64_encode->proc~b64_encode_i8_a interface~b64_encode->proc~b64_encode_r4 interface~b64_encode->proc~b64_encode_r4_a interface~b64_encode->proc~b64_encode_r8 interface~b64_encode->proc~b64_encode_r8_a interface~b64_encode->proc~b64_encode_string interface~b64_encode->proc~b64_encode_string_a proc~b64_encode_up b64_encode_up proc~b64_encode_up->proc~b64_encode_i1 proc~b64_encode_up->proc~b64_encode_i2 proc~b64_encode_up->proc~b64_encode_i4 proc~b64_encode_up->proc~b64_encode_i8 proc~b64_encode_up->proc~b64_encode_r4 proc~b64_encode_up->proc~b64_encode_r8 proc~b64_encode_up->proc~b64_encode_string proc~b64_encode_up_a b64_encode_up_a proc~b64_encode_up_a->proc~b64_encode_i1_a proc~b64_encode_up_a->proc~b64_encode_i2_a proc~b64_encode_up_a->proc~b64_encode_i4_a proc~b64_encode_up_a->proc~b64_encode_i8_a proc~b64_encode_up_a->proc~b64_encode_r4_a proc~b64_encode_up_a->proc~b64_encode_r8_a proc~b64_encode_up_a->proc~b64_encode_string_a interface~b64_encode_up b64_encode_up interface~b64_encode_up->proc~b64_encode_up_a interface~b64_encode_up->interface~b64_encode_up proc~encode string%encode proc~encode->interface~b64_encode proc~encode_binary_dataarray1_rank1_i1p encode_binary_dataarray1_rank1_I1P proc~encode_binary_dataarray1_rank1_i1p->interface~b64_encode proc~encode_binary_dataarray1_rank1_i2p encode_binary_dataarray1_rank1_I2P proc~encode_binary_dataarray1_rank1_i2p->interface~b64_encode proc~encode_binary_dataarray1_rank1_i4p encode_binary_dataarray1_rank1_I4P proc~encode_binary_dataarray1_rank1_i4p->interface~b64_encode proc~encode_binary_dataarray1_rank1_i8p encode_binary_dataarray1_rank1_I8P proc~encode_binary_dataarray1_rank1_i8p->interface~b64_encode proc~encode_binary_dataarray1_rank1_r4p encode_binary_dataarray1_rank1_R4P proc~encode_binary_dataarray1_rank1_r4p->interface~b64_encode proc~encode_binary_dataarray1_rank1_r8p encode_binary_dataarray1_rank1_R8P proc~encode_binary_dataarray1_rank1_r8p->interface~b64_encode proc~encode_binary_dataarray1_rank2_i1p encode_binary_dataarray1_rank2_I1P proc~encode_binary_dataarray1_rank2_i1p->interface~b64_encode proc~encode_binary_dataarray1_rank2_i2p encode_binary_dataarray1_rank2_I2P proc~encode_binary_dataarray1_rank2_i2p->interface~b64_encode proc~encode_binary_dataarray1_rank2_i4p encode_binary_dataarray1_rank2_I4P proc~encode_binary_dataarray1_rank2_i4p->interface~b64_encode proc~encode_binary_dataarray1_rank2_i8p encode_binary_dataarray1_rank2_I8P proc~encode_binary_dataarray1_rank2_i8p->interface~b64_encode proc~encode_binary_dataarray1_rank2_r4p encode_binary_dataarray1_rank2_R4P proc~encode_binary_dataarray1_rank2_r4p->interface~b64_encode proc~encode_binary_dataarray1_rank2_r8p encode_binary_dataarray1_rank2_R8P proc~encode_binary_dataarray1_rank2_r8p->interface~b64_encode proc~encode_binary_dataarray1_rank3_i1p encode_binary_dataarray1_rank3_I1P proc~encode_binary_dataarray1_rank3_i1p->interface~b64_encode proc~encode_binary_dataarray1_rank3_i2p encode_binary_dataarray1_rank3_I2P proc~encode_binary_dataarray1_rank3_i2p->interface~b64_encode proc~encode_binary_dataarray1_rank3_i4p encode_binary_dataarray1_rank3_I4P proc~encode_binary_dataarray1_rank3_i4p->interface~b64_encode proc~encode_binary_dataarray1_rank3_i8p encode_binary_dataarray1_rank3_I8P proc~encode_binary_dataarray1_rank3_i8p->interface~b64_encode proc~encode_binary_dataarray1_rank3_r4p encode_binary_dataarray1_rank3_R4P proc~encode_binary_dataarray1_rank3_r4p->interface~b64_encode proc~encode_binary_dataarray1_rank3_r8p encode_binary_dataarray1_rank3_R8P proc~encode_binary_dataarray1_rank3_r8p->interface~b64_encode proc~encode_binary_dataarray1_rank4_i1p encode_binary_dataarray1_rank4_I1P proc~encode_binary_dataarray1_rank4_i1p->interface~b64_encode proc~encode_binary_dataarray1_rank4_i2p encode_binary_dataarray1_rank4_I2P proc~encode_binary_dataarray1_rank4_i2p->interface~b64_encode proc~encode_binary_dataarray1_rank4_i4p encode_binary_dataarray1_rank4_I4P proc~encode_binary_dataarray1_rank4_i4p->interface~b64_encode proc~encode_binary_dataarray1_rank4_i8p encode_binary_dataarray1_rank4_I8P proc~encode_binary_dataarray1_rank4_i8p->interface~b64_encode proc~encode_binary_dataarray1_rank4_r4p encode_binary_dataarray1_rank4_R4P proc~encode_binary_dataarray1_rank4_r4p->interface~b64_encode proc~encode_binary_dataarray1_rank4_r8p encode_binary_dataarray1_rank4_R8P proc~encode_binary_dataarray1_rank4_r8p->interface~b64_encode proc~encode_binary_dataarray3_rank1_i1p encode_binary_dataarray3_rank1_I1P proc~encode_binary_dataarray3_rank1_i1p->interface~b64_encode proc~encode_binary_dataarray3_rank1_i2p encode_binary_dataarray3_rank1_I2P proc~encode_binary_dataarray3_rank1_i2p->interface~b64_encode proc~encode_binary_dataarray3_rank1_i4p encode_binary_dataarray3_rank1_I4P proc~encode_binary_dataarray3_rank1_i4p->interface~b64_encode proc~encode_binary_dataarray3_rank1_i8p encode_binary_dataarray3_rank1_I8P proc~encode_binary_dataarray3_rank1_i8p->interface~b64_encode proc~encode_binary_dataarray3_rank1_r4p encode_binary_dataarray3_rank1_R4P proc~encode_binary_dataarray3_rank1_r4p->interface~b64_encode proc~encode_binary_dataarray3_rank1_r8p encode_binary_dataarray3_rank1_R8P proc~encode_binary_dataarray3_rank1_r8p->interface~b64_encode proc~encode_binary_dataarray3_rank3_i1p encode_binary_dataarray3_rank3_I1P proc~encode_binary_dataarray3_rank3_i1p->interface~b64_encode proc~encode_binary_dataarray3_rank3_i2p encode_binary_dataarray3_rank3_I2P proc~encode_binary_dataarray3_rank3_i2p->interface~b64_encode proc~encode_binary_dataarray3_rank3_i4p encode_binary_dataarray3_rank3_I4P proc~encode_binary_dataarray3_rank3_i4p->interface~b64_encode proc~encode_binary_dataarray3_rank3_i8p encode_binary_dataarray3_rank3_I8P proc~encode_binary_dataarray3_rank3_i8p->interface~b64_encode proc~encode_binary_dataarray3_rank3_r4p encode_binary_dataarray3_rank3_R4P proc~encode_binary_dataarray3_rank3_r4p->interface~b64_encode proc~encode_binary_dataarray3_rank3_r8p encode_binary_dataarray3_rank3_R8P proc~encode_binary_dataarray3_rank3_r8p->interface~b64_encode proc~encode_binary_dataarray6_rank1_i1p encode_binary_dataarray6_rank1_I1P proc~encode_binary_dataarray6_rank1_i1p->interface~b64_encode proc~encode_binary_dataarray6_rank1_i2p encode_binary_dataarray6_rank1_I2P proc~encode_binary_dataarray6_rank1_i2p->interface~b64_encode proc~encode_binary_dataarray6_rank1_i4p encode_binary_dataarray6_rank1_I4P proc~encode_binary_dataarray6_rank1_i4p->interface~b64_encode proc~encode_binary_dataarray6_rank1_i8p encode_binary_dataarray6_rank1_I8P proc~encode_binary_dataarray6_rank1_i8p->interface~b64_encode proc~encode_binary_dataarray6_rank1_r4p encode_binary_dataarray6_rank1_R4P proc~encode_binary_dataarray6_rank1_r4p->interface~b64_encode proc~encode_binary_dataarray6_rank1_r8p encode_binary_dataarray6_rank1_R8P proc~encode_binary_dataarray6_rank1_r8p->interface~b64_encode proc~encode_binary_dataarray6_rank3_i1p encode_binary_dataarray6_rank3_I1P proc~encode_binary_dataarray6_rank3_i1p->interface~b64_encode proc~encode_binary_dataarray6_rank3_i2p encode_binary_dataarray6_rank3_I2P proc~encode_binary_dataarray6_rank3_i2p->interface~b64_encode proc~encode_binary_dataarray6_rank3_i4p encode_binary_dataarray6_rank3_I4P proc~encode_binary_dataarray6_rank3_i4p->interface~b64_encode proc~encode_binary_dataarray6_rank3_i8p encode_binary_dataarray6_rank3_I8P proc~encode_binary_dataarray6_rank3_i8p->interface~b64_encode proc~encode_binary_dataarray6_rank3_r4p encode_binary_dataarray6_rank3_R4P proc~encode_binary_dataarray6_rank3_r4p->interface~b64_encode proc~encode_binary_dataarray6_rank3_r8p encode_binary_dataarray6_rank3_R8P proc~encode_binary_dataarray6_rank3_r8p->interface~b64_encode proc~encode~2 string%encode proc~encode~2->interface~b64_encode program~volatile_doctest~1049 volatile_doctest program~volatile_doctest~1049->interface~b64_encode program~volatile_doctest~1053 volatile_doctest program~volatile_doctest~1053->interface~b64_encode program~volatile_doctest~107 volatile_doctest program~volatile_doctest~107->interface~b64_encode program~volatile_doctest~1081 volatile_doctest program~volatile_doctest~1081->interface~b64_encode program~volatile_doctest~1087 volatile_doctest program~volatile_doctest~1087->interface~b64_encode program~volatile_doctest~110 volatile_doctest program~volatile_doctest~110->interface~b64_encode program~volatile_doctest~1103 volatile_doctest program~volatile_doctest~1103->interface~b64_encode program~volatile_doctest~1119 volatile_doctest program~volatile_doctest~1119->interface~b64_encode program~volatile_doctest~112 volatile_doctest program~volatile_doctest~112->interface~b64_encode program~volatile_doctest~1129 volatile_doctest program~volatile_doctest~1129->interface~b64_encode program~volatile_doctest~1150 volatile_doctest program~volatile_doctest~1150->interface~b64_encode program~volatile_doctest~1155 volatile_doctest program~volatile_doctest~1155->interface~b64_encode program~volatile_doctest~1167 volatile_doctest program~volatile_doctest~1167->interface~b64_encode program~volatile_doctest~1172 volatile_doctest program~volatile_doctest~1172->interface~b64_encode program~volatile_doctest~1178 volatile_doctest program~volatile_doctest~1178->interface~b64_encode program~volatile_doctest~118 volatile_doctest program~volatile_doctest~118->interface~b64_encode program~volatile_doctest~1217 volatile_doctest program~volatile_doctest~1217->interface~b64_encode program~volatile_doctest~1228 volatile_doctest program~volatile_doctest~1228->interface~b64_encode program~volatile_doctest~1237 volatile_doctest program~volatile_doctest~1237->interface~b64_encode program~volatile_doctest~1257 volatile_doctest program~volatile_doctest~1257->interface~b64_encode program~volatile_doctest~1258 volatile_doctest program~volatile_doctest~1258->interface~b64_encode program~volatile_doctest~158 volatile_doctest program~volatile_doctest~158->interface~b64_encode program~volatile_doctest~17 volatile_doctest program~volatile_doctest~17->interface~b64_encode program~volatile_doctest~183 volatile_doctest program~volatile_doctest~183->interface~b64_encode program~volatile_doctest~242 volatile_doctest program~volatile_doctest~242->interface~b64_encode program~volatile_doctest~256 volatile_doctest program~volatile_doctest~256->interface~b64_encode program~volatile_doctest~275 volatile_doctest program~volatile_doctest~275->interface~b64_encode program~volatile_doctest~279 volatile_doctest program~volatile_doctest~279->interface~b64_encode program~volatile_doctest~294 volatile_doctest program~volatile_doctest~294->interface~b64_encode program~volatile_doctest~301 volatile_doctest program~volatile_doctest~301->interface~b64_encode program~volatile_doctest~305 volatile_doctest program~volatile_doctest~305->interface~b64_encode program~volatile_doctest~391 volatile_doctest program~volatile_doctest~391->interface~b64_encode program~volatile_doctest~4 volatile_doctest program~volatile_doctest~4->interface~b64_encode program~volatile_doctest~411 volatile_doctest program~volatile_doctest~411->interface~b64_encode program~volatile_doctest~420 volatile_doctest program~volatile_doctest~420->interface~b64_encode program~volatile_doctest~423 volatile_doctest program~volatile_doctest~423->interface~b64_encode program~volatile_doctest~440 volatile_doctest program~volatile_doctest~440->interface~b64_encode program~volatile_doctest~484 volatile_doctest program~volatile_doctest~484->interface~b64_encode program~volatile_doctest~55 volatile_doctest program~volatile_doctest~55->interface~b64_encode program~volatile_doctest~563 volatile_doctest program~volatile_doctest~563->interface~b64_encode program~volatile_doctest~576 volatile_doctest program~volatile_doctest~576->interface~b64_encode program~volatile_doctest~577 volatile_doctest program~volatile_doctest~577->interface~b64_encode program~volatile_doctest~588 volatile_doctest program~volatile_doctest~588->interface~b64_encode program~volatile_doctest~589 volatile_doctest program~volatile_doctest~589->interface~b64_encode program~volatile_doctest~617 volatile_doctest program~volatile_doctest~617->interface~b64_encode program~volatile_doctest~620 volatile_doctest program~volatile_doctest~620->interface~b64_encode program~volatile_doctest~622 volatile_doctest program~volatile_doctest~622->interface~b64_encode program~volatile_doctest~623 volatile_doctest program~volatile_doctest~623->interface~b64_encode program~volatile_doctest~693 volatile_doctest program~volatile_doctest~693->interface~b64_encode program~volatile_doctest~707 volatile_doctest program~volatile_doctest~707->interface~b64_encode program~volatile_doctest~750 volatile_doctest program~volatile_doctest~750->interface~b64_encode program~volatile_doctest~754 volatile_doctest program~volatile_doctest~754->interface~b64_encode program~volatile_doctest~771 volatile_doctest program~volatile_doctest~771->interface~b64_encode program~volatile_doctest~78 volatile_doctest program~volatile_doctest~78->interface~b64_encode program~volatile_doctest~808 volatile_doctest program~volatile_doctest~808->interface~b64_encode program~volatile_doctest~825 volatile_doctest program~volatile_doctest~825->interface~b64_encode program~volatile_doctest~842 volatile_doctest program~volatile_doctest~842->interface~b64_encode program~volatile_doctest~85 volatile_doctest program~volatile_doctest~85->interface~b64_encode program~volatile_doctest~850 volatile_doctest program~volatile_doctest~850->interface~b64_encode program~volatile_doctest~888 volatile_doctest program~volatile_doctest~888->interface~b64_encode program~volatile_doctest~893 volatile_doctest program~volatile_doctest~893->interface~b64_encode program~volatile_doctest~916 volatile_doctest program~volatile_doctest~916->interface~b64_encode program~volatile_doctest~944 volatile_doctest program~volatile_doctest~944->interface~b64_encode program~volatile_doctest~975 volatile_doctest program~volatile_doctest~975->interface~b64_encode interface~encode_binary_dataarray encode_binary_dataarray interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank1_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank2_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank3_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray1_rank4_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank1_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray3_rank3_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank1_r8p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_i1p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_i2p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_i4p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_i8p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_r4p interface~encode_binary_dataarray->proc~encode_binary_dataarray6_rank3_r8p program~volatile_doctest~1030 volatile_doctest program~volatile_doctest~1030->proc~encode program~volatile_doctest~115 volatile_doctest program~volatile_doctest~115->proc~encode proc~write_dataarray1_rank1_i1p~2 xml_writer_binary_local%write_dataarray1_rank1_I1P proc~write_dataarray1_rank1_i1p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank1_i2p~2 xml_writer_binary_local%write_dataarray1_rank1_I2P proc~write_dataarray1_rank1_i2p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank1_i4p~2 xml_writer_binary_local%write_dataarray1_rank1_I4P proc~write_dataarray1_rank1_i4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank1_i8p~2 xml_writer_binary_local%write_dataarray1_rank1_I8P proc~write_dataarray1_rank1_i8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank1_r4p~2 xml_writer_binary_local%write_dataarray1_rank1_R4P proc~write_dataarray1_rank1_r4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank1_r8p~2 xml_writer_binary_local%write_dataarray1_rank1_R8P proc~write_dataarray1_rank1_r8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_i1p~2 xml_writer_binary_local%write_dataarray1_rank2_I1P proc~write_dataarray1_rank2_i1p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_i2p~2 xml_writer_binary_local%write_dataarray1_rank2_I2P proc~write_dataarray1_rank2_i2p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_i4p~2 xml_writer_binary_local%write_dataarray1_rank2_I4P proc~write_dataarray1_rank2_i4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_i8p~2 xml_writer_binary_local%write_dataarray1_rank2_I8P proc~write_dataarray1_rank2_i8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_r4p~2 xml_writer_binary_local%write_dataarray1_rank2_R4P proc~write_dataarray1_rank2_r4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank2_r8p~2 xml_writer_binary_local%write_dataarray1_rank2_R8P proc~write_dataarray1_rank2_r8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_i1p~2 xml_writer_binary_local%write_dataarray1_rank3_I1P proc~write_dataarray1_rank3_i1p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_i2p~2 xml_writer_binary_local%write_dataarray1_rank3_I2P proc~write_dataarray1_rank3_i2p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_i4p~2 xml_writer_binary_local%write_dataarray1_rank3_I4P proc~write_dataarray1_rank3_i4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_i8p~2 xml_writer_binary_local%write_dataarray1_rank3_I8P proc~write_dataarray1_rank3_i8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_r4p~2 xml_writer_binary_local%write_dataarray1_rank3_R4P proc~write_dataarray1_rank3_r4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank3_r8p~2 xml_writer_binary_local%write_dataarray1_rank3_R8P proc~write_dataarray1_rank3_r8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_i1p~2 xml_writer_binary_local%write_dataarray1_rank4_I1P proc~write_dataarray1_rank4_i1p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_i2p~2 xml_writer_binary_local%write_dataarray1_rank4_I2P proc~write_dataarray1_rank4_i2p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_i4p~2 xml_writer_binary_local%write_dataarray1_rank4_I4P proc~write_dataarray1_rank4_i4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_i8p~2 xml_writer_binary_local%write_dataarray1_rank4_I8P proc~write_dataarray1_rank4_i8p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_r4p~2 xml_writer_binary_local%write_dataarray1_rank4_R4P proc~write_dataarray1_rank4_r4p~2->interface~encode_binary_dataarray proc~write_dataarray1_rank4_r8p~2 xml_writer_binary_local%write_dataarray1_rank4_R8P proc~write_dataarray1_rank4_r8p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_i1p~2 xml_writer_binary_local%write_dataarray3_rank1_I1P proc~write_dataarray3_rank1_i1p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_i2p~2 xml_writer_binary_local%write_dataarray3_rank1_I2P proc~write_dataarray3_rank1_i2p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_i4p~2 xml_writer_binary_local%write_dataarray3_rank1_I4P proc~write_dataarray3_rank1_i4p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_i8p~2 xml_writer_binary_local%write_dataarray3_rank1_I8P proc~write_dataarray3_rank1_i8p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_r4p~2 xml_writer_binary_local%write_dataarray3_rank1_R4P proc~write_dataarray3_rank1_r4p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank1_r8p~2 xml_writer_binary_local%write_dataarray3_rank1_R8P proc~write_dataarray3_rank1_r8p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_i1p~2 xml_writer_binary_local%write_dataarray3_rank3_I1P proc~write_dataarray3_rank3_i1p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_i2p~2 xml_writer_binary_local%write_dataarray3_rank3_I2P proc~write_dataarray3_rank3_i2p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_i4p~2 xml_writer_binary_local%write_dataarray3_rank3_I4P proc~write_dataarray3_rank3_i4p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_i8p~2 xml_writer_binary_local%write_dataarray3_rank3_I8P proc~write_dataarray3_rank3_i8p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_r4p~2 xml_writer_binary_local%write_dataarray3_rank3_R4P proc~write_dataarray3_rank3_r4p~2->interface~encode_binary_dataarray proc~write_dataarray3_rank3_r8p~2 xml_writer_binary_local%write_dataarray3_rank3_R8P proc~write_dataarray3_rank3_r8p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_i1p~2 xml_writer_binary_local%write_dataarray6_rank1_I1P proc~write_dataarray6_rank1_i1p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_i2p~2 xml_writer_binary_local%write_dataarray6_rank1_I2P proc~write_dataarray6_rank1_i2p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_i4p~2 xml_writer_binary_local%write_dataarray6_rank1_I4P proc~write_dataarray6_rank1_i4p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_i8p~2 xml_writer_binary_local%write_dataarray6_rank1_I8P proc~write_dataarray6_rank1_i8p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_r4p~2 xml_writer_binary_local%write_dataarray6_rank1_R4P proc~write_dataarray6_rank1_r4p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank1_r8p~2 xml_writer_binary_local%write_dataarray6_rank1_R8P proc~write_dataarray6_rank1_r8p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_i1p~2 xml_writer_binary_local%write_dataarray6_rank3_I1P proc~write_dataarray6_rank3_i1p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_i2p~2 xml_writer_binary_local%write_dataarray6_rank3_I2P proc~write_dataarray6_rank3_i2p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_i4p~2 xml_writer_binary_local%write_dataarray6_rank3_I4P proc~write_dataarray6_rank3_i4p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_i8p~2 xml_writer_binary_local%write_dataarray6_rank3_I8P proc~write_dataarray6_rank3_i8p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_r4p~2 xml_writer_binary_local%write_dataarray6_rank3_R4P proc~write_dataarray6_rank3_r4p~2->interface~encode_binary_dataarray proc~write_dataarray6_rank3_r8p~2 xml_writer_binary_local%write_dataarray6_rank3_R8P proc~write_dataarray6_rank3_r8p~2->interface~encode_binary_dataarray proc~write_dataarray_appended xml_writer_appended%write_dataarray_appended proc~write_dataarray_appended->interface~encode_binary_dataarray none~write_dataarray xml_writer_abstract%write_dataarray none~write_dataarray->proc~write_dataarray1_rank1_i1p~2 none~write_dataarray->proc~write_dataarray1_rank1_i2p~2 none~write_dataarray->proc~write_dataarray1_rank1_i4p~2 none~write_dataarray->proc~write_dataarray1_rank1_i8p~2 none~write_dataarray->proc~write_dataarray1_rank1_r4p~2 none~write_dataarray->proc~write_dataarray1_rank1_r8p~2 none~write_dataarray->proc~write_dataarray1_rank2_i1p~2 none~write_dataarray->proc~write_dataarray1_rank2_i2p~2 none~write_dataarray->proc~write_dataarray1_rank2_i4p~2 none~write_dataarray->proc~write_dataarray1_rank2_i8p~2 none~write_dataarray->proc~write_dataarray1_rank2_r4p~2 none~write_dataarray->proc~write_dataarray1_rank2_r8p~2 none~write_dataarray->proc~write_dataarray1_rank3_i1p~2 none~write_dataarray->proc~write_dataarray1_rank3_i2p~2 none~write_dataarray->proc~write_dataarray1_rank3_i4p~2 none~write_dataarray->proc~write_dataarray1_rank3_i8p~2 none~write_dataarray->proc~write_dataarray1_rank3_r4p~2 none~write_dataarray->proc~write_dataarray1_rank3_r8p~2 none~write_dataarray->proc~write_dataarray1_rank4_i1p~2 none~write_dataarray->proc~write_dataarray1_rank4_i2p~2 none~write_dataarray->proc~write_dataarray1_rank4_i4p~2 none~write_dataarray->proc~write_dataarray1_rank4_i8p~2 none~write_dataarray->proc~write_dataarray1_rank4_r4p~2 none~write_dataarray->proc~write_dataarray1_rank4_r8p~2 none~write_dataarray->proc~write_dataarray3_rank1_i1p~2 none~write_dataarray->proc~write_dataarray3_rank1_i2p~2 none~write_dataarray->proc~write_dataarray3_rank1_i4p~2 none~write_dataarray->proc~write_dataarray3_rank1_i8p~2 none~write_dataarray->proc~write_dataarray3_rank1_r4p~2 none~write_dataarray->proc~write_dataarray3_rank1_r8p~2 none~write_dataarray->proc~write_dataarray3_rank3_i1p~2 none~write_dataarray->proc~write_dataarray3_rank3_i2p~2 none~write_dataarray->proc~write_dataarray3_rank3_i4p~2 none~write_dataarray->proc~write_dataarray3_rank3_i8p~2 none~write_dataarray->proc~write_dataarray3_rank3_r4p~2 none~write_dataarray->proc~write_dataarray3_rank3_r8p~2 none~write_dataarray->proc~write_dataarray6_rank1_i1p~2 none~write_dataarray->proc~write_dataarray6_rank1_i2p~2 none~write_dataarray->proc~write_dataarray6_rank1_i4p~2 none~write_dataarray->proc~write_dataarray6_rank1_i8p~2 none~write_dataarray->proc~write_dataarray6_rank1_r4p~2 none~write_dataarray->proc~write_dataarray6_rank1_r8p~2 none~write_dataarray->proc~write_dataarray6_rank3_i1p~2 none~write_dataarray->proc~write_dataarray6_rank3_i2p~2 none~write_dataarray->proc~write_dataarray6_rank3_i4p~2 none~write_dataarray->proc~write_dataarray6_rank3_i8p~2 none~write_dataarray->proc~write_dataarray6_rank3_r4p~2 none~write_dataarray->proc~write_dataarray6_rank3_r8p~2 proc~finalize~2 xml_writer_appended%finalize proc~finalize~2->proc~write_dataarray_appended proc~write_check write_check proc~write_check->none~write_dataarray none~write_fielddata xml_writer_abstract%write_fielddata proc~write_check->none~write_fielddata none~write_geo xml_writer_abstract%write_geo proc~write_check->none~write_geo proc~write_connectivity xml_writer_abstract%write_connectivity proc~write_connectivity->none~write_dataarray proc~write_data write_data proc~write_data->none~write_dataarray proc~write_data->none~write_geo proc~write_data~2 write_data proc~write_data~2->none~write_dataarray proc~write_data~2->none~write_geo proc~write_data~3 write_data proc~write_data~3->none~write_dataarray proc~write_data~3->proc~write_connectivity proc~write_data~3->none~write_geo proc~write_data~4 write_data proc~write_data~4->none~write_dataarray proc~write_data~4->proc~write_connectivity proc~write_data~4->none~write_geo proc~write_fielddata1_rank0 xml_writer_abstract%write_fielddata1_rank0 proc~write_fielddata1_rank0->none~write_dataarray proc~write_geo_rect_data3_rank1_r4p xml_writer_abstract%write_geo_rect_data3_rank1_R4P proc~write_geo_rect_data3_rank1_r4p->none~write_dataarray proc~write_geo_rect_data3_rank1_r8p xml_writer_abstract%write_geo_rect_data3_rank1_R8P proc~write_geo_rect_data3_rank1_r8p->none~write_dataarray proc~write_geo_strg_data1_rank2_r4p xml_writer_abstract%write_geo_strg_data1_rank2_R4P proc~write_geo_strg_data1_rank2_r4p->none~write_dataarray proc~write_geo_strg_data1_rank2_r8p xml_writer_abstract%write_geo_strg_data1_rank2_R8P proc~write_geo_strg_data1_rank2_r8p->none~write_dataarray proc~write_geo_strg_data1_rank4_r4p xml_writer_abstract%write_geo_strg_data1_rank4_R4P proc~write_geo_strg_data1_rank4_r4p->none~write_dataarray proc~write_geo_strg_data1_rank4_r8p xml_writer_abstract%write_geo_strg_data1_rank4_R8P proc~write_geo_strg_data1_rank4_r8p->none~write_dataarray proc~write_geo_strg_data3_rank1_r4p xml_writer_abstract%write_geo_strg_data3_rank1_R4P proc~write_geo_strg_data3_rank1_r4p->none~write_dataarray proc~write_geo_strg_data3_rank1_r8p xml_writer_abstract%write_geo_strg_data3_rank1_R8P proc~write_geo_strg_data3_rank1_r8p->none~write_dataarray proc~write_geo_strg_data3_rank3_r4p xml_writer_abstract%write_geo_strg_data3_rank3_R4P proc~write_geo_strg_data3_rank3_r4p->none~write_dataarray proc~write_geo_strg_data3_rank3_r8p xml_writer_abstract%write_geo_strg_data3_rank3_R8P proc~write_geo_strg_data3_rank3_r8p->none~write_dataarray proc~write_geo_unst_data1_rank2_r4p xml_writer_abstract%write_geo_unst_data1_rank2_R4P proc~write_geo_unst_data1_rank2_r4p->none~write_dataarray proc~write_geo_unst_data1_rank2_r8p xml_writer_abstract%write_geo_unst_data1_rank2_R8P proc~write_geo_unst_data1_rank2_r8p->none~write_dataarray proc~write_geo_unst_data3_rank1_r4p xml_writer_abstract%write_geo_unst_data3_rank1_R4P proc~write_geo_unst_data3_rank1_r4p->none~write_dataarray proc~write_geo_unst_data3_rank1_r8p xml_writer_abstract%write_geo_unst_data3_rank1_R8P proc~write_geo_unst_data3_rank1_r8p->none~write_dataarray proc~write_pvts write_pvts proc~write_pvts->none~write_dataarray proc~write_slave write_slave proc~write_slave->none~write_dataarray proc~write_slave->none~write_fielddata proc~write_slave->none~write_geo proc~write_vts write_vts proc~write_vts->none~write_dataarray proc~write_vts->none~write_geo program~vtk_fortran_write_vtr vtk_fortran_write_vtr program~vtk_fortran_write_vtr->none~write_dataarray program~vtk_fortran_write_vtr->none~write_fielddata program~vtk_fortran_write_vtr->none~write_geo none~write_fielddata->proc~write_fielddata1_rank0 none~write_geo->proc~write_geo_rect_data3_rank1_r4p none~write_geo->proc~write_geo_rect_data3_rank1_r8p none~write_geo->proc~write_geo_strg_data1_rank2_r4p none~write_geo->proc~write_geo_strg_data1_rank2_r8p none~write_geo->proc~write_geo_strg_data1_rank4_r4p none~write_geo->proc~write_geo_strg_data1_rank4_r8p none~write_geo->proc~write_geo_strg_data3_rank1_r4p none~write_geo->proc~write_geo_strg_data3_rank1_r8p none~write_geo->proc~write_geo_strg_data3_rank3_r4p none~write_geo->proc~write_geo_strg_data3_rank3_r8p none~write_geo->proc~write_geo_unst_data1_rank2_r4p none~write_geo->proc~write_geo_unst_data1_rank2_r8p none~write_geo->proc~write_geo_unst_data3_rank1_r4p none~write_geo->proc~write_geo_unst_data3_rank1_r8p program~vtk_fortran_write_pvts vtk_fortran_write_pvts program~vtk_fortran_write_pvts->proc~write_pvts program~vtk_fortran_write_pvts->proc~write_vts program~vtk_fortran_write_volatile vtk_fortran_write_volatile program~vtk_fortran_write_volatile->proc~write_check program~vtk_fortran_write_volatile->proc~write_slave program~vtk_fortran_write_vtm vtk_fortran_write_vtm program~vtk_fortran_write_vtm->proc~write_data program~vtk_fortran_write_vts vtk_fortran_write_vts program~vtk_fortran_write_vts->proc~write_data~2 program~vtk_fortran_write_vtu vtk_fortran_write_vtu program~vtk_fortran_write_vtu->proc~write_data~3 program~vtk_fortran_write_vtu~2 vtk_fortran_write_vtu program~vtk_fortran_write_vtu~2->proc~write_data~4

Source Code

   pure subroutine encode_bits(bits, padd, code)
   !< Encode a bits stream (must be multiple of 24 bits) into base64 charcaters code (of length multiple of 4).
   !<
   !< The bits stream are encoded in chunks of 24 bits as the following example (in little endian order)
   !<```
   !< +--first octet--+-second octet--+--third octet--+
   !< |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
   !< +-----------+---+-------+-------+---+-----------+
   !< |5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|
   !< +--1.index--+--2.index--+--3.index--+--4.index--+
   !<```
   !< @note The 4 indexes are stored into 4 elements 8 bits array, thus 2 bits of each array element are not used.
   !<
   !< @note The number of paddings must be computed outside this procedure, into the calling scope.
   !<
   !< @warning This procedure is the backend of encoding, thus it must be never called outside the module.
   integer(I1P), intent(in)  :: bits(1:)  !< Bits to be encoded.
   integer(I4P), intent(in)  :: padd      !< Number of padding characters ('=').
   character(*), intent(out) :: code      !< Characters code.
   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)
   c = 1_I8P
   do e=1_I8P,Nb,3_I8P ! loop over array elements: 3 bytes (24 bits) scanning
      sixb = 0_I1P
         call mvbits(bits(e  ),2,6,sixb(1),0)
         call mvbits(bits(e  ),0,2,sixb(2),4)
      if (e+1<=Nb) then
         call mvbits(bits(e+1),4,4,sixb(2),0)
         call mvbits(bits(e+1),0,4,sixb(3),2)
      endif
      if (e+2<=Nb) then
         call mvbits(bits(e+2),6,2,sixb(3),0)
         call mvbits(bits(e+2),0,6,sixb(4),0)
      endif
      sixb = sixb + 1_I1P
      code(c  :c  ) = base64(sixb(1):sixb(1))
      code(c+1:c+1) = base64(sixb(2):sixb(2))
      code(c+2:c+2) = base64(sixb(3):sixb(3))
      code(c+3:c+3) = base64(sixb(4):sixb(4))
      c = c + 4_I8P
   enddo
   if (padd>0) code(len(code)-padd+1:)=repeat('=',padd)
   endsubroutine encode_bits