void model_parameters::userfunction(void) { nll=0.0; dvariable a2=a1+cutoff*(b1-b2); dvar_vector predicted(1,T); for(int i=1; i<=T; ++i){ if(years(i)<cutoff){ predicted(i)=a1+b1*years(i); } if(years(i)>=cutoff){ predicted(i)=a2+b2*years(i); } } nll-=-log(sqrt(2.0*M_PI))-log(sdobs)-0.5*sum(square((lnssb-predicted)/sdobs)); }
void main() { int n; while(1) { menu(); scanf("%d",&n); if(n==0) break; switch(n) { case 1: benjin();break; case 2: fuli();break; case 3: danli();break; case 4: years();break; case 5: nianlilv();break; case 6: nianjinzhongzhi();break; case 0:n=0;break; } getch(); } }
WDate WDate::addYears(int nyears) const { if (valid_) { date d(year_, month_, day_); d += years(nyears); return WDate(d.year(), d.month(), d.day()); } else return *this; }
double DateTime::duration(const double& time, double duration, DateTimeUnitOptions unit) { switch (unit) { case DATE_TIME_UNIT_NONE: case DATE_TIME_UNIT_DAY: return days(duration); case DATE_TIME_UNIT_WEEK: return weeks(duration); case DATE_TIME_UNIT_MONTH: return months(time, duration); case DATE_TIME_UNIT_YEAR: return years(time, duration); } return 0; }
CommandBase* ParserList::makeCmdListSpecificMonth(string monthStr) { int parsedMonth; // Parse month, if month is valid try { parsedMonth = parseMonth(monthStr); } catch (invalid_argument) { return NULL; } // Ensure that the month is the coming month, and not a month which // has already passed date currentDate = second_clock::local_time().date(); date startDate = date(currentDate.year(), parsedMonth, 1); if (currentDate.month() > parsedMonth) { startDate += years(1); } ptime startTime = ptime(startDate); ptime endTime = getLastOfMonth(startTime); return makeCmdListPeriod(startTime, endTime); }
// date in english function void dateEnglish(char* date) { // for numbers from 1 to 19 char *digit[] = { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; // all tens char *tens[] = { "", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; int day = (date[0] - '0') * 10 + (date[1] - '0'); int month = (date[3] - '0') * 10 + (date[4] - '0'); int year = (date[6] - '0') * 1000 + (date[7] - '0') * 100 + ((date[8] - '0') * 10 + date[9] - '0'); if (validation(day,month,year)) { days(day, digit, tens); months(month); printf(" of "); years(year, digit, tens); } else printf("Its not a valid date"); }
void CategoryInfo::DoExecute() { auto categories = model_->categories(); vector<string> names = categories->category_names(); /* cache_ << "*category_info: " << label_ << "\n"; for(string name : names) { cache_ << "Category: " << name << "\n"; cache_ << "min_age: " << categories->min_age(name) << "\n"; cache_ << "max_age: " << categories->max_age(name) << "\n"; vector<unsigned> years = categories->years(name); cache_ << "years: "; for (unsigned year : years) cache_ << year << " "; cache_ << "\n\n"; } */ cache_ << "*" << label_ << " " << "("<< type_ << ")"<<"\n"; for(string name : names) { cache_ << name << " " << REPORT_R_LIST<<"\n"; cache_ << "min_age: " << categories->min_age(name) << "\n"; cache_ << "max_age: " << categories->max_age(name) << "\n"; vector<unsigned> years = categories->years(name); cache_ << "years: "; for (unsigned year : years) cache_ << year << " "; cache_ << "\n"; cache_ << REPORT_R_LIST_END << "\n"; } ready_for_writing_ = true; }
int CssmDate::year() const { return atoi(string(years(), 4).c_str()); }
// // The CssmDate PODwrapper // CssmDate::CssmDate(const char *y, const char *m, const char *d) { assign(years(), 4, y); assign(months(), 2, m); assign(days(), 2, d); }
int confOption::setValueFromFile(QString line) { // Used to set values in confOptions from a file line QString rval = line.section("=",1).trimmed(); qDebug() << "setting " << realName << " to " << rval << " (from file)"; if (type == BOOL) { if (rval == "true" || rval == "on" || rval == "yes") { value = true; return 0; } else if (rval == "false" || rval == "off" || rval == "no") { value = false; return 0; } qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } else if (type == INTEGER) { bool ok; qlonglong rvalToNmbr = rval.toLongLong(&ok); if (ok && rvalToNmbr >= minVal && rvalToNmbr <= maxVal) { value = rvalToNmbr; return 0; } qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } else if (type == STRING) { value = rval; return 0; } else if (type == LIST) { if (realName == "ShowStatus") // ShowStatus needs special treatment { if (rval.toLower() == "true" || rval.toLower() == "on") rval = "yes"; else if (rval.toLower() == "false" || rval.toLower() == "off") rval = "no"; } if (possibleVals.contains(rval)) { value = rval.toLower(); return 0; } qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; value = defVal; return -1; } else if (type == MULTILIST) { QVariantMap map; QStringList readList = rval.split(" ", QString::SkipEmptyParts); for (int i = 0; i < readList.size(); ++i) { if (!possibleVals.contains(readList.at(i))) { qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } } for (int i = 0; i < possibleVals.size(); ++i) { if (readList.contains(possibleVals.at(i))) map[possibleVals.at(i)] = true; else map[possibleVals.at(i)] = false; } value = map; return 0; } else if (type == TIME) { int pos = 0; QRegExp rxValid; // These regex check whether rval is a valid time interval if (hasNsec) rxValid = QRegExp("^(?:\\d*\\.?\\d *(ns|nsec|us|usec|ms|msec|s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|month|months|y|year|years)? *)+$"); else rxValid = QRegExp("^(?:\\d*\\.?\\d *(us|usec|ms|msec|s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|month|months|y|year|years)? *)+$"); pos = rxValid.indexIn(rval); if (pos > -1) { pos = 0; seconds secs(0); // This regex parses individual elements of the time interval QRegExp rxTimeParse = QRegExp("(\\d*\\.?\\d+) *([a-z]*)"); while ((pos = rxTimeParse.indexIn(rval, pos)) != -1) { if (rxTimeParse.cap(2) == "ns" || rxTimeParse.cap(2) == "nsec" ) { nanoseconds ns(rxTimeParse.cap(1).trimmed().toDouble()); secs += ns; } else if (rxTimeParse.cap(2) == "us" || rxTimeParse.cap(2) == "usec" ) { microseconds us(rxTimeParse.cap(1).trimmed().toDouble()); secs += us; } else if (rxTimeParse.cap(2) == "ms" || rxTimeParse.cap(2) == "msec" ) { milliseconds ms(rxTimeParse.cap(1).trimmed().toDouble()); secs += ms; } else if (rxTimeParse.cap(2) == "s" || rxTimeParse.cap(2) == "sec" || rxTimeParse.cap(2) == "second" || rxTimeParse.cap(2) == "seconds" ) { seconds s(rxTimeParse.cap(1).trimmed().toDouble()); secs += s; } else if (rxTimeParse.cap(2) == "m" || rxTimeParse.cap(2) == "min" || rxTimeParse.cap(2) == "minute" || rxTimeParse.cap(2) == "minutes" ) { minutes min(rxTimeParse.cap(1).trimmed().toDouble()); secs += min; } else if (rxTimeParse.cap(2) == "h" || rxTimeParse.cap(2) == "hr" || rxTimeParse.cap(2) == "hour" || rxTimeParse.cap(2) == "hours" ) { hours hr(rxTimeParse.cap(1).trimmed().toDouble()); secs += hr; } else if (rxTimeParse.cap(2) == "d" || rxTimeParse.cap(2) == "day" || rxTimeParse.cap(2) == "days") { days dy(rxTimeParse.cap(1).trimmed().toDouble()); secs += dy; } else if (rxTimeParse.cap(2) == "w" || rxTimeParse.cap(2) == "week" || rxTimeParse.cap(2) == "weeks") { weeks w(rxTimeParse.cap(1).trimmed().toDouble()); secs += w; } else if (rxTimeParse.cap(2) == "month" || rxTimeParse.cap(2) == "months") { months m(rxTimeParse.cap(1).trimmed().toDouble()); secs += m; } else if (rxTimeParse.cap(2) == "y" || rxTimeParse.cap(2) == "year" || rxTimeParse.cap(2) == "years") { years y(rxTimeParse.cap(1).trimmed().toDouble()); secs += y; } else if (rxTimeParse.cap(2).isEmpty()) { // unitless number, convert it from defReadUnit to seconds seconds tmpSeconds(convertTimeUnit(rxTimeParse.cap(1).trimmed().toDouble(), defReadUnit, timeUnit::s).toDouble()); secs += tmpSeconds; } pos += rxTimeParse.matchedLength(); } // Convert the read value in seconds to defUnit if (defUnit == ns) value = nanoseconds(secs).count(); else if (defUnit == us) value = microseconds(secs).count(); else if (defUnit == ms) value = milliseconds(secs).count(); else if (defUnit == s) value = secs.count(); else if (defUnit == min) value = minutes(secs).count(); else if (defUnit == h) value = hours(secs).count(); else if (defUnit == d) value = days(secs).count(); else if (defUnit == w) value = weeks(secs).count(); else if (defUnit == month) value = months(secs).count(); else if (defUnit == year) value = years(secs).count(); value = value.toULongLong(); // Convert to ulonglong (we don't support float in ui) return 0; } else { qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } } else if (type == RESLIMIT) { bool ok; int nmbr = rval.toUInt(&ok); if (ok) { value = nmbr; return 0; } else if (rval.toLower().trimmed() == "infinity" || rval.trimmed().isEmpty()) { value = -1; return 0; } qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } else if (type == SIZE) { // RegExp to match a number (possibly with decimals) followed by a size unit (or no unit for byte) QRegExp rxSize = QRegExp("(\\b\\d+\\.?\\d*(K|M|G|T|P|E)?\\b)"); int pos = 0; pos = rxSize.indexIn(rval); if (pos > -1 && rxSize.cap(0) == rval.trimmed()) { // convert the specified size unit to megabytes if (rxSize.cap(0).contains("K")) value = rxSize.cap(0).remove("K").toDouble() / 1024; else if (rxSize.cap(0).contains("M")) value = rxSize.cap(0).remove("M").toDouble(); else if (rxSize.cap(0).contains("G")) value = rxSize.cap(0).remove("G").toDouble() * 1024; else if (rxSize.cap(0).contains("T")) value = rxSize.cap(0).remove("T").toDouble() * 1024 * 1024; else if (rxSize.cap(0).contains("P")) value = rxSize.cap(0).remove("P").toDouble() * 1024 * 1024 * 1024; else if (rxSize.cap(0).contains("E")) value = rxSize.cap(0).remove("E").toDouble() * 1024 * 1024 * 1024 * 1024; else value = rxSize.cap(0).toDouble() / 1024 / 1024; // Convert from double to ulonglong (we don't support float in ui) value = value.toULongLong(); return 0; } else { qDebug() << rval << "is not a valid value for setting" << realName << ". Ignoring..."; return -1; } } return -1; }
const DateTimeField *BaseChronology::yearOfCentury() { return UnsupportedDateTimeField::getInstance(DateTimeFieldType::yearOfCentury(), years()); }
// ----------------------------------------------------------------------------- // CDRMHelperServer::CheckExpirationL(). // This function check the time for rights to expire // ----------------------------------------------------------------------------- // void CDRMHelperServer::CheckExpirationL( const TDesC8& aUri , const TUint8& aPermType , const TUint8& aRegType , TTime& aEndTime ) { #ifdef _DRM_TESTING WriteL(_L8("CheckExpiration")); #endif RPointerArray<CDRMPermission> rights; RArray<TTimeBased> timeList; TBool stop = EFalse; TInt i = 0; TInt err = 0; TTimeIntervalYears years(KTimeIntervalYears); TTime time = Time::MinTTime(); TTimeBased item; TTimeIntervalSeconds interval = 0; RPointerArray<HBufC8> imsi; aEndTime = Time::MinTTime(); TRAP( err , iDrm.GetDBEntriesL(aUri, rights) ); CleanupClosePushL(rights); if ( err == KErrCANoRights || err == KErrCANoPermission ) { aEndTime = Time::MinTTime(); err = KErrNone; stop = ETrue; } User::LeaveIfError(err); TRAP( err, iDrm.GetSupportedIndividualsL( imsi ) ); if ( err ) { imsi.ResetAndDestroy(); } time.HomeTime(); // Goes through all the rights associated to this specific URI CleanupClosePushL(timeList); for (i = 0; i < rights.Count() && !stop; i++) { CheckPermission( rights[i], aPermType, item, interval ,imsi ); if (interval.Int()>0 || (item.StartTime()==Time::MinTTime()&&item.EndTime()==Time::MaxTTime())) { stop = ETrue; aEndTime = Time::MaxTTime(); } else { if (aRegType == CDRMHelperServer::EActive && item.StartTime()>time) { // dont count future time for active usage } else { err = timeList.Append( item ); if ( err ) { rights.ResetAndDestroy(); imsi.ResetAndDestroy(); } User::LeaveIfError(err); } } } rights.ResetAndDestroy(); imsi.ResetAndDestroy(); // if there were no inactivated interval- or full-rights then calculate the expiration date // based on what we stored to timeList if( !stop ) { time.HomeTime(); // preset time to current time. This is what we compare against. TTime temp; TTime pastTime; temp = time; pastTime = Time::MinTTime(); TBool action = ETrue; // Loop while there are still items in the list and we have done something while( action && timeList.Count() > 0 ) { action = EFalse; for ( i = 0 ; i < timeList.Count() ; i++ ) // go through the whole timeList { #ifdef _DRM_TESTING _LIT8(KCount , "time list count: %d"); TBuf8<40> buf; buf.Format( KCount , timeList.Count()); WriteL( buf ); #endif if ( timeList[i].StartTime() <= time && timeList[i].EndTime() > time ) { // Case1: valid rights time = timeList[i].EndTime(); timeList.Remove(i); action = ETrue; #ifdef _DRM_TESTING WriteL(_L8("case 1:")); WriteTimeL( time ); #endif } else if ( timeList[i].StartTime() <= time && timeList[i].EndTime() <= time ) { // Case2: expired rights if (timeList[i].EndTime()>pastTime) // just in case there is no valid rights { pastTime = timeList[i].EndTime(); // save the latest end time from the expired rights } timeList.Remove(i); action = ETrue; #ifdef _DRM_TESTING WriteL(_L8("case 2:")); #endif } else if ( timeList[i].StartTime() > time && timeList[i].EndTime() <= time ) { // Case3: Illegal case. Start time after end-time. timeList.Remove(i); action = ETrue; #ifdef _DRM_TESTING WriteL(_L8("case 3:")); #endif } else { // Case4: Only thing left is the not yet valid -rights #ifdef _DRM_TESTING WriteL(_L8("case 4:")); #endif } } } if (temp<time) { aEndTime = time; // time has been changed, so we use it, otherwise it means there is no valid rights } else { aEndTime = pastTime; } #ifdef _DRM_TESTING WriteL(_L8("expiration date:")); WriteTimeL( aEndTime ); #endif } #ifdef _DRM_TESTING WriteL(_L8("Endtime calculation is done:")); WriteTimeL( aEndTime ); #endif timeList.Reset(); CleanupStack::PopAndDestroy(&timeList); // timeList CleanupStack::PopAndDestroy(&rights); // rights }
void test_collection (void) { std::cerr << "************* COLLECTION: Testing container collections*************\n"; knowledge::KnowledgeBase knowledge; knowledge::ThreadSafeContext & context (knowledge.get_context ()); unsigned char buffer1[1024]; unsigned char buffer2[2048]; std::cerr << " Creating containers...\n"; containers::Integer age ("age", knowledge); containers::String name ("name", knowledge); containers::Double salary ("salary", knowledge); containers::NativeDoubleVector gps_location ("location.gps", knowledge, 3); containers::NativeIntegerVector years_employed ("employment.years", knowledge); containers::Map jobs ("jobs", knowledge); containers::BufferVector images ("images", knowledge); containers::StringVector movies ("movies.favorite", knowledge); containers::IntegerVector years ("years.favorite", knowledge); containers::IntegerVector sensors_ready ("sensors_ready", knowledge, 3); containers::DoubleVector coolfactor ("coolfactor.by.year", knowledge, 35); std::cerr << " Testing modifieds.size == 2 after container creation... "; if (context.get_modifieds ().size () != 2) { std::cerr << "FAIL\n"; std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << " Assigning values to containers...\n"; age = 40; name = "Jack Franklin"; salary = 45000.0; gps_location.set (2, 1000.0); gps_location.set (0, 72.0); gps_location.set (1, 40.0); years_employed.set (0, 1998); years_employed.push_back (1999); years_employed.push_back (2005); years_employed.push_back (2007); years_employed.push_back (2010); years_employed.push_back (2011); years_employed.push_back (2012); years_employed.push_back (2013); years_employed.push_back (2014); years_employed.push_back (2015); jobs.set ("Albert's", "Courtesy Clerk"); jobs.set ("Nursery House", "Plant Care Technician"); jobs.set ("Johnson's", "Landscaping Expert"); images.push_back (buffer1, sizeof (buffer1)); images.push_back (buffer2, sizeof (buffer2)); movies.push_back ("Edge of Tomorrow"); movies.push_back ("Fight Club"); movies.push_back ("Seven"); movies.push_back ("Serenity"); years.push_back (2000); years.push_back (2012); coolfactor.set (0, 10.0); coolfactor.set (1, 12.0); coolfactor.set (2, 10.5); coolfactor.set (3, 9); coolfactor.set (4, 8); coolfactor.set (5, 8.5); coolfactor.set (6, 8.5); coolfactor.set (7, 8.5); coolfactor.set (8, 8); coolfactor.set (9, 9); coolfactor.set (10, 10); coolfactor.set (11, 10); coolfactor.set (12, 11); coolfactor.set (13, 11); coolfactor.set (14, 6); coolfactor.set (15, 7); coolfactor.set (16, 20); coolfactor.set (17, 30); coolfactor.set (18, 35); coolfactor.set (19, 25); coolfactor.set (20, 20); coolfactor.set (21, 35); coolfactor.set (22, 30); coolfactor.set (23, 22); coolfactor.set (24, 18); coolfactor.set (25, 14); coolfactor.set (26, 11); coolfactor.set (27, 10); coolfactor.set (28, 9); coolfactor.set (29, 9); coolfactor.set (30, 5); coolfactor.set (31, 5); coolfactor.set (32, 4); coolfactor.set (33, 3); coolfactor.set (34, 3); sensors_ready.set (0, 1); sensors_ready.set (2, 1); containers::Collection collection; std::cerr << "\n Adding 10 containers to collection container\n"; collection.add (age); collection.add (name); collection.add (salary); collection.add (gps_location); collection.add (years_employed); collection.add (jobs); collection.add (images); collection.add (movies); collection.add (years); collection.add (coolfactor); std::cerr << " Testing collection.size == 10 after adding containers... "; if (collection.size () != 10) { std::cerr << "FAIL. Size returned " << collection.size () << "\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << "\n Printing Collection contents\n\n"; std::cerr << collection.get_debug_info () << "\n"; std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; std::cerr << " Clearing modified elements in context\n\n"; knowledge.clear_modifieds (); std::cerr << " Testing modifieds.size == 0 after clearing modified... "; if (context.get_modifieds ().size () != 0) { std::cerr << "FAIL\n"; std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << " Calling modify on collection\n"; collection.modify (); std::cerr << " Testing modifieds.size == 55 after modifying containers... "; if (context.get_modifieds ().size () != 55) { std::cerr << "FAIL\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; std::cerr << " Clearing modified elements in context\n\n"; knowledge.clear_modifieds (); std::cerr << " Clearing collection\n\n"; collection.clear (); std::cerr << " Testing collection.size == 0 after clearing containers... "; if (collection.size () != 0) { std::cerr << "FAIL. Size returned " << collection.size () << "\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << "\nAdding 3 containers to collection container\n"; collection.add (age); collection.add (name); collection.add (salary); std::cerr << " Testing collection.size == 3 after adding containers... "; if (collection.size () != 3) { std::cerr << "FAIL. Size returned " << collection.size () << "\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << "\nPrinting Collection contents\n\n"; std::cerr << collection.get_debug_info () << "\n"; std::cerr << " Calling modify on collection\n"; collection.modify (); std::cerr << " Testing modifieds.size == 3... "; if (context.get_modifieds ().size () != 3) { std::cerr << "FAIL\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; std::cerr << " Clearing modified elements in context\n\n"; knowledge.clear_modifieds (); std::cerr << " Calling modify_if_true on collection\n"; collection.modify_if_true (sensors_ready); std::cerr << " Testing modifieds.size == 0... "; if (context.get_modifieds ().size () != 0) { std::cerr << "FAIL\n"; } else { std::cerr << "SUCCESS\n"; } std::cerr << " Updating final sensors ready to true\n"; sensors_ready.set (1, 1); std::cerr << " Calling modify_if_true on collection\n"; collection.modify_if_true (sensors_ready); std::cerr << " Testing modifieds.size == 4... "; if (context.get_modifieds ().size () != 4) { std::cerr << "FAIL\n"; std::cerr << " Printing modified elements in context\n\n"; std::cerr << context.debug_modifieds () << "\n"; } else { std::cerr << "SUCCESS\n"; } }
/** * @Returns: *this += -y. * */ date& operator-=(years y) { return *this += years(-y.count()); }