edit
This commit is contained in:
parent
18f25a56ee
commit
0875cf160a
3 changed files with 20 additions and 24 deletions
21
det.cpp
21
det.cpp
|
@ -1,5 +1,3 @@
|
|||
#include "stdafx.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Input: Matrix on stack
|
||||
|
@ -17,10 +15,9 @@
|
|||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "defs.h"
|
||||
|
||||
static void __detg(void);
|
||||
|
||||
static int
|
||||
check_arg(void)
|
||||
{
|
||||
|
@ -61,7 +58,7 @@ det(void)
|
|||
break;
|
||||
|
||||
if (i == n)
|
||||
__detg();
|
||||
yydetg();
|
||||
else {
|
||||
for (i = 0; i < p1->u.tensor->nelem; i++)
|
||||
push(p1->u.tensor->elem[i]);
|
||||
|
@ -164,8 +161,6 @@ determinant(int n)
|
|||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static void decomp(int);
|
||||
|
||||
void
|
||||
detg(void)
|
||||
{
|
||||
|
@ -181,13 +176,13 @@ detg(void)
|
|||
return;
|
||||
}
|
||||
|
||||
__detg();
|
||||
yydetg();
|
||||
|
||||
restore();
|
||||
}
|
||||
|
||||
static void
|
||||
__detg(void)
|
||||
void
|
||||
yydetg(void)
|
||||
{
|
||||
int i, n;
|
||||
|
||||
|
@ -196,7 +191,7 @@ __detg(void)
|
|||
for (i = 0; i < n * n; i++)
|
||||
push(p1->u.tensor->elem[i]);
|
||||
|
||||
decomp(n);
|
||||
lu_decomp(n);
|
||||
|
||||
tos -= n * n;
|
||||
|
||||
|
@ -217,8 +212,8 @@ __detg(void)
|
|||
|
||||
#define M(i, j) stack[h + n * (i) + (j)]
|
||||
|
||||
static void
|
||||
decomp(int n)
|
||||
void
|
||||
lu_decomp(int n)
|
||||
{
|
||||
int d, h, i, j;
|
||||
|
||||
|
|
19
inv.cpp
19
inv.cpp
|
@ -1,5 +1,3 @@
|
|||
#include "stdafx.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Input: Matrix on stack
|
||||
|
@ -17,10 +15,9 @@
|
|||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "defs.h"
|
||||
|
||||
static void __invg(void);
|
||||
|
||||
static int
|
||||
check_arg(void)
|
||||
{
|
||||
|
@ -61,7 +58,7 @@ inv(void)
|
|||
break;
|
||||
|
||||
if (i == n)
|
||||
__invg();
|
||||
yyinvg();
|
||||
else {
|
||||
push(p1);
|
||||
adj();
|
||||
|
@ -77,8 +74,6 @@ inv(void)
|
|||
restore();
|
||||
}
|
||||
|
||||
static void decomp(int);
|
||||
|
||||
void
|
||||
invg(void)
|
||||
{
|
||||
|
@ -94,13 +89,15 @@ invg(void)
|
|||
return;
|
||||
}
|
||||
|
||||
__invg();
|
||||
yyinvg();
|
||||
|
||||
restore();
|
||||
}
|
||||
|
||||
static void
|
||||
__invg(void)
|
||||
// inverse using gaussian elimination
|
||||
|
||||
void
|
||||
yyinvg(void)
|
||||
{
|
||||
int h, i, j, n;
|
||||
|
||||
|
@ -151,7 +148,7 @@ __invg(void)
|
|||
#define A(i, j) stack[a + n * (i) + (j)]
|
||||
#define U(i, j) stack[u + n * (i) + (j)]
|
||||
|
||||
static void
|
||||
void
|
||||
decomp(int n)
|
||||
{
|
||||
int a, d, i, j, u;
|
||||
|
|
|
@ -210,6 +210,8 @@ void test_derivative(void);
|
|||
void det(void);
|
||||
void determinant(int n);
|
||||
void detg(void);
|
||||
void yydetg(void);
|
||||
void lu_decomp(int n);
|
||||
|
||||
// dirac.cpp
|
||||
void eval_dirac(void);
|
||||
|
@ -429,6 +431,8 @@ void make_integral_code(void);
|
|||
// inv.cpp
|
||||
void inv(void);
|
||||
void invg(void);
|
||||
void yyinvg(void);
|
||||
void decomp(int n);
|
||||
|
||||
// invfourier.cpp
|
||||
void eval_invfourier(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue