Annotation of freem_fileman/DIOQ.m, revision 1.1
1.1 ! snw 1: DIOQ ;SFISC/GS,TKW-QUERY OPTIMIZER ;10/20/94 11:13
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: SER(F,DIOQGET,DIOQCHEK,C,X,%,W,P) ; COMPUTE SEARCH EFFICIENCY RATING
! 5: ; F=FILE#, DIOQGET=GET CODE, DIOQCHEK=EVALUATION CODE,
! 6: ; C=USEABLE INDEX? (1=YES, 0=NO)
! 7: ; X=EFFICIENCY RATING, %=PREVALANCE OF HITS (PROBABILITY)
! 8: ; W=WRITE PROGRESS MSG.TO USER, P=POINTER TYPE
! 9: N Z S (X,%)=0,W=$G(W),Z=$G(^DIC(+$G(F),0,"GL")) Q:Z=""
! 10: N I,N,T,D0,DA,DITRUE,DIFIRST S DIFIRST=1
! 11: I W S W=$P($H,",",2)+.1
! 12: S (T,N)=0,I=$P(@(Z_"0)"),U,4)\100
! 13: F D0=0:I S D0=$O(@(Z_D0_")")) Q:'D0 Q:N>100 S DA=D0,N=N+1 D TEST I DITRUE S T=T+1
! 14: S %=$S(N=0:1,T=0:0,1:T/N),(X,%)=1-% I C S:%=1 X=100 S:%'=1 X=%/(1-%)
! 15: I P S %=%/2,X=X/2
! 16: S X=$J(X,1,4),%=$J(%,1,4) Q
! 17: ;
! 18: TEST ; GET VALUE AND EVALUATE IT
! 19: N I,L,N,T,Z,DIOQSVD0 S DIOQSVD0=D0 D S D0=DIOQSVD0
! 20: . N F,C,W,P,DIFIRST
! 21: . X DIOQGET,DIOQCHEK S DITRUE=$T Q
! 22: Q:'W Q:($P($H,",",2)-W)'>3 S W=$P($H,",",2)+.1
! 23: I DIFIRST S DIFIRST=0 W !,"Computing search efficiency..." Q
! 24: W "." Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>