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~1039 volatile_doctest program~volatile_doctest~1039->interface~b64_encode program~volatile_doctest~1047 volatile_doctest program~volatile_doctest~1047->interface~b64_encode program~volatile_doctest~1054 volatile_doctest program~volatile_doctest~1054->interface~b64_encode program~volatile_doctest~1080 volatile_doctest program~volatile_doctest~1080->interface~b64_encode program~volatile_doctest~1097 volatile_doctest program~volatile_doctest~1097->interface~b64_encode program~volatile_doctest~1123 volatile_doctest program~volatile_doctest~1123->interface~b64_encode program~volatile_doctest~1144 volatile_doctest program~volatile_doctest~1144->interface~b64_encode program~volatile_doctest~1195 volatile_doctest program~volatile_doctest~1195->interface~b64_encode program~volatile_doctest~1215 volatile_doctest program~volatile_doctest~1215->interface~b64_encode program~volatile_doctest~1233 volatile_doctest program~volatile_doctest~1233->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~1274 volatile_doctest program~volatile_doctest~1274->interface~b64_encode program~volatile_doctest~1291 volatile_doctest program~volatile_doctest~1291->interface~b64_encode program~volatile_doctest~1296 volatile_doctest program~volatile_doctest~1296->interface~b64_encode program~volatile_doctest~1297 volatile_doctest program~volatile_doctest~1297->interface~b64_encode program~volatile_doctest~1330 volatile_doctest program~volatile_doctest~1330->interface~b64_encode program~volatile_doctest~1402 volatile_doctest program~volatile_doctest~1402->interface~b64_encode program~volatile_doctest~1431 volatile_doctest program~volatile_doctest~1431->interface~b64_encode program~volatile_doctest~1451 volatile_doctest program~volatile_doctest~1451->interface~b64_encode program~volatile_doctest~1509 volatile_doctest program~volatile_doctest~1509->interface~b64_encode program~volatile_doctest~1524 volatile_doctest program~volatile_doctest~1524->interface~b64_encode program~volatile_doctest~1544 volatile_doctest program~volatile_doctest~1544->interface~b64_encode program~volatile_doctest~1555 volatile_doctest program~volatile_doctest~1555->interface~b64_encode program~volatile_doctest~1585 volatile_doctest program~volatile_doctest~1585->interface~b64_encode program~volatile_doctest~1593 volatile_doctest program~volatile_doctest~1593->interface~b64_encode program~volatile_doctest~1595 volatile_doctest program~volatile_doctest~1595->interface~b64_encode program~volatile_doctest~1612 volatile_doctest program~volatile_doctest~1612->interface~b64_encode program~volatile_doctest~1645 volatile_doctest program~volatile_doctest~1645->interface~b64_encode program~volatile_doctest~1683 volatile_doctest program~volatile_doctest~1683->interface~b64_encode program~volatile_doctest~1816 volatile_doctest program~volatile_doctest~1816->interface~b64_encode program~volatile_doctest~1820 volatile_doctest program~volatile_doctest~1820->interface~b64_encode program~volatile_doctest~1835 volatile_doctest program~volatile_doctest~1835->interface~b64_encode program~volatile_doctest~1840 volatile_doctest program~volatile_doctest~1840->interface~b64_encode program~volatile_doctest~189 volatile_doctest program~volatile_doctest~189->interface~b64_encode program~volatile_doctest~1890 volatile_doctest program~volatile_doctest~1890->interface~b64_encode program~volatile_doctest~1936 volatile_doctest program~volatile_doctest~1936->interface~b64_encode program~volatile_doctest~194 volatile_doctest program~volatile_doctest~194->interface~b64_encode program~volatile_doctest~233 volatile_doctest program~volatile_doctest~233->interface~b64_encode program~volatile_doctest~285 volatile_doctest program~volatile_doctest~285->interface~b64_encode program~volatile_doctest~305 volatile_doctest program~volatile_doctest~305->interface~b64_encode program~volatile_doctest~387 volatile_doctest program~volatile_doctest~387->interface~b64_encode program~volatile_doctest~433 volatile_doctest program~volatile_doctest~433->interface~b64_encode program~volatile_doctest~453 volatile_doctest program~volatile_doctest~453->interface~b64_encode program~volatile_doctest~48 volatile_doctest program~volatile_doctest~48->interface~b64_encode program~volatile_doctest~505 volatile_doctest program~volatile_doctest~505->interface~b64_encode program~volatile_doctest~564 volatile_doctest program~volatile_doctest~564->interface~b64_encode program~volatile_doctest~614 volatile_doctest program~volatile_doctest~614->interface~b64_encode program~volatile_doctest~751 volatile_doctest program~volatile_doctest~751->interface~b64_encode program~volatile_doctest~762 volatile_doctest program~volatile_doctest~762->interface~b64_encode program~volatile_doctest~790 volatile_doctest program~volatile_doctest~790->interface~b64_encode program~volatile_doctest~791 volatile_doctest program~volatile_doctest~791->interface~b64_encode program~volatile_doctest~812 volatile_doctest program~volatile_doctest~812->interface~b64_encode program~volatile_doctest~832 volatile_doctest program~volatile_doctest~832->interface~b64_encode program~volatile_doctest~840 volatile_doctest program~volatile_doctest~840->interface~b64_encode program~volatile_doctest~851 volatile_doctest program~volatile_doctest~851->interface~b64_encode program~volatile_doctest~865 volatile_doctest program~volatile_doctest~865->interface~b64_encode program~volatile_doctest~879 volatile_doctest program~volatile_doctest~879->interface~b64_encode program~volatile_doctest~900 volatile_doctest program~volatile_doctest~900->interface~b64_encode program~volatile_doctest~903 volatile_doctest program~volatile_doctest~903->interface~b64_encode program~volatile_doctest~932 volatile_doctest program~volatile_doctest~932->interface~b64_encode program~volatile_doctest~946 volatile_doctest program~volatile_doctest~946->interface~b64_encode program~volatile_doctest~969 volatile_doctest program~volatile_doctest~969->interface~b64_encode program~volatile_doctest~981 volatile_doctest program~volatile_doctest~981->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~123 volatile_doctest program~volatile_doctest~123->proc~encode program~volatile_doctest~1333 volatile_doctest program~volatile_doctest~1333->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~3 xml_writer_appended%write_dataarray_appended proc~write_dataarray_appended~3->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~8 xml_writer_appended%finalize proc~finalize~8->proc~write_dataarray_appended~3 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->proc~write_connectivity proc~write_data~2->none~write_geo proc~write_data~3 write_data proc~write_data~3->none~write_dataarray 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~3 program~vtk_fortran_write_vtu vtk_fortran_write_vtu program~vtk_fortran_write_vtu->proc~write_data~2 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,I8P)-padd+1:)=repeat('=',padd)
   endsubroutine encode_bits