⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esmc_timeex.c

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 C
字号:
/* $Id: ESMC_TimeEx.c,v 1.1.6.1 2002/04/24 03:25:51 erik Exp $ *//*============================================================================* * ESMC_Time C Unit Tests and Examples *============================================================================*/#undef __FUNC__#define __FUNC__ "ESMC_TimeEx"#include "ESMC.h"#include "ESMC_BasicUtil.h"#include "ESMC_Time.h"#define START_DAYS   5#define START_SECS   43200#define STOP_DAYS    12#define STOP_SECS    1200#define DAY_INC      2#define SEC_INC      1000#define SEC_OVER_SID 100000int main(int argc, char **argv){  ESMC_Bool isLater;  int retDays, retSecs;  double retRealDays;  ESMC_Time startTime, stopTime, retTime;  ESMC_App app;  ESMC_AppNew(&app);  printf("==================================================\n");  printf("ESMC_Time C Unit Tests and Examples\n");  printf("==================================================\n");  ESMC_TimeNewIS(&startTime, START_DAYS, START_SECS);  ESMC_TimeNewIS(&stopTime, STOP_DAYS, STOP_SECS);  ESMC_TimeNewUndefined(&retTime);  ESMC_TimeGetIS(startTime, &retDays, &retSecs);  printf("Ret days %d, Ret secs %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays == START_DAYS) && (retSecs == START_SECS)),               "ESMC_TimeNewIS, ESMC_TimeGetIS:  create time and get attributes");  ESMC_TimeGetDays(startTime, &retRealDays);  printf("Ret real days %f\n", retRealDays);  ESMC_ERROR_TEST((ESMC_EQUAL(retRealDays, 5.5)),              "ESMC_TimeGetDays:  get time value as real days");   ESMC_TimeIncrementIS(startTime, retTime, DAY_INC, SEC_INC);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);  printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays==7) && (retSecs==44200)),              "ESMC_TimeIncrementIS:  increment time, sec inc < 86400");    ESMC_TimeDiff(startTime, stopTime, retTime, &isLater);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);    printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays == 6) && (retSecs == 44400) && (isLater == ESMC_TRUE)),              "ESMC_TimeDiff:  take time difference, isLater is true");  ESMC_TimeDiff(stopTime, startTime, retTime, &isLater);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);    printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays == 6) && (retSecs == 44400) && (isLater == ESMC_FALSE)),              "ESMC_TimeDiff: take time difference, isLater is false");  ESMC_TimeSetIS(retTime, DAY_INC, SEC_OVER_SID);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);    printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays==3) && (retSecs==13600)),              "ESMC_TimeSetIS:  set time, sec > 86400");    ESMC_TimeDecrementIS(stopTime, retTime, DAY_INC, SEC_OVER_SID);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);    printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays==8) && (retSecs==74000)),              "ESMC_TimeDecrementIS:  decrement time, sec > 86400");    ESMC_TimeSetIS(retTime, 0, 3600);  ESMC_TimeDecrementIS(retTime, retTime, 0, 3600);  ESMC_TimeGetIS(retTime, &retDays, &retSecs);    printf("Ret days = %d, Ret secs = %d\n", retDays, retSecs);  ESMC_ERROR_TEST(((retDays==0) && (retSecs==0)),              "ESMC_TimeDecrementIS:  decrement time down to 0");        printf("\nTest Print Method\n");  ESMC_TimePrint(startTime);  ESMC_TimeDelete(startTime);  ESMC_TimeDelete(stopTime);  ESMC_TimeDelete(retTime);  ESMC_AppDelete(app);  return(ESMC_SUCCESS);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -