Refactor islands to be memory contiguous.

PiperOrigin-RevId: 755803476
Change-Id: I41972b07e0d5ef5d0117c94f565b93367b87458b
This commit is contained in:
Yuval Tassa
2025-05-07 05:05:34 -07:00
committed by Copybara-Service
parent 449de73430
commit ecb769fc3a
30 changed files with 1742 additions and 1116 deletions
+41 -8
View File
@@ -4860,6 +4860,7 @@ public unsafe struct mjData_ {
public int nJ;
public int nA;
public int nisland;
public int nidof;
public double time;
public fixed double energy[2];
public void* buffer;
@@ -4991,14 +4992,43 @@ public unsafe struct mjData_ {
public double* efc_R;
public int* tendon_efcadr;
public int* dof_island;
public int* island_dofnum;
public int* island_nv;
public int* island_idofadr;
public int* island_dofadr;
public int* island_dofind;
public int* dof_islandind;
public int* map_dof2idof;
public int* map_idof2dof;
public double* ifrc_smooth;
public double* iacc_smooth;
public int* iM_rownnz;
public int* iM_rowadr;
public int* iM_diagnum;
public int* iM_colind;
public double* iM;
public double* iLD;
public double* iLDiagInv;
public double* iacc;
public int* efc_island;
public int* island_efcnum;
public int* island_efcadr;
public int* island_efcind;
public int* island_ne;
public int* island_nf;
public int* island_nefc;
public int* island_iefcadr;
public int* map_efc2iefc;
public int* map_iefc2efc;
public int* iefc_type;
public int* iefc_id;
public int* iefc_J_rownnz;
public int* iefc_J_rowadr;
public int* iefc_J_rowsuper;
public int* iefc_J_colind;
public int* iefc_JT_rownnz;
public int* iefc_JT_rowadr;
public int* iefc_JT_rowsuper;
public int* iefc_JT_colind;
public double* iefc_J;
public double* iefc_JT;
public double* iefc_frictionloss;
public double* iefc_D;
public double* iefc_R;
public int* efc_AR_rownnz;
public int* efc_AR_rowadr;
public int* efc_AR_colind;
@@ -5006,8 +5036,12 @@ public unsafe struct mjData_ {
public double* efc_vel;
public double* efc_aref;
public double* efc_b;
public double* efc_force;
public double* iefc_aref;
public int* iefc_state;
public double* iefc_force;
public int* efc_state;
public double* efc_force;
public double* ifrc_constraint;
public UIntPtr threadpool;
public UInt64 signature;
}
@@ -6479,7 +6513,6 @@ public unsafe struct data {
public double* bvh_aabb_dyn;
public byte* bvh_active;
public int* island_dofadr;
public int* island_dofind;
public int* dof_island;
public int* efc_island;
public int* tendon_efcadr;