ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
ddnnf_stats.cpp File Reference

SQL function provsql.ddnnf_stats() – structural statistics of the d-DNNF a given compiler produces for a provenance circuit. More...

#include "postgres.h"
#include "fmgr.h"
#include "catalog/pg_type.h"
#include "utils/jsonb.h"
#include "utils/fmgrprotos.h"
#include "utils/uuid.h"
#include "provsql_shmem.h"
#include "provsql_utils.h"
#include "c_cpp_compatibility.h"
#include "BooleanCircuit.h"
#include "CircuitFromMMap.h"
#include "dDNNF.h"
#include "TreeDecomposition.h"
#include "provsql_utils_cpp.h"
#include "tool_registry_sync.h"
#include <chrono>
#include <sstream>
#include <string>
Include dependency graph for ddnnf_stats.cpp:

Go to the source code of this file.

Functions

Datum ddnnf_stats (PG_FUNCTION_ARGS)
 PostgreSQL-callable entry point.

Detailed Description

SQL function provsql.ddnnf_stats() – structural statistics of the d-DNNF a given compiler produces for a provenance circuit.

Compiles the Boolean circuit with the requested compiler / meta-route (the same makeDDByName dispatch used by compile_to_ddnnf_dot), then reports node / edge / gate-type counts, smoothness, longest-path depth, the wall-clock compile time, and the circuit's treewidth (when computable). This makes "compare what each compiler produces on the same circuit" a measurable operation rather than an eyeball of DOT.

Definition in file ddnnf_stats.cpp.

Function Documentation

◆ ddnnf_stats()

Datum ddnnf_stats ( PG_FUNCTION_ARGS )

PostgreSQL-callable entry point.

Arguments: token (uuid), compiler (text, default "d4"). Returns: jsonb object with the d-DNNF statistics.

Definition at line 50 of file ddnnf_stats.cpp.

Here is the call graph for this function: