# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

.cyclopsGetModelTypeNames <- function() {
    .Call(`_Cyclops_cyclopsGetModelTypeNames`)
}

.cyclopsGetRemoveInterceptNames <- function() {
    .Call(`_Cyclops_cyclopsGetRemoveInterceptNames`)
}

.cyclopsGetIsSurvivalNames <- function() {
    .Call(`_Cyclops_cyclopsGetIsSurvivalNames`)
}

.cyclopsGetUseOffsetNames <- function() {
    .Call(`_Cyclops_cyclopsGetUseOffsetNames`)
}

.cyclopsGetComputeDevice <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsGetComputeDevice`, inRcppCcdInterface)
}

.cyclopsSetBeta <- function(inRcppCcdInterface, beta) {
    invisible(.Call(`_Cyclops_cyclopsSetBeta`, inRcppCcdInterface, beta))
}

.cyclopsGetBeta <- function(inRcppCcdInterface, index) {
    .Call(`_Cyclops_cyclopsGetBeta`, inRcppCcdInterface, index)
}

.cyclopsSetStartingBeta <- function(inRcppCcdInterface, inStartingBeta) {
    invisible(.Call(`_Cyclops_cyclopsSetStartingBeta`, inRcppCcdInterface, inStartingBeta))
}

.cyclopsSetFixedBeta <- function(inRcppCcdInterface, beta, fixed) {
    invisible(.Call(`_Cyclops_cyclopsSetFixedBeta`, inRcppCcdInterface, beta, fixed))
}

.cyclopsGetFixedBeta <- function(inRcppCcdInterface, index) {
    .Call(`_Cyclops_cyclopsGetFixedBeta`, inRcppCcdInterface, index)
}

.cyclopsGetIsRegularized <- function(inRcppCcdInterface, index) {
    .Call(`_Cyclops_cyclopsGetIsRegularized`, inRcppCcdInterface, index)
}

.cyclopsSetWeights <- function(inRcppCcdInterface, weights) {
    invisible(.Call(`_Cyclops_cyclopsSetWeights`, inRcppCcdInterface, weights))
}

.cyclopsSetCensorWeights <- function(inRcppCcdInterface, weights) {
    invisible(.Call(`_Cyclops_cyclopsSetCensorWeights`, inRcppCcdInterface, weights))
}

.cyclopsGetNewPredictiveLogLikelihood <- function(inRcppCcdInterface, weights) {
    .Call(`_Cyclops_cyclopsGetNewPredictiveLogLikelihood`, inRcppCcdInterface, weights)
}

.cyclopsGetLogLikelihood <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsGetLogLikelihood`, inRcppCcdInterface)
}

.cyclopsMakeDirty <- function(inRcppCcdInterface) {
    invisible(.Call(`_Cyclops_cyclopsMakeDirty`, inRcppCcdInterface))
}

.cyclopsLogResults <- function(inRcppCcdInterface, fileName, withASE) {
    invisible(.Call(`_Cyclops_cyclopsLogResult`, inRcppCcdInterface, fileName, withASE))
}

.cyclopsTestProportionality <- function(inRcppCcdInterface, sexpBitCovariates, covariate) {
    .Call(`_Cyclops_cyclopsTestProportionality`, inRcppCcdInterface, sexpBitCovariates, covariate)
}

.cyclopsGetSchoenfeldResiduals <- function(inRcppCcdInterface, sexpBitCovariates) {
    .Call(`_Cyclops_cyclopsGetSchoenfeldResiduals`, inRcppCcdInterface, sexpBitCovariates)
}

.cyclopsGetFisherInformation <- function(inRcppCcdInterface, sexpBitCovariates) {
    .Call(`_Cyclops_cyclopsGetFisherInformation`, inRcppCcdInterface, sexpBitCovariates)
}

.cyclopsSetPrior <- function(inRcppCcdInterface, priorTypeName, variance, excludeNumeric, sexpGraph, sexpNeighborhood) {
    invisible(.Call(`_Cyclops_cyclopsSetPrior`, inRcppCcdInterface, priorTypeName, variance, excludeNumeric, sexpGraph, sexpNeighborhood))
}

