wstring CStVersionInfo::GetVersionString() { #if !defined(TARGET_OS_MAC) wchar_t ver[MAX_PATH]; swprintf_s(ver, MAX_PATH, L"%03d.%03d.%03d", GetHigh(), GetMid(), GetLow()); #else char ver[256]; //! \todo Figure out a clean way to handle the max path length. snprintf(ver, sizeof(ver)-sizeof(char), "%03d.%03d.%03d", GetHigh(), GetMid(), GetLow()); #endif return ver; }
TNode* ConstructTree(LNode** head){ if(!(*head)){ return NULL; } LNode* mid=GetMid(head); if(mid){ TNode* root=(TNode*)malloc(sizeof(TNode)); LNode* tmpNode; if(mid->next==NULL){ tmpNode=mid; root->left=NULL; root->right=NULL; }else{ tmpNode=mid->next; mid->next=NULL; root->right=ConstructTree(&tmpNode->next); tmpNode->next=NULL; root->left=ConstructTree(head); } root->data=tmpNode->data; return root; }else{ return NULL; } }
bool CStVersionInfo::operator == (CStVersionInfo& _ver) { if( (_ver.GetHigh() == GetHigh()) && (_ver.GetMid() == GetMid()) && (_ver.GetLow() == GetLow()) ) { return true; } return false; }
int RangeMinQuery_Util(int* ST,int ss,int se,int qs,int qe,int i){ if(qs<=ss && qe>=se){ return ST[i]; } if(qs>se || qe<ss){ return INT_MAX; } int mid=GetMid(ss,se); return min(RangeMinQuery_Util(ST,ss,mid,qs,qe,2*i+1),RangeMinQuery_Util(ST,mid+1,se,qs,qe,2*i+2)); }
/* internal public functions ================================================ */ int main (void) { vLedInit(); for (;;) { vWIfcInit (); GetMid (ucMid); GetPnCode (ucPnCode); vAssert (memcmp_P (ucPnCode, ucPnCodeDef_P, sizeof(ucPnCodeDef_P)) == 0); SetPnCode_P (ucPnCode_P); GetPnCode (ucPnCode); vAssert (memcmp_P (ucPnCode, ucPnCode_P, sizeof(ucPnCode_P)) == 0); SetPnCode (ucPnCode); vLedToggle (LED_LED1); delay_ms (500); } return 0; }
int ConstructSegementTree_Util(int* array,int* ST,int ss,int se,int i){ if(ss==se){ ST[i]=array[ss]; return ST[i]; } int mid=GetMid(ss,se); ST[i]= min(ConstructSegementTree_Util(array,ST,ss,mid,2*i+1), ConstructSegementTree_Util(array,ST,mid+1,se,2*i+2)); return ST[i]; }