NEURON
matrix.cpp File Reference
#include <../../nrnconf.h>
#include "classreg.h"
#include <stdio.h>
#include <math.h>
#include "code.h"
#include "ocmatrix.h"
#include "oc2iv.h"
#include "parse.hpp"
#include "ivocvect.h"
#include "utils/logger.hpp"

Go to the source code of this file.

Macros

#define EPS   hoc_epsilon
 

Functions

double hoc_scan (FILE *)
 
Object ** hoc_temp_objptr (Object *)
 
static void check_domain (int i, int j)
 
static void check_capac (int i, int j)
 
Matrixmatrix_arg (int i)
 
static Object ** temp_objvar (Matrix *m)
 
static double m_nrow (void *v)
 
static double m_ncol (void *v)
 
static double m_setval (void *v)
 
static double m_getval (void *v)
 
static double m_sprowlen (void *v)
 
static double m_spgetrowval (void *v)
 
static double m_printf (void *v)
 
static double m_fprint (void *v)
 
static double m_scanf (void *v)
 
static Object ** m_resize (void *v)
 
static Object ** m_mulv (void *v)
 
static Matrixget_out_mat (Matrix *mat, int n, int m, int i, const char *mes=NULL)
 
static Matrixget_out_mat (Matrix *m, int i, const char *mes=NULL)
 
static Object ** m_add (void *v)
 
static Object ** m_bcopy (void *v)
 
static Object ** m_mulm (void *v)
 
static Object ** m_c (void *v)
 
static Object ** m_transpose (void *v)
 
static Object ** m_symmeig (void *v)
 
static Object ** m_svd (void *vv)
 
static Object ** m_muls (void *v)
 
static Object ** m_getrow (void *v)
 
static Object ** m_getcol (void *v)
 
static Object ** m_setrow (void *v)
 
static Object ** m_setcol (void *v)
 
static Object ** m_setdiag (void *v)
 
static Object ** m_getdiag (void *v)
 
static Object ** m_zero (void *v)
 
static Object ** m_ident (void *v)
 
static Object ** m_exp (void *v)
 
static Object ** m_pow (void *v)
 
static Object ** m_inverse (void *v)
 
static double m_det (void *v)
 
static Object ** m_solv (void *v)
 
static Object ** m_set (void *v)
 
static Object ** m_to_vector (void *v)
 
static Object ** m_from_vector (void *v)
 
static void * m_cons (Object *o)
 
static void m_destruct (void *v)
 
static void steer_x (void *v)
 
void Matrix_reg ()
 

Variables

Symbolnrn_matrix_sym
 
static Member_func m_members []
 
static Member_ret_obj_func m_retobj_members []
 

Macro Definition Documentation

◆ EPS

#define EPS   hoc_epsilon

Definition at line 14 of file matrix.cpp.

Function Documentation

◆ check_capac()

static void check_capac ( int  i,
int  j 
)
static

Definition at line 27 of file matrix.cpp.

◆ check_domain()

static void check_domain ( int  i,
int  j 
)
static

Definition at line 20 of file matrix.cpp.

◆ get_out_mat() [1/2]

static Matrix* get_out_mat ( Matrix m,
int  i,
const char *  mes = NULL 
)
static

Definition at line 242 of file matrix.cpp.

◆ get_out_mat() [2/2]

static Matrix * get_out_mat ( Matrix mat,
int  n,
int  m,
int  i,
const char *  mes = NULL 
)
static

Definition at line 228 of file matrix.cpp.

◆ hoc_scan()

double hoc_scan ( FILE *  fi)

Definition at line 280 of file fileio.cpp.

◆ hoc_temp_objptr()

Object** hoc_temp_objptr ( Object obj)

Definition at line 151 of file code.cpp.

◆ m_add()

static Object** m_add ( void *  v)
static

Definition at line 246 of file matrix.cpp.

◆ m_bcopy()

static Object** m_bcopy ( void *  v)
static

Definition at line 257 of file matrix.cpp.

◆ m_c()

static Object** m_c ( void *  v)
static

Definition at line 297 of file matrix.cpp.

◆ m_cons()

static void* m_cons ( Object o)
static

Definition at line 691 of file matrix.cpp.

◆ m_destruct()

static void m_destruct ( void *  v)
static

