void TestACLsInfer::testACLs(ISession *pSession)
{
	TVERIFY(pSession != NULL);
	CmvautoPtr<IStmt> lQ(pSession->createStmt());
	SourceSpec lCS; lCS.objectID = mCLSID; lCS.nParams = 0; lCS.params = NULL;
	lQ->addVariable(&lCS, 1);
	uint64_t lCount = 0;
	TVERIFYRC(lQ->count(lCount));
	TVERIFY(lCount == uint64_t(mExpectedCount));
	unsigned long lResultCount = 0;
	ICursor* lC = NULL;
	TVERIFYRC(lQ->execute(&lC));
	CmvautoPtr<ICursor> lR(lC);
	if(lR.IsValid())
	{
		for(IPIN *lPIN = lR->next(); lPIN != NULL; lPIN = lR->next(), lResultCount++)
		{
			PID lPID = lPIN->getPID();
			lPIN->destroy(); lPIN = NULL;
			lPIN = pSession->getPIN(lPID); TVERIFY(lPIN != NULL);
			lPIN->destroy();
		}
	}
	TVERIFY(lResultCount == (unsigned long)mExpectedCount);
}
void TestACLsInfer::testJoinACLs(ISession *pSession)
{
	TVERIFY(pSession != NULL);
	CmvautoPtr<IStmt> lQ(pSession->createStmt());
	Value lParam[3];
	lParam[0].setError(mPropIDs[2]); lParam[1].setError(mPropIDs[2]); lParam[2].setRange(lParam);
	SourceSpec lCS[2] = {{mCLSID, 0, NULL}, {mCLSID2, 1, &lParam[2]}};
	unsigned char lVar1 = lQ->addVariable(&lCS[0], 1);
	unsigned char lVar2 = lQ->addVariable(&lCS[1], 1);
	IExprNode *lET;
	{
		Value lV[2];
		lV[0].setVarRef(lVar1,mPropIDs[1]);
		lV[1].setVarRef(lVar2,mPropIDs[2]);		
		lET = pSession->expr(OP_EQ, 2, lV);
	}
	lQ->join(lVar1, lVar2, lET);
	uint64_t lCount = 0;
	TVERIFYRC(lQ->count(lCount));
	TVERIFY(lCount == uint64_t(mExpectedCount));
	unsigned long lResultCount = 0;
	ICursor* lC = NULL;
	TVERIFYRC(lQ->execute(&lC));
	CmvautoPtr<ICursor> lR(lC);
	if(lR.IsValid())
	{
		for(IPIN *lPIN = lR->next(); lPIN != NULL; lPIN = lR->next(), lResultCount++)
		{
			PID lPID = lPIN->getPID();
			lPIN->destroy(); lPIN = NULL;
			lPIN = pSession->getPIN(lPID); TVERIFY(lPIN != NULL);
			lPIN->destroy();
		}
	}
	TVERIFY(lResultCount == (unsigned long)mExpectedCount);
}
Exemple #3
0
// for calculating opacity - remember that you might change the last term of this...
double lj(double lx, double lv, double lAx){
	double lE_electron = 0.5*(leps(lx)+lv);
	gamma2 = exp(2*lE_electron-2*lme-4*lc);
	lbeta = 0.5*log(1-(1/gamma2));
	constants = log(2.0)+lsigma_t-log(3.0)-lpi-lmu0-(2.0*lme)-(3.0*lc);
	return constants+(2.0*lbeta)+(2.0*lB(lx))+leps(lx)+lAx+((1.0-alpha)*lEe(lx,lv))-(2.0*lR(lx))-(exp(lEe(lx,lv)-lEmax)); 
}
Exemple #4
0
// returns the magnetic field in the jet at position x                
double lB(double lx){
	return lB0+lR0-lR(lx);
}