view examples/code/mycell.c @ 20603:f61c67865d9f

Don't return A for inv (A) when A is a singular Diagonal matrix (bug #46103). * dDiagMatrix.cc (inverse), fDiagMatrix.cc (inverse): return octave_Inf for the inverse of a diagonal element whose value is 0. * test/diag-perm.tst: Add tests for new behavior.
author Rik <rik@octave.org>
date Wed, 07 Oct 2015 07:41:44 -0700
parents c8240a60dd01
children
line wrap: on
line source

#include "mex.h"

void
mexFunction (int nlhs, mxArray* plhs[],
             int nrhs, const mxArray* prhs[])
{
  mwSize n;
  mwIndex i;

  if (nrhs != 1 || ! mxIsCell (prhs[0]))
    mexErrMsgTxt ("ARG1 must be a cell");

  n = mxGetNumberOfElements (prhs[0]);
  n = (n > nlhs ? nlhs : n);

  for (i = 0; i < n; i++)
    plhs[i] = mxDuplicateArray (mxGetCell (prhs[0], i));
}