.cyclopsTestParameterizedPrior <- function(priorFunction, startingParameters, indices, values) {
    .Call(`_Cyclops_cyclopsTestParameterizedPrior`, priorFunction, startingParameters, indices, values)
}

.cyclopsSetParameterizedPrior <- function(inRcppCcdInterface, priorTypeName, priorFunction, startingParameters, excludeNumeric) {
    invisible(.Call(`_Cyclops_cyclopsSetParameterizedPrior`, inRcppCcdInterface, priorTypeName, priorFunction, startingParameters, excludeNumeric))
}

.cyclopsGetProfileLikelihood <- function(inRcppCcdInterface, inCovariate, points, threads, includePenalty, returnDerivatives) {
    .Call(`_Cyclops_cyclopsGetProfileLikelihood`, inRcppCcdInterface, inCovariate, points, threads, includePenalty, returnDerivatives)
}

.cyclopsProfileModel <- function(inRcppCcdInterface, sexpCovariates, threads, threshold, override, includePenalty) {
    .Call(`_Cyclops_cyclopsProfileModel`, inRcppCcdInterface, sexpCovariates, threads, threshold, override, includePenalty)
}

.cyclopsPredictModel <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsPredictModel`, inRcppCcdInterface)
}

.cyclopsSetConvergenceType <- function(inRcppCcdInterface, convergenceType) {
    invisible(.Call(`_Cyclops_cyclopsSetConvergenceType`, inRcppCcdInterface, convergenceType))
}

.cyclopsGetConvergenceType <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsGetConvergenceType`, inRcppCcdInterface)
}

.cyclopsSetControl <- function(inRcppCcdInterface, maxIterations, tolerance, convergenceType, useAutoSearch, fold, foldToCompute, lowerLimit, upperLimit, gridSteps, noiseLevel, threads, seed, resetCoefficients, startingVariance, useKKTSwindle, swindleMultipler, selectorType, initialBound, maxBoundCount, algorithm, doItAll, syncCV) {
    invisible(.Call(`_Cyclops_cyclopsSetControl`, inRcppCcdInterface, maxIterations, tolerance, convergenceType, useAutoSearch, fold, foldToCompute, lowerLimit, upperLimit, gridSteps, noiseLevel, threads, seed, resetCoefficients, startingVariance, useKKTSwindle, swindleMultipler, selectorType, initialBound, maxBoundCount, algorithm, doItAll, syncCV))
}

.cyclopsRunCrossValidation <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsRunCrossValidationl`, inRcppCcdInterface)
}

.cyclopsCacheForJava <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsCacheForJava`, inRcppCcdInterface)
}

.cyclopsClearCacheForJava <- function() {
    invisible(.Call(`_Cyclops_cyclopsClearCacheForJava`))
}

.cyclopsFitModel <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsFitModel`, inRcppCcdInterface)
}

.cyclopsRunBootstrap <- function(inRcppCcdInterface, outFileName, treatmentId, replicates) {
    .Call(`_Cyclops_cyclopsRunBootstrap`, inRcppCcdInterface, outFileName, treatmentId, replicates)
}

.cyclopsGetLogLikelihoodGradient <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsGetLogLikelihoodGradient`, inRcppCcdInterface)
}

.cyclopsLogModel <- function(inRcppCcdInterface) {
    .Call(`_Cyclops_cyclopsLogModel`, inRcppCcdInterface)
}

.cyclopsInitializeModel <- function(inModelData, modelType, computeDevice, computeMLE = FALSE) {
    .Call(`_Cyclops_cyclopsInitializeModel`, inModelData, modelType, computeDevice, computeMLE)
}

.cyclopsGetLogLikelihoodHessianDiagonal <- function(inRcppCcdInterface, sexpCovariates) {
    .Call(`_Cyclops_cyclopsGetLogLikelihoodHessianDiagonal`, inRcppCcdInterface, sexpCovariates)
}

#' @title List available GPU devices
#'
#' @description
#' \code{listGPUDevices} list available GPU devices
#'
#' @export
listGPUDevices <- function() {
    .Call(`_Cyclops_listGPUDevices`)
}

