/* Copyright 2008-2016 Research Foundation State University of New York */ /* This file is part of QUB Express. */ /* QUB Express is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ /* the Free Software Foundation, either version 3 of the License, or */ /* (at your option) any later version. */ /* QUB Express is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ /* GNU General Public License for more details. */ /* You should have received a copy of the GNU General Public License, */ /* named LICENSE.txt, in the QUB Express program directory. If not, see */ /* . */ #ifndef QUBXHJC_H #define QUBXHJC_H // // If QUBXHJC_EXPORTS is defined, the decorator QUBXHJC_API exports a symbol. // Otherwise, QUBXHJC_API imports the symbol. // This works across MS Visual Studio and gcc. // /* begin_html Up: Index end_html */ #if defined(_WIN32) #define QUBXHJC_DLLEXPORT __declspec(dllexport) #define QUBXHJC_DLLIMPORT __declspec(dllimport) #else #define QUBXHJC_DLLEXPORT #define QUBXHJC_DLLIMPORT #define __stdcall #endif #if !defined(QUBXHJC_EXPORTS) #define QUBXHJC_API QUBXHJC_DLLIMPORT #else #define QUBXHJC_API QUBXHJC_DLLEXPORT #endif #ifdef __GNUC__ #define QUBXHJC_VAR_NOT_USED __attribute__ ((unused)) #else #define QUBXHJC_VAR_NOT_USED #endif #ifdef __cplusplus extern "C" { #endif void* QUBXHJC_API qub_hjc_bursts_alloc(); void QUBXHJC_API qub_hjc_bursts_free(void *obj); void QUBXHJC_API qub_hjc_bursts_append(void *obj, float *durations_ms, int count); // assuming alternation open,closed,open,...,closed,open; count is odd; and tdead applied double QUBXHJC_API qub_hjc_likelihood(void *bursts, double *Q, int numStates, int numOpen, double tDead_ms, double tCrit_ms, int useCHSvectors); #ifdef __cplusplus } #endif #endif