Change mjtSize from uint64_t to int64_t.

This change makes `mjtSize` a signed, rather than unsigned 64-bit integer. While sizes are non-negative, the type promotion rules for unsigned integers can lead to unituitive downstream bugs, and 8 billion terabytes are enough bytes.

PiperOrigin-RevId: 834292964
Change-Id: Iea9c47c2a5d80fde63851a543d59ed0549db0f01
This commit is contained in:
Yuval Tassa
2025-11-19 07:55:00 -08:00
committed by Copybara-Service
parent 49394d57d9
commit 86a77ff8eb
5 changed files with 149 additions and 143 deletions
+135 -135
View File
@@ -740,142 +740,142 @@ public unsafe struct mjSolverStat_ {
[StructLayout(LayoutKind.Sequential)]
public unsafe struct mjData_ {
public UInt64 narena;
public UInt64 nbuffer;
public Int64 narena;
public Int64 nbuffer;
public int nplugin;
public UIntPtr pstack;
public UIntPtr pbase;
public UIntPtr parena;
public UInt64 maxuse_stack;
public UInt64 maxuse_threadstack0;
public UInt64 maxuse_threadstack1;
public UInt64 maxuse_threadstack2;
public UInt64 maxuse_threadstack3;
public UInt64 maxuse_threadstack4;
public UInt64 maxuse_threadstack5;
public UInt64 maxuse_threadstack6;
public UInt64 maxuse_threadstack7;
public UInt64 maxuse_threadstack8;
public UInt64 maxuse_threadstack9;
public UInt64 maxuse_threadstack10;
public UInt64 maxuse_threadstack11;
public UInt64 maxuse_threadstack12;
public UInt64 maxuse_threadstack13;
public UInt64 maxuse_threadstack14;
public UInt64 maxuse_threadstack15;
public UInt64 maxuse_threadstack16;
public UInt64 maxuse_threadstack17;
public UInt64 maxuse_threadstack18;
public UInt64 maxuse_threadstack19;
public UInt64 maxuse_threadstack20;
public UInt64 maxuse_threadstack21;
public UInt64 maxuse_threadstack22;
public UInt64 maxuse_threadstack23;
public UInt64 maxuse_threadstack24;
public UInt64 maxuse_threadstack25;
public UInt64 maxuse_threadstack26;
public UInt64 maxuse_threadstack27;
public UInt64 maxuse_threadstack28;
public UInt64 maxuse_threadstack29;
public UInt64 maxuse_threadstack30;
public UInt64 maxuse_threadstack31;
public UInt64 maxuse_threadstack32;
public UInt64 maxuse_threadstack33;
public UInt64 maxuse_threadstack34;
public UInt64 maxuse_threadstack35;
public UInt64 maxuse_threadstack36;
public UInt64 maxuse_threadstack37;
public UInt64 maxuse_threadstack38;
public UInt64 maxuse_threadstack39;
public UInt64 maxuse_threadstack40;
public UInt64 maxuse_threadstack41;
public UInt64 maxuse_threadstack42;
public UInt64 maxuse_threadstack43;
public UInt64 maxuse_threadstack44;
public UInt64 maxuse_threadstack45;
public UInt64 maxuse_threadstack46;
public UInt64 maxuse_threadstack47;
public UInt64 maxuse_threadstack48;
public UInt64 maxuse_threadstack49;
public UInt64 maxuse_threadstack50;
public UInt64 maxuse_threadstack51;
public UInt64 maxuse_threadstack52;
public UInt64 maxuse_threadstack53;
public UInt64 maxuse_threadstack54;
public UInt64 maxuse_threadstack55;
public UInt64 maxuse_threadstack56;
public UInt64 maxuse_threadstack57;
public UInt64 maxuse_threadstack58;
public UInt64 maxuse_threadstack59;
public UInt64 maxuse_threadstack60;
public UInt64 maxuse_threadstack61;
public UInt64 maxuse_threadstack62;
public UInt64 maxuse_threadstack63;
public UInt64 maxuse_threadstack64;
public UInt64 maxuse_threadstack65;
public UInt64 maxuse_threadstack66;
public UInt64 maxuse_threadstack67;
public UInt64 maxuse_threadstack68;
public UInt64 maxuse_threadstack69;
public UInt64 maxuse_threadstack70;
public UInt64 maxuse_threadstack71;
public UInt64 maxuse_threadstack72;
public UInt64 maxuse_threadstack73;
public UInt64 maxuse_threadstack74;
public UInt64 maxuse_threadstack75;
public UInt64 maxuse_threadstack76;
public UInt64 maxuse_threadstack77;
public UInt64 maxuse_threadstack78;
public UInt64 maxuse_threadstack79;
public UInt64 maxuse_threadstack80;
public UInt64 maxuse_threadstack81;
public UInt64 maxuse_threadstack82;
public UInt64 maxuse_threadstack83;
public UInt64 maxuse_threadstack84;
public UInt64 maxuse_threadstack85;
public UInt64 maxuse_threadstack86;
public UInt64 maxuse_threadstack87;
public UInt64 maxuse_threadstack88;
public UInt64 maxuse_threadstack89;
public UInt64 maxuse_threadstack90;
public UInt64 maxuse_threadstack91;
public UInt64 maxuse_threadstack92;
public UInt64 maxuse_threadstack93;
public UInt64 maxuse_threadstack94;
public UInt64 maxuse_threadstack95;
public UInt64 maxuse_threadstack96;
public UInt64 maxuse_threadstack97;
public UInt64 maxuse_threadstack98;
public UInt64 maxuse_threadstack99;
public UInt64 maxuse_threadstack100;
public UInt64 maxuse_threadstack101;
public UInt64 maxuse_threadstack102;
public UInt64 maxuse_threadstack103;
public UInt64 maxuse_threadstack104;
public UInt64 maxuse_threadstack105;
public UInt64 maxuse_threadstack106;
public UInt64 maxuse_threadstack107;
public UInt64 maxuse_threadstack108;
public UInt64 maxuse_threadstack109;
public UInt64 maxuse_threadstack110;
public UInt64 maxuse_threadstack111;
public UInt64 maxuse_threadstack112;
public UInt64 maxuse_threadstack113;
public UInt64 maxuse_threadstack114;
public UInt64 maxuse_threadstack115;
public UInt64 maxuse_threadstack116;
public UInt64 maxuse_threadstack117;
public UInt64 maxuse_threadstack118;
public UInt64 maxuse_threadstack119;
public UInt64 maxuse_threadstack120;
public UInt64 maxuse_threadstack121;
public UInt64 maxuse_threadstack122;
public UInt64 maxuse_threadstack123;
public UInt64 maxuse_threadstack124;
public UInt64 maxuse_threadstack125;
public UInt64 maxuse_threadstack126;
public UInt64 maxuse_threadstack127;
public UInt64 maxuse_arena;
public Int64 maxuse_stack;
public Int64 maxuse_threadstack0;
public Int64 maxuse_threadstack1;
public Int64 maxuse_threadstack2;
public Int64 maxuse_threadstack3;
public Int64 maxuse_threadstack4;
public Int64 maxuse_threadstack5;
public Int64 maxuse_threadstack6;
public Int64 maxuse_threadstack7;
public Int64 maxuse_threadstack8;
public Int64 maxuse_threadstack9;
public Int64 maxuse_threadstack10;
public Int64 maxuse_threadstack11;
public Int64 maxuse_threadstack12;
public Int64 maxuse_threadstack13;
public Int64 maxuse_threadstack14;
public Int64 maxuse_threadstack15;
public Int64 maxuse_threadstack16;
public Int64 maxuse_threadstack17;
public Int64 maxuse_threadstack18;
public Int64 maxuse_threadstack19;
public Int64 maxuse_threadstack20;
public Int64 maxuse_threadstack21;
public Int64 maxuse_threadstack22;
public Int64 maxuse_threadstack23;
public Int64 maxuse_threadstack24;
public Int64 maxuse_threadstack25;
public Int64 maxuse_threadstack26;
public Int64 maxuse_threadstack27;
public Int64 maxuse_threadstack28;
public Int64 maxuse_threadstack29;
public Int64 maxuse_threadstack30;
public Int64 maxuse_threadstack31;
public Int64 maxuse_threadstack32;
public Int64 maxuse_threadstack33;
public Int64 maxuse_threadstack34;
public Int64 maxuse_threadstack35;
public Int64 maxuse_threadstack36;
public Int64 maxuse_threadstack37;
public Int64 maxuse_threadstack38;
public Int64 maxuse_threadstack39;
public Int64 maxuse_threadstack40;
public Int64 maxuse_threadstack41;
public Int64 maxuse_threadstack42;
public Int64 maxuse_threadstack43;
public Int64 maxuse_threadstack44;
public Int64 maxuse_threadstack45;
public Int64 maxuse_threadstack46;
public Int64 maxuse_threadstack47;
public Int64 maxuse_threadstack48;
public Int64 maxuse_threadstack49;
public Int64 maxuse_threadstack50;
public Int64 maxuse_threadstack51;
public Int64 maxuse_threadstack52;
public Int64 maxuse_threadstack53;
public Int64 maxuse_threadstack54;
public Int64 maxuse_threadstack55;
public Int64 maxuse_threadstack56;
public Int64 maxuse_threadstack57;
public Int64 maxuse_threadstack58;
public Int64 maxuse_threadstack59;
public Int64 maxuse_threadstack60;
public Int64 maxuse_threadstack61;
public Int64 maxuse_threadstack62;
public Int64 maxuse_threadstack63;
public Int64 maxuse_threadstack64;
public Int64 maxuse_threadstack65;
public Int64 maxuse_threadstack66;
public Int64 maxuse_threadstack67;
public Int64 maxuse_threadstack68;
public Int64 maxuse_threadstack69;
public Int64 maxuse_threadstack70;
public Int64 maxuse_threadstack71;
public Int64 maxuse_threadstack72;
public Int64 maxuse_threadstack73;
public Int64 maxuse_threadstack74;
public Int64 maxuse_threadstack75;
public Int64 maxuse_threadstack76;
public Int64 maxuse_threadstack77;
public Int64 maxuse_threadstack78;
public Int64 maxuse_threadstack79;
public Int64 maxuse_threadstack80;
public Int64 maxuse_threadstack81;
public Int64 maxuse_threadstack82;
public Int64 maxuse_threadstack83;
public Int64 maxuse_threadstack84;
public Int64 maxuse_threadstack85;
public Int64 maxuse_threadstack86;
public Int64 maxuse_threadstack87;
public Int64 maxuse_threadstack88;
public Int64 maxuse_threadstack89;
public Int64 maxuse_threadstack90;
public Int64 maxuse_threadstack91;
public Int64 maxuse_threadstack92;
public Int64 maxuse_threadstack93;
public Int64 maxuse_threadstack94;
public Int64 maxuse_threadstack95;
public Int64 maxuse_threadstack96;
public Int64 maxuse_threadstack97;
public Int64 maxuse_threadstack98;
public Int64 maxuse_threadstack99;
public Int64 maxuse_threadstack100;
public Int64 maxuse_threadstack101;
public Int64 maxuse_threadstack102;
public Int64 maxuse_threadstack103;
public Int64 maxuse_threadstack104;
public Int64 maxuse_threadstack105;
public Int64 maxuse_threadstack106;
public Int64 maxuse_threadstack107;
public Int64 maxuse_threadstack108;
public Int64 maxuse_threadstack109;
public Int64 maxuse_threadstack110;
public Int64 maxuse_threadstack111;
public Int64 maxuse_threadstack112;
public Int64 maxuse_threadstack113;
public Int64 maxuse_threadstack114;
public Int64 maxuse_threadstack115;
public Int64 maxuse_threadstack116;
public Int64 maxuse_threadstack117;
public Int64 maxuse_threadstack118;
public Int64 maxuse_threadstack119;
public Int64 maxuse_threadstack120;
public Int64 maxuse_threadstack121;
public Int64 maxuse_threadstack122;
public Int64 maxuse_threadstack123;
public Int64 maxuse_threadstack124;
public Int64 maxuse_threadstack125;
public Int64 maxuse_threadstack126;
public Int64 maxuse_threadstack127;
public Int64 maxuse_arena;
public int maxuse_con;
public int maxuse_efc;
public mjSolverStat_ solver0;
@@ -5349,8 +5349,8 @@ public unsafe struct mjModel_ {
public int nuserdata;
public int nsensordata;
public int npluginstate;
public UInt64 narena;
public UInt64 nbuffer;
public Int64 narena;
public Int64 nbuffer;
public mjOption_ opt;
public mjVisual_ vis;
public mjStatistic_ stat;
@@ -6448,7 +6448,7 @@ public static unsafe extern mjModel_* mj_loadModel([MarshalAs(UnmanagedType.LPSt
public static unsafe extern void mj_deleteModel(mjModel_* m);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern UInt64 mj_sizeModel(mjModel_* m);
public static unsafe extern Int64 mj_sizeModel(mjModel_* m);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern mjData_* mj_makeData(mjModel_* m);