Skip to content

Commit

Permalink
Merge pull request #682 from nlmixr2/681-gcc-usban-fixes
Browse files Browse the repository at this point in the history
681 gcc usban fixes
  • Loading branch information
mattfidler authored May 28, 2024
2 parents d0ec9ba + 64c4126 commit 659749f
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 3 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/rhub.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# R-hub's generic GitHub Actions workflow file. It's canonical location is at
# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml
# You can update this file to a newer version using the rhub2 package:
#
# rhub::rhub_setup()
#
# It is unlikely that you need to modify this file manually.

name: R-hub
run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}"

on:
workflow_dispatch:
inputs:
config:
description: 'A comma separated list of R-hub platforms to use.'
type: string
default: 'linux,windows,macos'
name:
description: 'Run name. You can leave this empty now.'
type: string
id:
description: 'Unique ID. You can leave this empty now.'
type: string

jobs:

setup:
runs-on: ubuntu-latest
outputs:
containers: ${{ steps.rhub-setup.outputs.containers }}
platforms: ${{ steps.rhub-setup.outputs.platforms }}

steps:
# NO NEED TO CHECKOUT HERE
- uses: r-hub/actions/setup@v1
with:
config: ${{ github.event.inputs.config }}
id: rhub-setup

linux-containers:
needs: setup
if: ${{ needs.setup.outputs.containers != '[]' }}
runs-on: ubuntu-latest
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.containers) }}
container:
image: ${{ matrix.config.container }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/run-check@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}

other-platforms:
needs: setup
if: ${{ needs.setup.outputs.platforms != '[]' }}
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.platforms) }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/setup-r@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/run-check@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
9 changes: 6 additions & 3 deletions src/rxData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1330,6 +1330,7 @@ struct rx_globals {
int *gsvar;
int *govar;
int *gsiV;
int *gsi;
//
int *slvr_counter;
int *dadt_counter;
Expand Down Expand Up @@ -3448,8 +3449,9 @@ static inline void rxSolve_datSetupHmax(const RObject &obj, const List &rxContro
CharacterVector dfNames = dataf.names();
int dfN = dfNames.size();
IntegerVector evid = as<IntegerVector>(dataf[rxcEvid]);
IntegerVector si = as<IntegerVector>(rxSolveDat->mv[RxMv_state_ignore]);
if (_globals.gevid != NULL) free(_globals.gevid);
_globals.gevid = (int*)calloc(3*evid.size()+dfN, sizeof(int));
_globals.gevid = (int*)calloc(3*evid.size()+dfN+si.size(), sizeof(int));
if (_globals.gevid == NULL){
rxSolveFree();
stop(_("can not allocate enough memory to load 'evid'"));
Expand All @@ -3458,6 +3460,8 @@ static inline void rxSolve_datSetupHmax(const RObject &obj, const List &rxContro
_globals.gidose = _globals.gevid + evid.size();
_globals.gcens = _globals.gidose + evid.size();
_globals.gpar_cov = _globals.gidose + evid.size();//[dfN];
_globals.gsi = _globals.gpar_cov + dfN;//[si.size()];
std::copy(si.begin(),si.end(), &_globals.gsi[0]);

int ntot = 1;

Expand Down Expand Up @@ -4106,8 +4110,7 @@ List rxSolve_df(const RObject &obj,
doDose = 0;
}
}
IntegerVector si = rxSolveDat->mv[RxMv_state_ignore];
rx->stateIgnore = &si[0];
rx->stateIgnore = _globals.gsi;
int doTBS = (rx->matrix == 3);
if (doTBS) rx->matrix=2;
if (rx->matrix == 4 || rx->matrix == 5) rx->matrix=2;
Expand Down

0 comments on commit 659749f

Please sign in to comment.