From 43f250d05d0f8d4155899c0638a3ab286f9aa29c Mon Sep 17 00:00:00 2001 From: Tom Elliott Date: Mon, 2 Nov 2020 15:25:08 +1300 Subject: [PATCH] Remove header definition; replace with declarations --- src/Combined-methods.c | 383 +++++++++++++++++++++++++++++++++ src/DemographicArray-methods.c | 383 +++++++++++++++++++++++++++++++++ src/Model-methods.c | 381 ++++++++++++++++++++++++++++++++ src/Prior-methods.c | 381 ++++++++++++++++++++++++++++++++ src/demest.h | 381 +------------------------------- src/helper-functions.c | 383 +++++++++++++++++++++++++++++++++ src/helper-simulate.c | 383 +++++++++++++++++++++++++++++++++ src/init.c | 382 ++++++++++++++++++++++++++++++++ src/iterators-methods.c | 382 ++++++++++++++++++++++++++++++++ src/mapping-functions.c | 383 +++++++++++++++++++++++++++++++++ src/update-account.c | 382 ++++++++++++++++++++++++++++++++ src/update-nongeneric.c | 382 ++++++++++++++++++++++++++++++++ src/updatePriorBeta.c | 383 +++++++++++++++++++++++++++++++++ 13 files changed, 4589 insertions(+), 380 deletions(-) diff --git a/src/Combined-methods.c b/src/Combined-methods.c index 3122c1c..1903d15 100644 --- a/src/Combined-methods.c +++ b/src/Combined-methods.c @@ -7,6 +7,389 @@ /* ************************ drawCombined ************************ */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + void drawCombined_CombinedModelBinomial(SEXP object_R, int nUpdate) diff --git a/src/DemographicArray-methods.c b/src/DemographicArray-methods.c index 34690e7..ac8a4b1 100644 --- a/src/DemographicArray-methods.c +++ b/src/DemographicArray-methods.c @@ -5,6 +5,389 @@ /* File "DemographicArray-methods.c" contains C versions of functions * from "DemographicArray-methods.R". */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + /* ******************************************************************************** */ /* Functions for updating combined classes **************************************** */ diff --git a/src/Model-methods.c b/src/Model-methods.c index f6eca02..9e97cf2 100644 --- a/src/Model-methods.c +++ b/src/Model-methods.c @@ -9,6 +9,387 @@ /* functions for model log likelihoods */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); double diff --git a/src/Prior-methods.c b/src/Prior-methods.c index 1d4a5fc..0ccae83 100644 --- a/src/Prior-methods.c +++ b/src/Prior-methods.c @@ -10,6 +10,387 @@ /* File "Prior-methods.c" contains C versions of functions * from "Prior-methods.R". */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); /* ******************************************************************************** */ diff --git a/src/demest.h b/src/demest.h index dcfb90a..d6b0c6f 100644 --- a/src/demest.h +++ b/src/demest.h @@ -31,381 +31,7 @@ /* everything in "x_sym" form here must be macro defined in init.c */ -SEXP - Data_sym, /* used for .Data slot */ - iMethodPrior_sym, - Z_sym, - beta_sym, - eta_sym, - gamma_sym, - lower_sym, - tau_sym, - tauMax_sym, - upper_sym, - order_sym, - iteratorBeta_sym, - iWithin_sym, - nWithin_sym, - iBetween_sym, - nBetween_sym, - incrementBetween_sym, - indices_sym, - initial_sym, - dimIterators_sym, - strideLengths_sym, - nStrides_sym, - dimBefore_sym, - dimAfter_sym, - posDim_sym, - lengthDim_sym, - iMethodModel_sym, - meansBetas_sym, - variancesBetas_sym, - betaEqualsMean_sym, - acceptBeta_sym, - priorsBetas_sym, - logPostPriorsBetas_sym, - logPostBetas_sym, - logPostSigma_sym, - logPostTheta_sym, - logPostVarsigma_sym, - theta_sym, - thetaTransformed_sym, - cellInLik_sym, - mu_sym, - sigma_sym, - sigmaMax_sym, - ASigma_sym, - nuSigma_sym, - varsigma_sym, - varsigmaMax_sym, - varsigmaSetToZero_sym, - AVarsigma_sym, - nuVarsigma_sym, - w_sym, - scaleTheta_sym, - scaleThetaMultiplier_sym, - nAcceptTheta_sym, - betas_sym, - priors_sym, - iteratorBetas_sym, - dims_sym, - prob_sym, - ADelta0_sym, - meanDelta0_sym, - - mean_sym, - sd_sym, - - tolerance_sym, - betaIsPredicted_sym, - nFailedPropTheta_sym, - nFailedPropYStar_sym, - maxAttempt_sym, - valueAg_sym, - weightAg_sym, - transformAg_sym, - meanAg_sym, - sdAg_sym, - scaleAg_sym, - nAcceptAg_sym, - nFailedPropValueAg_sym, - funAg_sym, - xArgsAg_sym, - weightsArgsAg_sym, - mxAg_sym, - axAg_sym, - nxAg_sym, - nAgeAg_sym, - transformThetaToMxAg_sym, - subtotals_sym, - transformSubtotals_sym, - subtotalsNet_sym, - slotsToExtract_sym, - iMethodCombined_sym, - model_sym, - exposure_sym, - y_sym, - dataModels_sym, - datasets_sym, - transforms_sym, - seriesIndices_sym, - updateComponent_sym, - updateDataModel_sym, - updateSystemModel_sym, - - J_sym, - - UC_sym, - DC_sym, - UR_sym, - DCInv_sym, - DRInv_sym, - CC_sym, - a_sym, - R_sym, - priorsW_sym, - v_sym, - forward_sym, - offsetsBetas_sym, - offsetsPriorsBetas_sym, - offsetsSigma_sym, - offsetsVarsigma_sym, - m0_sym, - C0_sym, - phi_sym, - w_sym, - iteratorGamma_sym, - iteratorV_sym, - delta_sym, - phiKnown_sym, - /* description */ - nTime_sym, - stepTime_sym, - hasAge_sym, - hasSex_sym, - iSexDominant_sym, - stepSexCurrent_sym, - stepSexTarget_sym, - nAge_sym, - stepAge_sym, - length_sym, - stepTriangle_sym, - stepDirection_sym, - nBetweenVec_sym, - stepBetweenVec_sym, - nWithinVec_sym, - stepWithinVec_sym, - /* cohort iterators */ - i_sym, - iTime_sym, - iAge_sym, - iTriangle_sym, - finished_sym, - iVec_sym, - lengthVec_sym, - increment_sym, - lastAgeGroupOpen_sym, - /* mappings */ - hasParCh_sym, - isOneToOne_sym, - nSharedVec_sym, - stepSharedCurrentVec_sym, - stepSharedCurrentExposureVec_sym, - stepSharedTargetVec_sym, - nTimeCurrent_sym, - stepTimeCurrent_sym, - stepTimeTarget_sym, - nAgeCurrent_sym, - nAgeTarget_sym, - stepAgeCurrent_sym, - stepAgeTarget_sym, - stepTriangleCurrent_sym, - stepTriangleTarget_sym, - nOrigDestVec_sym, - stepOrigCurrentVec_sym, - stepDestCurrentVec_sym, - stepOrigDestTargetVec_sym, - iMinAge_sym, - - /*new priors*/ - ATau_sym, - nuTau_sym, - hasAlphaDLM_sym, - hasAlphaICAR_sym, - hasAlphaMix_sym, - hasCovariates_sym, - hasAlphaKnown_sym, - hasMean_sym, - hasSeason_sym, - isKnownUncertain_sym, - isNorm_sym, - isRobust_sym, - isZeroVar_sym, - alphaDLM_sym, - alphaICAR_sym, - alphaMix_sym, - iteratorState_sym, - iteratorStateOld_sym, - K_sym, - L_sym, - s_sym, - UBeta_sym, - nuBeta_sym, - isSaturated_sym, - allStrucZero_sym, - alongAllStrucZero_sym, - strucZeroArray_sym, - mNoTrend_sym, - m0NoTrend_sym, - CNoTrend_sym, - aNoTrend_sym, - RNoTrend_sym, - GWithTrend_sym, - mWithTrend_sym, - m0WithTrend_sym, - CWithTrend_sym, - aWithTrend_sym, - hasLevel_sym, - omegaAlpha_sym, - omegaAlphaMax_sym, - AAlpha_sym, - nuAlpha_sym, - deltaDLM_sym, - omegaDelta_sym, - omegaDeltaMax_sym, - nuDelta_sym, - ADelta_sym, - minPhi_sym, - maxPhi_sym, - shape1Phi_sym, - shape2Phi_sym, - WSqrt_sym, - WSqrtInvG_sym, - exposureAg_sym, - P_sym, - AEtaIntercept_sym, - AEtaCoef_sym, - nuEtaCoef_sym, - meanEtaCoef_sym, - UEtaCoef_sym, - nSeason_sym, - ASeason_sym, - omegaSeason_sym, - omegaSeasonMax_sym, - nuSeason_sym, - mSeason_sym, - m0Season_sym, - CSeason_sym, - aSeason_sym, - RSeason_sym, - JOld_sym, - /* new priors Jan 2017 */ - sumsWeightsMix_sym, - weightMix_sym, - latentWeightMix_sym, - foundIndexClassMaxPossibleMix_sym, - indexClassMaxPossibleMix_sym, - indexClassProbMix_sym, - componentWeightMix_sym, - latentComponentWeightMix_sym, - levelComponentWeightMix_sym, - levelComponentWeightOldMix_sym, - meanLevelComponentWeightMix_sym, - indexClassMix_sym, - indexClassMaxMix_sym, - indexClassMaxUsedMix_sym, - omegaComponentWeightMix_sym, - omegaComponentWeightMaxMix_sym, - omegaLevelComponentWeightMix_sym, - omegaLevelComponentWeightMaxMix_sym, - iteratorsDimsMix_sym, - iAlong_sym, - dimBeta_sym, - dimBetaOld_sym, - phiMix_sym, - mMix_sym, - CMix_sym, - aMix_sym, - RMix_sym, - prodVectorsMix_sym, - posProdVectors1Mix_sym, - posProdVectors2Mix_sym, - nBetaNoAlongMix_sym, - vectorsMix_sym, - omegaVectorsMix_sym, - iteratorProdVectorMix_sym, - yXMix_sym, - XXMix_sym, - priorMeanLevelComponentWeightMix_sym, - priorSDLevelComponentWeightMix_sym, - AComponentWeightMix_sym, - nuComponentWeightMix_sym, - omegaVectorsMix_sym, - omegaVectorsMaxMix_sym, - AVectorsMix_sym, - nuVectorsMix_sym, - minLevelComponentWeight_sym, - maxLevelComponentWeight_sym, - updateSeriesDLM_sym, - ALevelComponentWeightMix_sym, - nuLevelComponentWeightMix_sym, - - nuCMP_sym, - sdLogNuCMP_sym, - sdLogNuMaxCMP_sym, - meanMeanLogNuCMP_sym, - sdMeanLogNuCMP_sym, - meanLogNuCMP_sym, - ASDLogNuCMP_sym, - nuSDLogNuCMP_sym, - nu_sym, - - alphaKnown_sym, - AKnownVec_sym, - - /* skeleton */ - first_sym, - last_sym, - - /* Box-Cox */ - boxCoxParam_sym, - - /* accounts and combined accounts*/ - account_sym, - population_sym, - accession_sym, - components_sym, - descriptions_sym, - iteratorPopn_sym, - iteratorAcc_sym, - iteratorExposure_sym, - transformsExpToComp_sym, - transformExpToBirths_sym, - iCell_sym, - iCellOther_sym, - iComp_sym, - iPopnNext_sym, - iPopnNextOther_sym, - iAccNext_sym, - iAccNextOther_sym, - iOrigDest_sym, - iPool_sym, - iIntNet_sym, - iBirths_sym, - iParCh_sym, - diffProp_sym, - isIncrement_sym, - isNet_sym, - scaleNoise_sym, - usePriorPopn_sym, - systemModels_sym, - modelUsesExposure_sym, - mappingsFromExp_sym, - mappingsToExp_sym, - mappingsToPopn_sym, - mappingsToAcc_sym, - iExpFirst_sym, - iExpFirstOther_sym, - ageTimeStep_sym, - iteratorsComp_sym, - expectedExposure_sym, - iExposure_sym, - iExposureOther_sym, - isLowerTriangle_sym, - isOldestAgeGroup_sym, - generatedNewProposal_sym, - probSmallUpdate_sym, - isSmallUpdate_sym, - isSmallUpdateFinal_sym, - probPopn_sym, - cumProbComp_sym, - nCellAccount_sym, - /* LN@ */ - alphaLN2_sym, - transformLN2_sym, - constraintLN2_sym, - nCellBeforeLN2_sym; + /* Priors-methods */ @@ -1163,10 +789,5 @@ void updateSubsequentExpMoveOneCohortNoAge(SEXP combined_R); /* pointers for routines from dembase package * * these have to be populated with R_GetCCallable in the initialisation function */ -SEXP (*dembase_Collapse_R)(SEXP ,SEXP); -SEXP (*dembase_Extend_R)(SEXP ,SEXP); -int (*dembase_getIAfter)(int, SEXP); -SEXP (*dembase_getIBefore)(int, SEXP); -SEXP (*dembase_getIShared)(int, SEXP); #endif diff --git a/src/helper-functions.c b/src/helper-functions.c index 759eb64..0298b57 100644 --- a/src/helper-functions.c +++ b/src/helper-functions.c @@ -9,6 +9,389 @@ #include "R_ext/Lapack.h" +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + + /* File "helper-functions.c" contains C versions of * functions from "helper-functions.R". */ diff --git a/src/helper-simulate.c b/src/helper-simulate.c index 1f65837..05cacd9 100644 --- a/src/helper-simulate.c +++ b/src/helper-simulate.c @@ -9,6 +9,389 @@ //#include "R_ext/Lapack.h" +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + + /* File "helper-simulate.c" contains C versions of * functions from "helper-simulate.R". */ diff --git a/src/init.c b/src/init.c index fd5df79..ae0bbf8 100644 --- a/src/init.c +++ b/src/init.c @@ -5,6 +5,388 @@ /* File "init.c" consists of routines that are run when package "demest" is loaded in R */ +SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + + +SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +SEXP (*dembase_Extend_R)(SEXP ,SEXP); +int (*dembase_getIAfter)(int, SEXP); +SEXP (*dembase_getIBefore)(int, SEXP); +SEXP (*dembase_getIShared)(int, SEXP); /* ******************************************************************************* */ diff --git a/src/iterators-methods.c b/src/iterators-methods.c index 66c1b33..fa57d75 100644 --- a/src/iterators-methods.c +++ b/src/iterators-methods.c @@ -4,6 +4,388 @@ /* File "iterators-methods.c" contains C versions of functions * from "iterators-methods.R". */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + /* *************************************************************************** */ /*** Along iterators ********************************************************* */ diff --git a/src/mapping-functions.c b/src/mapping-functions.c index 65137fb..f19f536 100644 --- a/src/mapping-functions.c +++ b/src/mapping-functions.c @@ -5,6 +5,389 @@ /* File "mapping-function.c" contains C versions of functions * from "mapping-functions.R". */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + + /* mappings to population */ int diff --git a/src/update-account.c b/src/update-account.c index aa3d41e..ced164a 100644 --- a/src/update-account.c +++ b/src/update-account.c @@ -5,6 +5,388 @@ /* File "update-accounts.c" contains C versions of functions * from "update-accounts.R". */ +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + void updateAccount(SEXP object_R) diff --git a/src/update-nongeneric.c b/src/update-nongeneric.c index b284e68..6306821 100644 --- a/src/update-nongeneric.c +++ b/src/update-nongeneric.c @@ -10,6 +10,388 @@ #include "R_ext/Linpack.h" /* dqrdc dqrsl dtrsl */ #include "R_ext/Lapack.h" +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + /* File "update-nongeneric.c" contains C versions of functions * from "update-nongeneric.R". */ diff --git a/src/updatePriorBeta.c b/src/updatePriorBeta.c index a38fc32..85ce2cb 100644 --- a/src/updatePriorBeta.c +++ b/src/updatePriorBeta.c @@ -2,6 +2,389 @@ #include "update-nongeneric.h" #include "demest.h" +extern SEXP + Data_sym, /* used for .Data slot */ + iMethodPrior_sym, + Z_sym, + beta_sym, + eta_sym, + gamma_sym, + lower_sym, + tau_sym, + tauMax_sym, + upper_sym, + order_sym, + iteratorBeta_sym, + iWithin_sym, + nWithin_sym, + iBetween_sym, + nBetween_sym, + incrementBetween_sym, + indices_sym, + initial_sym, + dimIterators_sym, + strideLengths_sym, + nStrides_sym, + dimBefore_sym, + dimAfter_sym, + posDim_sym, + lengthDim_sym, + iMethodModel_sym, + meansBetas_sym, + variancesBetas_sym, + betaEqualsMean_sym, + acceptBeta_sym, + priorsBetas_sym, + logPostPriorsBetas_sym, + logPostBetas_sym, + logPostSigma_sym, + logPostTheta_sym, + logPostVarsigma_sym, + theta_sym, + thetaTransformed_sym, + cellInLik_sym, + mu_sym, + sigma_sym, + sigmaMax_sym, + ASigma_sym, + nuSigma_sym, + varsigma_sym, + varsigmaMax_sym, + varsigmaSetToZero_sym, + AVarsigma_sym, + nuVarsigma_sym, + w_sym, + scaleTheta_sym, + scaleThetaMultiplier_sym, + nAcceptTheta_sym, + betas_sym, + priors_sym, + iteratorBetas_sym, + dims_sym, + prob_sym, + ADelta0_sym, + meanDelta0_sym, + + mean_sym, + sd_sym, + + tolerance_sym, + betaIsPredicted_sym, + nFailedPropTheta_sym, + nFailedPropYStar_sym, + maxAttempt_sym, + valueAg_sym, + weightAg_sym, + transformAg_sym, + meanAg_sym, + sdAg_sym, + scaleAg_sym, + nAcceptAg_sym, + nFailedPropValueAg_sym, + funAg_sym, + xArgsAg_sym, + weightsArgsAg_sym, + mxAg_sym, + axAg_sym, + nxAg_sym, + nAgeAg_sym, + transformThetaToMxAg_sym, + subtotals_sym, + transformSubtotals_sym, + subtotalsNet_sym, + slotsToExtract_sym, + iMethodCombined_sym, + model_sym, + exposure_sym, + y_sym, + dataModels_sym, + datasets_sym, + transforms_sym, + seriesIndices_sym, + updateComponent_sym, + updateDataModel_sym, + updateSystemModel_sym, + + J_sym, + + UC_sym, + DC_sym, + UR_sym, + DCInv_sym, + DRInv_sym, + CC_sym, + a_sym, + R_sym, + priorsW_sym, + v_sym, + forward_sym, + offsetsBetas_sym, + offsetsPriorsBetas_sym, + offsetsSigma_sym, + offsetsVarsigma_sym, + m0_sym, + C0_sym, + phi_sym, + w_sym, + iteratorGamma_sym, + iteratorV_sym, + delta_sym, + phiKnown_sym, + /* description */ + nTime_sym, + stepTime_sym, + hasAge_sym, + hasSex_sym, + iSexDominant_sym, + stepSexCurrent_sym, + stepSexTarget_sym, + nAge_sym, + stepAge_sym, + length_sym, + stepTriangle_sym, + stepDirection_sym, + nBetweenVec_sym, + stepBetweenVec_sym, + nWithinVec_sym, + stepWithinVec_sym, + /* cohort iterators */ + i_sym, + iTime_sym, + iAge_sym, + iTriangle_sym, + finished_sym, + iVec_sym, + lengthVec_sym, + increment_sym, + lastAgeGroupOpen_sym, + /* mappings */ + hasParCh_sym, + isOneToOne_sym, + nSharedVec_sym, + stepSharedCurrentVec_sym, + stepSharedCurrentExposureVec_sym, + stepSharedTargetVec_sym, + nTimeCurrent_sym, + stepTimeCurrent_sym, + stepTimeTarget_sym, + nAgeCurrent_sym, + nAgeTarget_sym, + stepAgeCurrent_sym, + stepAgeTarget_sym, + stepTriangleCurrent_sym, + stepTriangleTarget_sym, + nOrigDestVec_sym, + stepOrigCurrentVec_sym, + stepDestCurrentVec_sym, + stepOrigDestTargetVec_sym, + iMinAge_sym, + + /*new priors*/ + ATau_sym, + nuTau_sym, + hasAlphaDLM_sym, + hasAlphaICAR_sym, + hasAlphaMix_sym, + hasCovariates_sym, + hasAlphaKnown_sym, + hasMean_sym, + hasSeason_sym, + isKnownUncertain_sym, + isNorm_sym, + isRobust_sym, + isZeroVar_sym, + alphaDLM_sym, + alphaICAR_sym, + alphaMix_sym, + iteratorState_sym, + iteratorStateOld_sym, + K_sym, + L_sym, + s_sym, + UBeta_sym, + nuBeta_sym, + isSaturated_sym, + allStrucZero_sym, + alongAllStrucZero_sym, + strucZeroArray_sym, + mNoTrend_sym, + m0NoTrend_sym, + CNoTrend_sym, + aNoTrend_sym, + RNoTrend_sym, + GWithTrend_sym, + mWithTrend_sym, + m0WithTrend_sym, + CWithTrend_sym, + aWithTrend_sym, + hasLevel_sym, + omegaAlpha_sym, + omegaAlphaMax_sym, + AAlpha_sym, + nuAlpha_sym, + deltaDLM_sym, + omegaDelta_sym, + omegaDeltaMax_sym, + nuDelta_sym, + ADelta_sym, + minPhi_sym, + maxPhi_sym, + shape1Phi_sym, + shape2Phi_sym, + WSqrt_sym, + WSqrtInvG_sym, + exposureAg_sym, + P_sym, + AEtaIntercept_sym, + AEtaCoef_sym, + nuEtaCoef_sym, + meanEtaCoef_sym, + UEtaCoef_sym, + nSeason_sym, + ASeason_sym, + omegaSeason_sym, + omegaSeasonMax_sym, + nuSeason_sym, + mSeason_sym, + m0Season_sym, + CSeason_sym, + aSeason_sym, + RSeason_sym, + JOld_sym, + /* new priors Jan 2017 */ + sumsWeightsMix_sym, + weightMix_sym, + latentWeightMix_sym, + foundIndexClassMaxPossibleMix_sym, + indexClassMaxPossibleMix_sym, + indexClassProbMix_sym, + componentWeightMix_sym, + latentComponentWeightMix_sym, + levelComponentWeightMix_sym, + levelComponentWeightOldMix_sym, + meanLevelComponentWeightMix_sym, + indexClassMix_sym, + indexClassMaxMix_sym, + indexClassMaxUsedMix_sym, + omegaComponentWeightMix_sym, + omegaComponentWeightMaxMix_sym, + omegaLevelComponentWeightMix_sym, + omegaLevelComponentWeightMaxMix_sym, + iteratorsDimsMix_sym, + iAlong_sym, + dimBeta_sym, + dimBetaOld_sym, + phiMix_sym, + mMix_sym, + CMix_sym, + aMix_sym, + RMix_sym, + prodVectorsMix_sym, + posProdVectors1Mix_sym, + posProdVectors2Mix_sym, + nBetaNoAlongMix_sym, + vectorsMix_sym, + omegaVectorsMix_sym, + iteratorProdVectorMix_sym, + yXMix_sym, + XXMix_sym, + priorMeanLevelComponentWeightMix_sym, + priorSDLevelComponentWeightMix_sym, + AComponentWeightMix_sym, + nuComponentWeightMix_sym, + omegaVectorsMix_sym, + omegaVectorsMaxMix_sym, + AVectorsMix_sym, + nuVectorsMix_sym, + minLevelComponentWeight_sym, + maxLevelComponentWeight_sym, + updateSeriesDLM_sym, + ALevelComponentWeightMix_sym, + nuLevelComponentWeightMix_sym, + + nuCMP_sym, + sdLogNuCMP_sym, + sdLogNuMaxCMP_sym, + meanMeanLogNuCMP_sym, + sdMeanLogNuCMP_sym, + meanLogNuCMP_sym, + ASDLogNuCMP_sym, + nuSDLogNuCMP_sym, + nu_sym, + + alphaKnown_sym, + AKnownVec_sym, + + /* skeleton */ + first_sym, + last_sym, + + /* Box-Cox */ + boxCoxParam_sym, + + /* accounts and combined accounts*/ + account_sym, + population_sym, + accession_sym, + components_sym, + descriptions_sym, + iteratorPopn_sym, + iteratorAcc_sym, + iteratorExposure_sym, + transformsExpToComp_sym, + transformExpToBirths_sym, + iCell_sym, + iCellOther_sym, + iComp_sym, + iPopnNext_sym, + iPopnNextOther_sym, + iAccNext_sym, + iAccNextOther_sym, + iOrigDest_sym, + iPool_sym, + iIntNet_sym, + iBirths_sym, + iParCh_sym, + diffProp_sym, + isIncrement_sym, + isNet_sym, + scaleNoise_sym, + usePriorPopn_sym, + systemModels_sym, + modelUsesExposure_sym, + mappingsFromExp_sym, + mappingsToExp_sym, + mappingsToPopn_sym, + mappingsToAcc_sym, + iExpFirst_sym, + iExpFirstOther_sym, + ageTimeStep_sym, + iteratorsComp_sym, + expectedExposure_sym, + iExposure_sym, + iExposureOther_sym, + isLowerTriangle_sym, + isOldestAgeGroup_sym, + generatedNewProposal_sym, + probSmallUpdate_sym, + isSmallUpdate_sym, + isSmallUpdateFinal_sym, + probPopn_sym, + cumProbComp_sym, + nCellAccount_sym, + /* LN@ */ + alphaLN2_sym, + transformLN2_sym, + constraintLN2_sym, + nCellBeforeLN2_sym; + +extern SEXP (*dembase_Collapse_R)(SEXP ,SEXP); +extern SEXP (*dembase_Extend_R)(SEXP ,SEXP); +extern int (*dembase_getIAfter)(int, SEXP); +extern SEXP (*dembase_getIBefore)(int, SEXP); +extern SEXP (*dembase_getIShared)(int, SEXP); + + /* warning - these functions all have different parameters, in a different order, from the R equivalents */ void