.getDefaultGPUDevice <- function() {
    .Call(`_Cyclops_getDefaultGPUDevice`)
}

.isSorted <- function(dataFrame, indexes, ascending) {
    .Call(`_Cyclops_isSorted`, dataFrame, indexes, ascending)
}

.isSortedVectorList <- function(vectorList, ascending) {
    .Call(`_Cyclops_isSortedVectorList`, vectorList, ascending)
}

.isRcppPtrNull <- function(x) {
    .Call(`_Cyclops_isRcppPtrNull`, x)
}

#' @title Get number of strata
#'
#' @description
#' \code{getNumberOfStrata} return the number of unique strata in a Cyclops data object
#'
#' @param object    A Cyclops data object
#'
#' @export
getNumberOfStrata <- function(object) {
    .Call(`_Cyclops_cyclopsGetNumberOfStrata`, object)
}

#' @title Get covariate identifiers
#'
#' @description
#' \code{getCovariateIds} returns a vector of integer64 covariate identifiers in a Cyclops data object
#'
#' @param object    A Cyclops data object
#'
#' @export
getCovariateIds <- function(object) {
    .Call(`_Cyclops_cyclopsGetCovariateIds`, object)
}

.getCovariateTypes <- function(object, bitCovariateLabel) {
    .Call(`_Cyclops_cyclopsGetCovariateType`, object, bitCovariateLabel)
}

#' @title Get floating point size
#'
#' @description
#' \code{getFloatingPointSize} returns the floating-point representation size in a Cyclops data object
#'
#' @param object   A Cyclops data object
#'
#' @export
getFloatingPointSize <- function(object) {
    .Call(`_Cyclops_cyclopsGetFloatingPointSize`, object)
}

#' @title Get total number of covariates
#'
#' @description
#' \code{getNumberOfCovariates} returns the total number of covariates in a Cyclops data object
#'
#' @param object    A Cyclops data object
#'
#' @export
getNumberOfCovariates <- function(object) {
    .Call(`_Cyclops_cyclopsGetNumberOfColumns`, object)
}

#' @title Print Cyclops data matrix to file
#'
#' @description
#' \code{printMatrixMarket} prints the data matrix to a file
#'
#' @param object      A Cyclops data object
#' @param file        Filename
#'
#' @keywords internal
printMatrixMarket <- function(object, file) {
    invisible(.Call(`_Cyclops_cyclopsPrintMatrixMarket`, object, file))
}

#' @title Get total number of rows
#'
#' @description
#' \code{getNumberOfRows} returns the total number of outcome rows in a Cyclops data object
#'
#' @param object    A Cyclops data object
#'
#' @export
getNumberOfRows <- function(object) {
    .Call(`_Cyclops_cyclopsGetNumberOfRows`, object)
}

#' @title Get total number of outcome types
#'
#' @description
#' \code{getNumberOfTypes} returns the total number of outcome types in a Cyclops data object
#'
#' @param object    A Cyclops data object
#'
#' @keywords internal
getNumberOfTypes <- function(object) {
    .Call(`_Cyclops_cyclopsGetNumberOfTypes`, object)
}

.cyclopsUnivariableCorrelation <- function(x, bitCovariateLabel) {
    .Call(`_Cyclops_cyclopsUnivariableCorrelation`, x, bitCovariateLabel)
}

.cyclopsUnivariableSeparability <- function(x, bitCovariateLabel) {
    .Call(`_Cyclops_cyclopsUnivariableSeparability`, x, bitCovariateLabel)
}

.cyclopsSumByGroup <- function(x, bitCovariateLabel, bitGroupByLabel, power) {
    .Call(`_Cyclops_cyclopsSumByGroup`, x, bitCovariateLabel, bitGroupByLabel, power)
}

.cyclopsSumByStratum <- function(x, bitCovariateLabel, power) {
    .Call(`_Cyclops_cyclopsSumByStratum`, x, bitCovariateLabel, power)
}

.cyclopsSum <- function(x, bitCovariateLabel, power) {
    .Call(`_Cyclops_cyclopsSum`, x, bitCovariateLabel, power)
}

