index out of range when a function run at second time

Answered index out of range when a function run at second time

  • Wednesday, April 25, 2012 10:26 AM
     
      Has Code

    at

     result <- result + Convert.ToDouble(Gamma(input_miu_list.Length, 0))*(Miu_union(miu_list1, lambda) - Miu_union(miu_list2, lambda) - Miu_union(miu_list3, lambda) - Miu_union(miu_list4, lambda))

    after jump to Miu_union second time, said index out of range

    let Miu_union(a : List<double>, lambda : double) = 
        let mutable Miu_union_result : double = Convert.ToDouble(0)  // index out of range when debug break here at second time
        
        S(Miu(a.[0]), Miu(a.[1]), lambda)
        for i = 2 to a.Count-1 do
            Miu_union_result <- Miu_union_result + S(Miu_union_result, Miu(a.[i]), lambda)
        Miu_union_result
    let hello... =
    ...
    	result <- result + Convert.ToDouble(Gamma(input_miu_list.Length, 0))*(Miu_union(miu_list1, lambda) - Miu_union(miu_list2, lambda) - Miu_union(miu_list3, lambda) - Miu_union(miu_list4, lambda))

All Replies

  • Wednesday, April 25, 2012 12:19 PM
     
     Answered
    You are using index to get list elements. So probably when exception happens your list is empty or it's length is less than you are expecting.

    Petr

    • Marked As Answer by 沈世鈞 Thursday, April 26, 2012 7:25 AM
    •