void Eval::doBP() { XenOption* opt = XenOption::getInstance(); double lower = 999999999999; int lBound = 0; int hBound = 0; for(EvalMap::iterator it = ptrDist->begin() ; it != ptrDist->end() ; ++it) if (it->second < lower) { lower = it->second; EvalMap::iterator itH = it; if (it != ptrDist->begin()) --itH; EvalMap::iterator itL = it; if (it != ptrDist->end()) ++itL; lBound = itL->first; hBound = itH->first; if (lBound > it->first) { lBound = 0; } if (hBound < it->first) { hBound = opt->getMaxEvalPC(); } } opt->setStep(opt->getStep() / 2); std::cout << "Requiring eval from " + XenCommon::toString(hBound) + " to " + XenCommon::toString(lBound) + " with step " + XenCommon::toString(opt->getStep()) << std::endl; doEval(hBound, lBound); if (opt->getStep() > 1) { doBP(); } }
// Automatic type casting Data *BaseIntegerInstruction::eval(Data *i) { integerNum = (IntegerData *)num; Data *ret = doEval((IntegerData *)i); return ret; }
static int doTest( CFArrayRef certArray, SecPolicyRef policy, bool quiet) { int ourRtn = 0; SecCertificateRef leafCert = (SecCertificateRef)CFArrayGetValueAtIndex( certArray, 0); if(!quiet) { printf("Verifying cert is good as is...\n"); } ourRtn = doEval(certArray, policy, kSecTrustResultUnspecified, quiet); if(ourRtn && !IGNORE_EXISTING_STATE) { return ourRtn; } if(!quiet) { printf("Verifying cert currently has kSecTrustResultUnspecified...\n"); } if(doGetUserTrust(leafCert, policy, kSecTrustResultUnspecified)) { ourRtn = -1; /* but keep going */ } if(!quiet) { printf("setting and verifying SecTrustResultDeny...\n"); } if(doSetVerifyUserTrust(leafCert, policy, kSecTrustResultDeny)) { ourRtn = -1; } if(!quiet) { printf("Verify cert with SecTrustResultDeny...\n"); } ourRtn = doEval(certArray, policy, kSecTrustResultDeny, quiet); if(ourRtn) { ourRtn = -1; } if(!quiet) { printf("setting and verifying kSecTrustResultConfirm...\n"); } if(doSetVerifyUserTrust(leafCert, policy, kSecTrustResultConfirm)) { ourRtn = -1; } if(!quiet) { printf("Verify cert with kSecTrustResultConfirm...\n"); } ourRtn = doEval(certArray, policy, kSecTrustResultConfirm, quiet); if(ourRtn) { ourRtn = -1; } if(!quiet) { printf("setting and verifying kSecTrustResultUnspecified...\n"); } if(doSetVerifyUserTrust(leafCert, policy, kSecTrustResultUnspecified)) { ourRtn = -1; } if(!quiet) { printf("Verify cert with kSecTrustResultUnspecified...\n"); } ourRtn = doEval(certArray, policy, kSecTrustResultUnspecified, quiet); if(!quiet) { printf("Verify SecTrustSetUserTrust(kSecTrustResultConfirm) fails...\n"); } /* verify Radar 4642125 - this should fail, not crash */ OSStatus ortn = SecTrustSetUserTrust(leafCert, policy, kSecTrustResultConfirm); if(ortn != unimpErr) { printf("***SecTrustSetUserTrust returned %ld; expected %ld (unimpErr)\n", (long)ortn, (long)unimpErr); ourRtn = -1; } return ourRtn; }