Skip to content
  • Liam Healy's avatar
    Native: set the 'data slot in GSL structs in the #'mpointer method · 40e1bfce
    Liam Healy authored
    For native implementations (i.e., SBCL), the 'data slot of gsl-block-c
    and gsl-vector-c or gsl-matrix-c is set when mpointer is called.
    Previously, as currently for non-native implementations, it is set
    only when the marray is made.  This can fail in native implementations
    because the garbage collection can move the array around.  Therefore,
    since mpointer is only called inside a native-pointer-protect, the
    GSL structure slot is set to the current value of #'c-pointer, which
    is computed on the fly.  
    
    The test case reported by Viktor Leis for a matrix 1000x1000 which was
    generating an memory fault error now gives no error and reasonable
    output.
    40e1bfce