Definition at line 704 of file matrix.cpp.

◆ m_det()

static double m_det ( void *  v)
static

Definition at line 526 of file matrix.cpp.

◆ m_exp()

static Object** m_exp ( void *  v)
static

Definition at line 504 of file matrix.cpp.

◆ m_fprint()

static double m_fprint ( void *  v)
static

Definition at line 122 of file matrix.cpp.

◆ m_from_vector()

static Object** m_from_vector ( void *  v)
static

Definition at line 628 of file matrix.cpp.

◆ m_getcol()

static Object** m_getcol ( void *  v)
static

Definition at line 389 of file matrix.cpp.

◆ m_getdiag()

static Object** m_getdiag ( void *  v)
static

Definition at line 466 of file matrix.cpp.

◆ m_getrow()

static Object** m_getrow ( void *  v)
static

Definition at line 363 of file matrix.cpp.

◆ m_getval()

static double m_getval ( void *  v)
static

Definition at line 73 of file matrix.cpp.

◆ m_ident()

static Object** m_ident ( void *  v)
static

Definition at line 498 of file matrix.cpp.

◆ m_inverse()

static Object** m_inverse ( void *  v)
static

Definition at line 519 of file matrix.cpp.

◆ m_mulm()

static Object** m_mulm ( void *  v)
static

Definition at line 279 of file matrix.cpp.

◆ m_muls()

static Object** m_muls ( void *  v)
static

Definition at line 352 of file matrix.cpp.

◆ m_mulv()

static Object** m_mulv ( void *  v)
static

Definition at line 181 of file matrix.cpp.

◆ m_ncol()

static double m_ncol ( void *  v)
static

Definition at line 58 of file matrix.cpp.

◆ m_nrow()

static double m_nrow ( void *  v)
static

Definition at line 52 of file matrix.cpp.

◆ m_pow()

static Object** m_pow ( void *  v)
static

Definition at line 511 of file matrix.cpp.

◆ m_printf()

static double m_printf ( void *  v)
static

Definition at line 102 of file matrix.cpp.

◆ m_resize()

static Object** m_resize ( void *  v)
static

Definition at line 175 of file matrix.cpp.

◆ m_scanf()

static double m_scanf ( void *  v)
static

Definition at line 152 of file matrix.cpp.

◆ m_set()

static Object** m_set ( void *  v)
static

Definition at line 595 of file matrix.cpp.

◆ m_setcol()

static Object** m_setcol ( void *  v)
static

Definition at line 432 of file matrix.cpp.

◆ m_setdiag()

static Object** m_setdiag ( void *  v)
static

Definition at line 449 of file matrix.cpp.

◆ m_setrow()

static Object** m_setrow ( void *  v)
static

Definition at line 415 of file matrix.cpp.

◆ m_setval()

static double m_setval ( void *  v)
static

Definition at line 64 of file matrix.cpp.

◆ m_solv()

static Object** m_solv ( void *  v)
static

Definition at line 535 of file matrix.cpp.

◆ m_spgetrowval()

static double m_spgetrowval ( void *  v)
static

Definition at line 89 of file matrix.cpp.

◆ m_sprowlen()

static double m_sprowlen ( void *  v)
static

Definition at line 81 of file matrix.cpp.

◆ m_svd()

static Object** m_svd ( void *  vv)
static

Definition at line 329 of file matrix.cpp.

◆ m_symmeig()

static Object** m_symmeig ( void *  v)
static

Definition at line 312 of file matrix.cpp.

◆ m_to_vector()

static Object** m_to_vector ( void *  v)
static

Definition at line 607 of file matrix.cpp.

◆ m_transpose()

static Object** m_transpose ( void *  v)
static

Definition at line 304 of file matrix.cpp.

◆ m_zero()

static Object** m_zero ( void *  v)
static

Definition at line 492 of file matrix.cpp.

◆ matrix_arg()

Matrix* matrix_arg ( int  i)

Definition at line 33 of file matrix.cpp.

◆ Matrix_reg()

void Matrix_reg ( )

Definition at line 730 of file matrix.cpp.

◆ steer_x()

static void steer_x ( void *  v)
static

Definition at line 710 of file matrix.cpp.

◆ temp_objvar()

static Object** temp_objvar ( Matrix m)
static

Definition at line 41 of file matrix.cpp.

Variable Documentation

◆ m_members

Member_func m_members[]
static
Initial value:
= {
{"x", m_nrow},
{"nrow", m_nrow},
{"ncol", m_ncol},
{"getval", m_getval},
{"setval", m_setval},
{"sprowlen", m_sprowlen},
{"spgetrowval", m_spgetrowval},
{"det", m_det},
{"printf", m_printf},
{"fprint", m_fprint},
{"scanf", m_scanf},
{nullptr, nullptr}}
static double m_fprint(void *v)
Definition: matrix.cpp:122
static double m_printf(void *v)
Definition: matrix.cpp:102
static double m_scanf(void *v)
Definition: matrix.cpp:152
static double m_det(void *v)
Definition: matrix.cpp:526
static double m_spgetrowval(void *v)
Definition: matrix.cpp:89
static double m_ncol(void *v)
Definition: matrix.cpp:58
static double m_nrow(void *v)
Definition: matrix.cpp:52
static double m_setval(void *v)
Definition: matrix.cpp:64
static double m_sprowlen(void *v)
Definition: matrix.cpp:81
static double m_getval(void *v)
Definition: matrix.cpp:73

Definition at line 645 of file matrix.cpp.

◆ m_retobj_members

Member_ret_obj_func m_retobj_members[]
static
Initial value:
= {
{"mulv", m_mulv},
{"getrow", m_getrow},
{"getcol", m_getcol},
{"getdiag", m_getdiag},
{"solv", m_solv},
{"symmeig", m_symmeig},
{"svd", m_svd},
{"c", m_c},
{"add", m_add},
{"bcopy", m_bcopy},
{"resize", m_resize},
{"mulm", m_mulm},
{"muls", m_muls},
{"setrow", m_setrow},
{"setcol", m_setcol},
{"setdiag", m_setdiag},
{"zero", m_zero},
{"ident", m_ident},
{"exp", m_exp},
{"pow", m_pow},
{"inverse", m_inverse},
{"transpose", m_transpose},
{"set", m_set},
{"to_vector", m_to_vector},
{"from_vector", m_from_vector},
{nullptr, nullptr}}
static Object ** m_pow(void *v)
Definition: matrix.cpp:511
static Object ** m_symmeig(void *v)
Definition: matrix.cpp:312
static Object ** m_getcol(void *v)
Definition: matrix.cpp:389
static Object ** m_setcol(void *v)
Definition: matrix.cpp:432
static Object ** m_mulm(void *v)
Definition: matrix.cpp:279
static Object ** m_from_vector(void *v)
Definition: matrix.cpp:628
static Object ** m_zero(void *v)
Definition: matrix.cpp:492
static Object ** m_setrow(void *v)
Definition: matrix.cpp:415
static Object ** m_exp(void *v)
Definition: matrix.cpp:504
static Object ** m_getdiag(void *v)
Definition: matrix.cpp:466
static Object ** m_getrow(void *v)
Definition: matrix.cpp:363
static Object ** m_bcopy(void *v)
Definition: matrix.cpp:257
static Object ** m_setdiag(void *v)
Definition: matrix.cpp:449
static Object ** m_set(void *v)
Definition: matrix.cpp:595
static Object ** m_solv(void *v)
Definition: matrix.cpp:535
static Object ** m_to_vector(void *v)
Definition: matrix.cpp:607
static Object ** m_c(void *v)
Definition: matrix.cpp:297
static Object ** m_ident(void *v)
Definition: matrix.cpp:498
static Object ** m_mulv(void *v)
Definition: matrix.cpp:181
static Object ** m_svd(void *vv)
Definition: matrix.cpp:329
static Object ** m_transpose(void *v)
Definition: matrix.cpp:304
static Object ** m_resize(void *v)
Definition: matrix.cpp:175
static Object ** m_muls(void *v)
Definition: matrix.cpp:352
static Object ** m_add(void *v)
Definition: matrix.cpp:246
static Object ** m_inverse(void *v)
Definition: matrix.cpp:519

Definition at line 661 of file matrix.cpp.

◆ nrn_matrix_sym

Symbol* nrn_matrix_sym

Definition at line 15 of file matrix.cpp.