Related Articles

Related Articles

Get previous true value from a given array index in Julia | Array findprev() Method
  • Last Updated : 23 Mar, 2020

The findprev() is an inbuilt function in julia which is used to return the previous index before or including i of a true element of the specified array A, or returns zero if true value is not found. Here values of index or key start from 1 i.e, for index of 1st element is 1, index of 2nd element is 2 and so on.

Syntax:
findprev(A, i)
or
findprev(predicate::Function, A, i)

Parameters:

  • A: Specified array
  • i: Specified value
  • Predicate Function: Determines whether something is true or false based on the specified arguments

Returns: It returns the previous index before or including i of a true element of the specified array A, or returns zero if true value is not found.

Example 1:



filter_none

edit
close

play_arrow

link
brightness_4
code

# Julia program to illustrate 
# the use of Array findprev() method
   
# Finding index of previous true value
# before or including index 1 from 
# the 1D array A
A = [false, true, true, false]
println(findprev(A, 2))
   
# Finding index of previous true value 
# before or including index (1, 1) from 
# the 2D array B of size 2 * 2
B = [true false; true false]
println(findprev(B, CartesianIndex(1, 1)))
   
# Finding index of previous true value
# before or including index (1, 2, 1) from 
# the 3D array C of size 2 * 2*2
C = cat([true false; true false], 
        [false true; true false],
        [true false; true true], dims = 3)
println(findprev(C, CartesianIndex(1, 2, 1)))

chevron_right


Output:

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Julia program to illustrate 
# the use of Array findprev() method
   
# Finding index of previous even value
# before or including index 3 from 
# the 1D array A
A = [1, 2, 5, 6]
println(findprev(iseven, A, 3))
   
# Finding index of previous even value
# before or including index (2, 2) from 
# the 2D array B of size 2 * 2
B = [3 5; 6 7]
println(findprev(iseven, B, 
        CartesianIndex(2, 2)))
   
# Finding index of previous even value 
# before or including index (2, 2, 1) from 
# the 3D array C of size 2 * 2*2
C = cat([1 2; 3 4], [5 6; 7 8],
        [9 10; 11 12], dims = 3)
println(findprev(iseven, C, 
        CartesianIndex(2, 2, 1)))

chevron_right


Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :