summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/matlab/timingFuncs/photonStartTiming.c
blob: bbf5231ace01e24a6cbdd1deb3b53c7eee4857ad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include"mex.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <math.h>

void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
    uint32_t* cycles;
    plhs[0] = mxCreateNumericMatrix(1, 2, mxUINT32_CLASS, mxREAL);
    cycles = (uint32_t*)mxGetPr(plhs[0]);
    __asm__ __volatile__( "rdtsc": "=a" (cycles[0]), "=d" (cycles[1]));    
 
    return;
}