Opened 9 years ago
Closed 9 years ago
#1876 closed defect (fixed)
DifEq no funciona igual en 64 que en 32 bits
Reported by: | Jorge | Owned by: | Jorge |
---|---|---|---|
Priority: | highest | Milestone: | Mantainance |
Component: | Math | Version: | head |
Severity: | critical | Keywords: | |
Cc: |
Description
Cuando ejecutamos el código test.tol (adjunto) en 32 bits obtenemos la siguiente salida:
check = 7.247535904753022e-13 OK
En cambio cuando lo ejecutamos en 64 bits obtenemos la salida:
<E> ERROR: [1] No es posible aplicar DifEq a una matriz virtual (Numerator degree p=1686110208 and X0 have not enouth rows). Blas.R.Dense(2x1) </E> <W> Warning: [1] <W>Imposible restar dos matrices de dimensiones (2727,1) y (0,0).</W> </W> check = ? <W> Warning: [2] [If] la función de condición no puede devolver valores desconocidos.</W>
Attachments (2)
Change History (3)
Changed 9 years ago by
Changed 9 years ago by
comment:1 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
(In [6872]) fixes #1876, refs #1866: la directiva #pragma pack se usa solo para MSVC, además se usa con push/pop para establecer correrctamente el valor previo de pack. El error se debía a que la clase template BPolyn se estaba instanciando algunas veces con tamaño 16 y otras con tamaño 12 provocando una aritmética de puntero ambigua para esa clase (y a saber cuál otra!)