idecode Subroutine

public subroutine idecode(i1, i2, i3, i)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: i1
integer, intent(out) :: i2
integer, intent(out) :: i3
integer, intent(in) :: i

Called by

proc~~idecode~2~~CalledByGraph proc~idecode~2 idecode proc~getbc getbc proc~getbc->proc~idecode~2 proc~add_split_source add_split_source proc~add_split_source->proc~getbc proc~add_split_source~2 add_split_source proc~add_split_source~2->proc~getbc proc~add_split_source~3 add_split_source proc~add_split_source~3->proc~getbc proc~add_split_source~4 add_split_source proc~add_split_source~4->proc~getbc proc~advect1 advect1 proc~advect1->proc~getbc proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->proc~getbc proc~global_implicit_update global_implicit_update proc~global_implicit_update->proc~getbc proc~improve_initial_condition improve_initial_condition proc~improve_initial_condition->proc~getbc proc~recalculateb recalculateB proc~improve_initial_condition->proc~recalculateb proc~initlevelone initlevelone proc~initlevelone->proc~getbc proc~main main proc~main->proc~getbc proc~main->proc~improve_initial_condition proc~main->proc~initlevelone proc~process process proc~main->proc~process proc~resettree_convert resettree_convert proc~main->proc~resettree_convert proc~settree settree proc~main->proc~settree proc~timeintegration timeintegration proc~main->proc~timeintegration proc~process->proc~getbc proc~process_advanced process_advanced proc~process_advanced->proc~getbc proc~recalculateb->proc~getbc proc~resettree_convert->proc~getbc proc~resettree_convert->proc~amr_coarsen_refine proc~saveamrfile saveamrfile proc~saveamrfile->proc~getbc proc~advect advect proc~advect->proc~advect1 proc~resettree resettree proc~resettree->proc~amr_coarsen_refine proc~settree->proc~amr_coarsen_refine proc~timeintegration->proc~process proc~timeintegration->proc~process_advanced proc~timeintegration->proc~saveamrfile proc~timeintegration->proc~resettree proc~advance advance proc~timeintegration->proc~advance program~agile agile program~agile->proc~main proc~advance->proc~advect

Source Code

  subroutine idecode(i1, i2, i3, i)
    
    integer, intent(in)                       :: i
    integer, intent(out)                      :: i1, i2, i3
    ! .. local ..
    integer, parameter                        :: i1min=-1, i2min=-1, i3min=-1
    integer                                   :: id, idd

    i3  = ceiling(dble(i)/9.0d0) - 1 + i3min
    id  = i - 9 * (i3-i3min)
    i2  = ceiling(dble(id)/3.0d0) - 1 + i2min
    idd = id - 3 * (i2-i2min)
    i1  = idd + i1min - 1

  end subroutine idecode