Exemple #1
0
void clrdat(SINGLE_QSP_ARG_DECL)	/* just clears data tables */
{
	List *lp;
	Node *np;
	Trial_Class *tcp;
	Data_Tbl *dtp;
	int i;

	lp=class_list(SINGLE_QSP_ARG);
	if( lp == NO_LIST ) return;

	np=lp->l_head;
	while(np!=NO_NODE){
		tcp = (Trial_Class *) np->n_data;
		dtp = CLASS_DATA_TBL(tcp);
		if( dtp == NULL ){
			sprintf(ERROR_STRING,
		"Stimulus class %s has null data table, initializing...",
				CLASS_NAME(tcp) );
			advise(ERROR_STRING);

			dtp = alloc_data_tbl(tcp,_nvals);
		}
fprintf(stderr,"clrdat:  clearing data table for class %s\n",CLASS_NAME(tcp));
		SET_DTBL_N(dtp,0);
		for(i=0;i<DTBL_SIZE(dtp);i++){
			SET_DATUM_NTOTAL(DTBL_ENTRY(dtp,i),0);
			SET_DATUM_NCORR(DTBL_ENTRY(dtp,i),0);
		}
		np=np->n_next;
	}
fprintf(stderr,"clrdat:  DONE\n");
}
Exemple #2
0
void pnt_bars(QSP_ARG_DECL  FILE *fp, Trial_Class *tcp)
{
        int j;
        Data_Tbl *dtp;
	float upper_bar, lower_bar;

	if( tcp == NULL ) return;

	dtp=CLASS_DATA_TBL(tcp);
	for(j=0;j<_nvals;j++){
		if( DATUM_NTOTAL(DTBL_ENTRY(dtp,j)) > 0 ){
			fprintf(fp,"%f\t", xval_array[ j ]);
			n_obs = DATUM_NTOTAL(DTBL_ENTRY(dtp,j));
			n_seen = DATUM_NCORR(DTBL_ENTRY(dtp,j));
			fprintf(fp,"%f\t",(double) n_seen / (double) n_obs );
			if( n_obs == n_seen ) upper_bar=1.0;
			else {
				if( n_seen == 0 ) alpha = (float) ALPHA;
				else alpha = (float) ALPHA/2;
				get_bar(QSP_ARG  j,u_confidence,&upper_bar);
			}
			if( n_seen == 0 ) lower_bar=0.0;
			else {
				if( n_obs == n_seen ) alpha = (float) ALPHA;
				else alpha = (float) ALPHA/2;
				get_bar(QSP_ARG  j,l_confidence,&lower_bar);
			}
			fprintf(fp,"%f\t%f\n",lower_bar,upper_bar);
		}
	}
	fclose(fp);
}
Exemple #3
0
static void pntcurve(QSP_ARG_DECL  FILE *fp, Trial_Class * tcp)
{
        int j;
        Data_Tbl *dtp;

	dtp=CLASS_DATA_TBL(tcp);
	for(j=0;j<DTBL_SIZE(dtp);j++){
		if( DATUM_NTOTAL(DTBL_ENTRY(dtp,j)) > 0 ){
			fprintf(fp,"%f\t", xval_array[ j ]);
			fprintf(fp,"%f\n",DATUM_FRACTION(DTBL_ENTRY(dtp,j)));
		}
	}
	fclose(fp);
}
Exemple #4
0
void note_trial(Trial_Class *tcp,int val,int rsp,int crct)
{
	Data_Tbl *dtp;

	dtp = CLASS_DATA_TBL(tcp);

	assert( dtp != NULL );

	if( rsp == crct )
		SET_DATUM_NCORR( DTBL_ENTRY(dtp,val),
			1 + DATUM_NCORR( DTBL_ENTRY(dtp,val) ) );
	if( rsp != REDO && rsp != ABORT )
		SET_DATUM_NTOTAL( DTBL_ENTRY(dtp,val),
			1 + DATUM_NTOTAL( DTBL_ENTRY(dtp,val) ) );
}
Exemple #5
0
void w_analyse( QSP_ARG_DECL  Trial_Class *tcp )		/** do a regression on the ith table */
{
	int ntrac=(-1);

	weibull_fit( QSP_ARG  CLASS_DATA_TBL(tcp), ntrac );
}