Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #pragma ident "@(#) libfi/element/idate_f90.c 92.2 06/16/99 15:47:23"
00038 #include <fortran.h>
00039 #include <sys/types.h>
00040 #include <time.h>
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 #define __IDATE_SCALAR() \
00068 struct tm *locltm; \
00069 time_t t; \
00070 t = time(0); \
00071 locltm = localtime(&t); \
00072 *imon = locltm->tm_mon + 1; \
00073 *jday = locltm->tm_mday; \
00074 *kyear = locltm->tm_year % 100;
00075
00076 #define __IDATE_ARRAY() \
00077 struct tm *locltm; \
00078 time_t t; \
00079 t = time(0); \
00080 locltm = localtime(&t); \
00081 iarray[0] = locltm->tm_mday; \
00082 iarray[1] = locltm->tm_mon + 1; \
00083 iarray[2] = locltm->tm_year + 1900;
00084
00085
00086
00087
00088
00089 extern void _IDATE_I(int *imon, int *jday, int *kyear)
00090 {
00091 __IDATE_SCALAR();
00092 }
00093
00094 extern void _IDATE_I1(_f_int1 *imon, _f_int1 *jday, _f_int1 *kyear)
00095 {
00096 __IDATE_SCALAR();
00097 }
00098
00099 extern void _IDATE_I2(_f_int2 *imon, _f_int2 *jday, _f_int2 *kyear)
00100 {
00101 __IDATE_SCALAR();
00102 }
00103
00104 extern void _IDATE_I4(_f_int4 *imon, _f_int4 *jday, _f_int4 *kyear)
00105 {
00106 __IDATE_SCALAR();
00107 }
00108
00109 extern void _IDATE_I8(_f_int8 *imon, _f_int8 *jday, _f_int8 *kyear)
00110 {
00111 __IDATE_SCALAR();
00112 }
00113
00114
00115
00116
00117 extern void _IDATE_A(int iarray[3])
00118 {
00119 __IDATE_ARRAY();
00120 }
00121
00122 extern void _IDATE_A1(_f_int1 iarray[3])
00123 {
00124 __IDATE_ARRAY();
00125 }
00126
00127 extern void _IDATE_A2(_f_int2 iarray[3])
00128 {
00129 __IDATE_ARRAY();
00130 }
00131
00132 extern void _IDATE_A4(_f_int4 iarray[3])
00133 {
00134 __IDATE_ARRAY();
00135 }
00136
00137 extern void _IDATE_A8(_f_int8 iarray[3])
00138 {
00139 __IDATE_ARRAY();
00140 }
00141