aboutsummaryrefslogtreecommitdiff
path: root/include/cnf.h
diff options
context:
space:
mode:
authory-jan137 <yousefjan24000@gmail.com>2026-03-18 14:04:47 +0300
committery-jan137 <yousefjan24000@gmail.com>2026-03-18 14:04:47 +0300
commit063b20be98747ba0b288545e653ef9489bf14a54 (patch)
treeb655758d2361dda0c6ffd35d6add6c5ea0f5aba4 /include/cnf.h
parentc9583c9897120cea7357ebc78b621aac0440da2c (diff)
Replace DynMLP with DynNet
Diffstat (limited to 'include/cnf.h')
-rw-r--r--include/cnf.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/include/cnf.h b/include/cnf.h
index 5dc5688..a9ab5bd 100644
--- a/include/cnf.h
+++ b/include/cnf.h
@@ -1,44 +1,44 @@
#pragma once
-#include "dynmlp.h"
+#include "dynnet.h"
#include "ode_solver.h"
-#include "utils.h"
typedef struct {
- DynMLP net;
+ DynNet *net;
int nparams;
- double trace_eps; /* finite-difference epsilon for trace computation */
+ double trace_eps;
} CNF;
typedef struct {
- double *z1;
+ double *z1;
double delta_logp;
int nfe;
} CNFSampleResult;
typedef struct {
- double *z0;
- double delta_logp;
+ double *z0;
+ double delta_logp;
int nfe;
} CNFLogProbResult;
typedef struct {
- double *dL_dz0;
- double *dL_dtheta;
+ double *dL_dz0;
+ double *dL_dtheta;
int nfe;
} CNFBackwardResult;
void cnf_init(CNF *cnf, int D, int H, double *theta, RNG *r);
+void cnf_free(CNF *cnf);
-CNFSampleResult cnf_sample(const CNF *cnf, const double *theta,
+CNFSampleResult cnf_sample(CNF *cnf, const double *theta,
const double *z0, double t0, double t1,
double atol, double rtol);
-CNFLogProbResult cnf_log_prob(const CNF *cnf, const double *theta,
+CNFLogProbResult cnf_log_prob(CNF *cnf, const double *theta,
const double *z1, double t0, double t1,
double atol, double rtol);
-CNFBackwardResult cnf_backward(const CNF *cnf, const double *theta,
+CNFBackwardResult cnf_backward(CNF *cnf, const double *theta,
const double *z1,
double dL_dlogp, const double *dL_dz1_in,
double t0, double t1,