#include <stdio.h>
#include <stdlib.h>
-#include "sync_chain_lttv.h"
+#include "sync_chain.h"
#include "event_analysis_linreg.h"
static void analyzeExchangeLinReg(SyncState* const syncState, Exchange* const exchange);
static GArray* finalizeAnalysisLinReg(SyncState* const syncState);
static void printAnalysisStatsLinReg(SyncState* const syncState);
-static void writeAnalysisGraphsPlotsLinReg(FILE* stream, SyncState* const
- syncState, const unsigned int i, const unsigned int j);
+static void writeAnalysisGraphsPlotsLinReg(SyncState* const syncState, const
+ unsigned int i, const unsigned int j);
// Functions specific to this module
static void registerAnalysisLinReg() __attribute__((constructor (102)));
.name= "linreg",
.initAnalysis= &initAnalysisLinReg,
.destroyAnalysis= &destroyAnalysisLinReg,
- .analyzeMessage= NULL,
.analyzeExchange= &analyzeExchangeLinReg,
- .analyzeBroadcast= NULL,
.finalizeAnalysis= &finalizeAnalysisLinReg,
.printAnalysisStats= &printAnalysisStatsLinReg,
- .writeAnalysisGraphsPlots= &writeAnalysisGraphsPlotsLinReg,
- .writeAnalysisGraphsOptions= NULL,
+ .graphFunctions= {
+ .writeTraceTraceForePlots= &writeAnalysisGraphsPlotsLinReg,
+ }
};
// Calculate the intermediate values for the
// least-squares analysis
- dji= ((double) ackedMessage->inE->time - (double) ackedMessage->outE->time
- + (double) exchange->message->outE->time - (double)
- exchange->message->inE->time) / 2;
- eji= fabs((double) ackedMessage->inE->time - (double)
- ackedMessage->outE->time - (double) exchange->message->outE->time +
- (double) exchange->message->inE->time) / 2;
- timoy= ((double) ackedMessage->outE->time + (double)
- exchange->message->inE->time) / 2;
+ dji= ((double) ackedMessage->inE->cpuTime - (double) ackedMessage->outE->cpuTime
+ + (double) exchange->message->outE->cpuTime - (double)
+ exchange->message->inE->cpuTime) / 2;
+ eji= fabs((double) ackedMessage->inE->cpuTime - (double)
+ ackedMessage->outE->cpuTime - (double) exchange->message->outE->cpuTime +
+ (double) exchange->message->inE->cpuTime) / 2;
+ timoy= ((double) ackedMessage->outE->cpuTime + (double)
+ exchange->message->inE->cpuTime) / 2;
ni= ackedMessage->outE->traceNum;
nj= ackedMessage->inE->traceNum;
fit= &analysisData->fitArray[nj][ni];
* Write the analysis-specific graph lines in the gnuplot script.
*
* Args:
- * stream: stream where to write the data
* syncState: container for synchronization data
* i: first trace number, on the x axis
* j: second trace number, garanteed to be larger than i
*/
-void writeAnalysisGraphsPlotsLinReg(FILE* stream, SyncState* const syncState,
- const unsigned int i, const unsigned int j)
+void writeAnalysisGraphsPlotsLinReg(SyncState* const syncState, const unsigned
+ int i, const unsigned int j)
{
AnalysisDataLinReg* analysisData;
Fit* fit;
analysisData= (AnalysisDataLinReg*) syncState->analysisData;
fit= &analysisData->fitArray[j][i];
- fprintf(stream,
+ fprintf(syncState->graphsStream,
"\t%7g + %7g * x "
"title \"Linreg conversion\" with lines "
"linecolor rgb \"gray60\" linetype 1, \\\n",