summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_config.h')
-rw-r--r--src/lib/netlist/nl_config.h46
1 files changed, 21 insertions, 25 deletions
diff --git a/src/lib/netlist/nl_config.h b/src/lib/netlist/nl_config.h
index 6a65abac40a..faa5008ff56 100644
--- a/src/lib/netlist/nl_config.h
+++ b/src/lib/netlist/nl_config.h
@@ -26,10 +26,21 @@
* linear memory pool. This is based of the assumption that
* due to enhanced locality there will be less cache misses.
* Your mileage may vary.
- * This will cause crashes on OSX and thus is ignored on OSX.
*
*/
-#define USE_MEMPOOL (0)
+#define USE_MEMPOOL (1)
+
+/*! Store input values in logic_terminal_t.
+ *
+ * Set to 1 to store values in logic_terminal_t instead of
+ * accessing them indirectly by pointer from logic_net_t.
+ * This approach is stricter and should identify bugs in
+ * the netlist core faster.
+ * By default it is disabled since it is not as fast as
+ * the default approach. It is up to 5% slower.
+ *
+ */
+#define USE_COPY_INSTEAD_OF_REFERENCE (0)
/*
* FIXME: Using truthtable is a lot slower than the explicit device
@@ -43,23 +54,13 @@
#define NL_MAX_LINK_RESOLVE_LOOPS (100)
//============================================================
-// Solver defines
-//============================================================
-
-#define USE_GABS (1)
-// savings are eaten up by effort
-// FIXME: Convert into solver parameter
-#define USE_LINEAR_PREDICTION (0)
-#define NETLIST_GMIN_DEFAULT (1e-9)
-
-
-
-//============================================================
// DEBUGGING
//============================================================
#define NL_DEBUG (false)
#define NL_KEEP_STATISTICS (0)
+//#define NL_DEBUG (true)
+//#define NL_KEEP_STATISTICS (1)
//============================================================
// General Macros
@@ -86,24 +87,19 @@
#endif // !defined(USE_OPENMP)
// Use nano-second resolution - Sufficient for now
-#define NETLIST_INTERNAL_RES (UINT64_C(1000000000))
-#define NETLIST_CLOCK (NETLIST_INTERNAL_RES)
+
+static constexpr const auto NETLIST_INTERNAL_RES = 1000000000;
+static constexpr const auto NETLIST_CLOCK = NETLIST_INTERNAL_RES;
+
+//#define NETLIST_INTERNAL_RES (UINT64_C(1000000000))
+//#define NETLIST_CLOCK (NETLIST_INTERNAL_RES)
//#define NETLIST_INTERNAL_RES (UINT64_C(1000000000000))
//#define NETLIST_CLOCK (UINT64_C(1000000000))
//#define nl_double float
-//#define NL_FCONST(x) (x ## f)
-
-//#define nl_double double
-#define NL_FCONST(x) x
using nl_double = double;
-/* The following option determines how object::update is called.
- * If set to 1, a virtual call is used. If it is left undefined, the best
- * approach will be automatically selected.
- */
-
//============================================================
// WARNINGS
//============================================================