summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoye <joye>2015-06-24 21:41:43 (GMT)
committerjoye <joye>2015-06-24 21:41:43 (GMT)
commit0a2c6340848a423fd27745507f467c13d73eba98 (patch)
tree80100a92ed703cf0b58f978674946db198bca212
parent1532d0ed55d2c814c83bb5798eeb34cc25869304 (diff)
downloadblt-0a2c6340848a423fd27745507f467c13d73eba98.zip
blt-0a2c6340848a423fd27745507f467c13d73eba98.tar.gz
blt-0a2c6340848a423fd27745507f467c13d73eba98.tar.bz2
*** empty log message ***
-rw-r--r--src/bltGrPSOutput.C6
-rw-r--r--src/bltVecCmd.C6
-rw-r--r--src/bltVecMath.C14
-rw-r--r--src/bltVector.C2
4 files changed, 26 insertions, 2 deletions
diff --git a/src/bltGrPSOutput.C b/src/bltGrPSOutput.C
index 9261f3a..8ef802b 100644
--- a/src/bltGrPSOutput.C
+++ b/src/bltGrPSOutput.C
@@ -458,12 +458,16 @@ int PSOutput::preamble(const char* fileName)
format("%%%%Creator: (%s %s %s)\n", PACKAGE_NAME, PACKAGE_VERSION,
Tk_Class(graphPtr_->tkwin_));
- time_t ticks = time((time_t *) NULL);
char date[200];
+#ifndef _WIN32
+ time_t ticks = time((time_t *) NULL);
strcpy(date, ctime(&ticks));
char* newline = date + strlen(date) - 1;
if (*newline == '\n')
*newline = '\0';
+#else
+ strcpy(date,"Unknown");
+#endif
format("%%%%CreationDate: (%s)\n", date);
format("%%%%Title: (%s)\n", fileName);
diff --git a/src/bltVecCmd.C b/src/bltVecCmd.C
index b5a07ef..e9af214 100644
--- a/src/bltVecCmd.C
+++ b/src/bltVecCmd.C
@@ -1130,7 +1130,7 @@ static int BinreadOp(Vector *vPtr, Tcl_Interp* interp,
}
#define BUFFER_SIZE 1024
- int arraySize = (count == 0) ? arraySize = BUFFER_SIZE*size : count*size;
+ int arraySize = (count == 0) ? BUFFER_SIZE*size : count*size;
char* byteArr = (char*)malloc(arraySize);
// FIXME: restore old channel translation later?
@@ -1239,7 +1239,11 @@ static int RandomOp(Vector *vPtr, Tcl_Interp* interp,
int objc, Tcl_Obj* const objv[])
{
for (int i = 0; i < vPtr->length; i++)
+#ifdef _WIN32
+ vPtr->valueArr[i] = double(rand())/RAND_MAX;
+#else
vPtr->valueArr[i] = drand48();
+#endif
if (vPtr->flush)
Vec_FlushCache(vPtr);
diff --git a/src/bltVecMath.C b/src/bltVecMath.C
index bc2dc59..06881d4 100644
--- a/src/bltVecMath.C
+++ b/src/bltVecMath.C
@@ -1471,6 +1471,16 @@ static int VectorFunc(ClientData clientData, Tcl_Interp* interp, Vector *vPtr)
return (*procPtr) (vPtr);
}
+#ifdef _WIN32
+static int Rand(Blt_Vector *vectorPtr)
+{
+ Vector *vPtr = (Vector *)vectorPtr;
+ for(double *vp=vPtr->valueArr+vPtr->first, *vend=vPtr->valueArr+vPtr->last;
+ vp <= vend; vp++)
+ *vp = double(rand())/RAND_MAX;
+ return TCL_OK;
+}
+#endif
static MathFunction mathFunctions[] =
{
@@ -1497,7 +1507,11 @@ static MathFunction mathFunctions[] =
{"q1", (void*)ScalarFunc, (ClientData)Q1},
{"q3", (void*)ScalarFunc, (ClientData)Q3},
{"prod", (void*)ScalarFunc, (ClientData)Product},
+#ifdef _WIN32
+ {"random", (void*)VectorFunc, (ClientData)Rand},
+#else
{"random", (void*)ComponentFunc, (ClientData)drand48},
+#endif
{"round", (void*)ComponentFunc, (ClientData)Round},
{"sdev", (void*)ScalarFunc, (ClientData)StdDeviation},
{"sin", (void*)ComponentFunc, (ClientData)sin},
diff --git a/src/bltVector.C b/src/bltVector.C
index 51a2596..e637204 100644
--- a/src/bltVector.C
+++ b/src/bltVector.C
@@ -1240,7 +1240,9 @@ VectorInterpData* Blt::Vec_GetInterpData(Tcl_Interp* interp)
Tcl_InitHashTable(&dataPtr->indexProcTable, TCL_STRING_KEYS);
Vec_InstallMathFunctions(&dataPtr->mathProcTable);
Vec_InstallSpecialIndices(&dataPtr->indexProcTable);
+#ifndef _WIN32
srand48(time((time_t *) NULL));
+#endif
}
return dataPtr;
}