mirror of
https://github.com/circify/circ.git
synced 2026-04-21 03:00:54 -04:00
* Configuration system. Kill DFL_T
* add circ::cfg::CircCfg that holds cfg info
* it's constructible from circ_opt::CircOpt
* implements clap::Args, so you can set it from your compiler's
CLI/envvars
* defined in external crate to keep clap out of our main build
* organized by circ module, but not feature gated
* no point: the build wouldn't meaningfully change
* includes a way to set the default field
* added circ::cfg::set and circ::cfg::cfg
* also circ::cfg::set_default and circ::cfg::set_cfg
* access a sync::once_cell, static configuration
* killed DFL_T
* workflows
* unit-tested component probably need to not read circ::cfg::cfg.
* compilers need to call circ::cfg::set or circ::cfg::set_default.
* rm dead features
29 lines
1.4 KiB
Bash
Executable File
29 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
|
|
set -ex
|
|
|
|
disable -r time
|
|
|
|
BIN=./target/debug/examples/circ
|
|
|
|
$BIN --language datalog ./examples/datalog/parse_test/one_rule.pl r1cs --action count || true
|
|
$BIN --language datalog ./examples/datalog/inv.pl r1cs --action count || true
|
|
$BIN --language datalog ./examples/datalog/call.pl r1cs --action count || true
|
|
$BIN --language datalog ./examples/datalog/arr.pl r1cs --action count || true
|
|
# Small R1cs b/c too little recursion.
|
|
size=$(($BIN --language datalog ./examples/datalog/dumb_hash.pl --datalog-rec-limit 4 r1cs --action count || true) | egrep "Final R1cs size:" | egrep -o "\\b[0-9]+")
|
|
[ "$size" -lt 10 ]
|
|
|
|
# Big R1cs b/c enough recursion
|
|
size=$(($BIN --language datalog ./examples/datalog/dumb_hash.pl --datalog-rec-limit 5 r1cs --action count || true) | egrep "Final R1cs size:" | egrep -o "\\b[0-9]+")
|
|
[ "$size" -gt 250 ]
|
|
size=$(($BIN --language datalog ./examples/datalog/dumb_hash.pl --datalog-rec-limit 10 r1cs --action count || true) | egrep "Final R1cs size:" | egrep -o "\\b[0-9]+")
|
|
[ "$size" -gt 250 ]
|
|
size=$(($BIN --language datalog ./examples/datalog/dec.pl --datalog-rec-limit 2 r1cs --action count || true) | egrep "Final R1cs size:" | egrep -o "\\b[0-9]+")
|
|
[ "$size" -gt 250 ]
|
|
|
|
# Test prim-rec test
|
|
$BIN --language datalog ./examples/datalog/dec.pl --datalog-lint-prim-rec true smt
|
|
|
|
($BIN --language datalog ./examples/datalog/not_dec.pl --datalog-lint-prim-rec true smt || true) | egrep 'Not prim'
|