// Copyright (c) 1998-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #include #include //======================================================================= //function : RealToCString //purpose : //======================================================================= Standard_Boolean OSD::RealToCString(const Standard_Real aReal, Standard_PCharacter& aString) { char *p, *q ; if (Sprintf(aString,"%.17e",aReal) <= 0) //BUC60808 return Standard_False ; // Suppress "e+00" and unsignificant 0's p = strchr(aString,'e'); if (p) { if (!strcmp(p,"e+00")) *p = 0 ; for (q = p-1 ; *q == '0' ; q--) ; if (q != p-1) { if (*q != '.') q++ ; while (*p) *q++ = *p++ ; *q = 0 ; } } return Standard_True ; } // Make the RealToCString reciprocal conversion. Standard_Boolean OSD::CStringToReal(const Standard_CString aString, Standard_Real& aReal) { char *endptr ; aReal = Strtod(aString, &endptr); if (*endptr) return Standard_False ; return Standard_True; } #ifdef _WIN32 #include #else #include #endif //======================================================================= //function : OSDSecSleep //purpose : Cause the process to sleep during a amount of seconds //======================================================================= void OSD::SecSleep (const Standard_Integer theSeconds) { #ifdef _WIN32 Sleep (theSeconds * 1000); #else usleep (theSeconds * 1000 * 1000); #endif } //======================================================================= //function : MilliSecSleep //purpose : Cause the process to sleep during a amount of milliseconds //======================================================================= void OSD::MilliSecSleep (const Standard_Integer theMilliseconds) { #ifdef _WIN32 Sleep (theMilliseconds); #else usleep (theMilliseconds * 1000); #endif }