NB. ---------------------------------- NB. original file my_prob_01.ijs NB. partition & tap NB. R.Durret [Essentials of Stochastic Processes] Springer NB. Ex74 NB. * part_tap 4 4 /4 3 require jpath'~user/classes/calculus/numeric/partition_shimura.ijs' tap=: i.@! A. i. NB. J Vocaburaly A. part_tap=: 3 : 0 NB. use partition number & tap 'N0 S0'=. y NB. N and column NB. Usage: u 4 3/u 3 3 TMP0=: |. ;("1) ,.(S0 >:/;# L:0 tmp )# tmp=. partition N0 IND=:{ tap S0 ANS=. <'' for_ctr. i. # TMP0 do. TMP1=.{~. ;("1) ,. IND{ L:0 ctr { TMP0 ANS=. ANS,TMP1 end. \:~ ;("1) ,. }.ANS NB. down sort ) classify0=: 3 : '(~:{."1 y)<;.1 y' classify_tap=: classify0&part_tap NB. Usage: classify_tap 4 3 NB. ---------Dullet example-------------------------- NB. * order_que_74 4 3 NB. ------------------------------------------------- calc_que_74=: 3 : 0 NB. 4 3 person and device 'N0 S0'=: y PRT=: part_tap y TMP=.({ PRT),.*/ L:0 ( S0 {. |. i.>: N0 ) ^ L:0 { PRT NB. ;("1) TMP ) exbox=: ;("1) classify_que_74=: [: classify0 exbox&calc_que_74 classify_order_74=: 3 : 0 NB. u 4 3 NB. +/ L:0 u 4 3 tmp=. (\: L:0 ({@> i. {: y){"1 L:0 tmp){ L:0 tmp=.;("1) calc_que_74 y ;("1) ,. classify0 L:0 tmp ) order_que_74=: 3 : 0 NB. Usage: order_que_74 4 3 NB. Durret Ex74 TMP0=: calc_que_74 y SUM=: +/; {:"1 TMP0 ANS=. <'' for_ctr. i. #;{.{. TMP0 do. TMP1=.(\: ; ctr{"1 L:0 {. "1 TMP0){ TMP0 NB. sort by person TMP2=. (~: ; ctr{ (L:0) {."1 TMP1)<;.( 1) {: "1 TMP1 ANS=. ANS,<+/"1 ;("1);("1) ,. TMP2 end. ;("1){@> L:0 ANS,(ANS=. ,.}. ANS) % L:0 SUM )