.cyclopsNewSqlData <- function(modelTypeName, noiseLevel, floatingPoint) {
    .Call(`_Cyclops_cyclopsNewSqlData`, modelTypeName, noiseLevel, floatingPoint)
}

.cyclopsMedian <- function(vector) {
    .Call(`_Cyclops_cyclopsMedian`, vector)
}

.cyclopsQuantile <- function(vector, q) {
    .Call(`_Cyclops_cyclopsQuantile`, vector, q)
}

.cyclopsNormalizeCovariates <- function(x, normalizationName) {
    .Call(`_Cyclops_cyclopsNormalizeCovariates`, x, normalizationName)
}

.cyclopsSetHasIntercept <- function(x, hasIntercept) {
    invisible(.Call(`_Cyclops_cyclopsSetHasIntercept`, x, hasIntercept))
}

.cyclopsGetHasIntercept <- function(x) {
    .Call(`_Cyclops_cyclopsGetHasIntercept`, x)
}

.cyclopsGetHasOffset <- function(x) {
    .Call(`_Cyclops_cyclopsGetHasOffset`, x)
}

.cyclopsGetMeanOffset <- function(x) {
    .Call(`_Cyclops_cyclopsGetMeanOffset`, x)
}

getYVector <- function(object) {
    .Call(`_Cyclops_cyclopsGetYVector`, object)
}

getTimeVector <- function(object) {
    .Call(`_Cyclops_cyclopsGetTimeVector`, object)
}

.cyclopsFinalizeData <- function(x, addIntercept, sexpOffsetCovariate, offsetAlreadyOnLogScale, sortCovariates, sexpCovariatesDense, magicFlag = FALSE) {
    invisible(.Call(`_Cyclops_cyclopsFinalizeData`, x, addIntercept, sexpOffsetCovariate, offsetAlreadyOnLogScale, sortCovariates, sexpCovariatesDense, magicFlag))
}

.loadCyclopsDataY <- function(x, stratumId, rowId, y, time) {
    invisible(.Call(`_Cyclops_cyclopsLoadDataY`, x, stratumId, rowId, y, time))
}

.loadCyclopsDataMultipleX <- function(x, covariateId, rowId, covariateValue, checkCovariateIds, checkCovariateBounds, append, forceSparse) {
    .Call(`_Cyclops_cyclopsLoadDataMultipleX`, x, covariateId, rowId, covariateValue, checkCovariateIds, checkCovariateBounds, append, forceSparse)
}

.loadCyclopsDataX <- function(x, bitCovariateId, rowId, covariateValue, replace, append, forceSparse) {
    .Call(`_Cyclops_cyclopsLoadDataX`, x, bitCovariateId, rowId, covariateValue, replace, append, forceSparse)
}

.loadCyclopsDataStratTimeEffects <- function(x, stratumId, rowId, subjectId, timeEffectCovariateId) {
    .Call(`_Cyclops_cyclopsLoadDataStratTimeEffects`, x, stratumId, rowId, subjectId, timeEffectCovariateId)
}

.appendSqlCyclopsData <- function(x, oStratumId, oRowId, oY, oTime, cRowId, cCovariateId, cCovariateValue) {
    .Call(`_Cyclops_cyclopsAppendSqlData`, x, oStratumId, oRowId, oY, oTime, cRowId, cCovariateId, cCovariateValue)
}

.cyclopsGetInterceptLabel <- function(x) {
    .Call(`_Cyclops_cyclopsGetInterceptLabel`, x)
}

.cyclopsReadData <- function(fileName, modelTypeName) {
    .Call(`_Cyclops_cyclopsReadFileData`, fileName, modelTypeName)
}

.cyclopsModelData <- function(pid, y, z, offs, dx, sx, ix, modelTypeName, useTimeAsOffset = FALSE, numTypes = 1L, floatingPoint = 64L) {
    .Call(`_Cyclops_cyclopsModelData`, pid, y, z, offs, dx, sx, ix, modelTypeName, useTimeAsOffset, numTypes, floatingPoint)
}

