mirror of
https://github.com/Z3Prover/z3
synced 2025-08-09 12:50:32 +00:00
include paths, separate test for mod_interval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
7b31a4e6d1
commit
674e030456
9 changed files with 34 additions and 31 deletions
|
@ -8,9 +8,9 @@
|
||||||
#define __FStar_UInt128_H
|
#define __FStar_UInt128_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "kremlin/lowstar_endianness.h"
|
#include "math/bigfix/kremlin/lowstar_endianness.h"
|
||||||
#include "kremlin/internal/types.h"
|
#include "math/bigfix/kremlin/internal/types.h"
|
||||||
#include "kremlin/internal/target.h"
|
#include "math/bigfix/kremlin/internal/target.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
#define __FStar_UInt_8_16_32_64_H
|
#define __FStar_UInt_8_16_32_64_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "kremlin/lowstar_endianness.h"
|
#include "math/bigfix/kremlin/lowstar_endianness.h"
|
||||||
#include "kremlin/internal/types.h"
|
#include "math/bigfix/kremlin/internal/types.h"
|
||||||
#include "kremlin/internal/target.h"
|
#include "math/bigfix/kremlin/internal/target.h"
|
||||||
|
|
||||||
static inline uint64_t FStar_UInt64_eq_mask(uint64_t a, uint64_t b)
|
static inline uint64_t FStar_UInt64_eq_mask(uint64_t a, uint64_t b)
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,12 +8,10 @@
|
||||||
#define __LowStar_Endianness_H
|
#define __LowStar_Endianness_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "kremlin/lowstar_endianness.h"
|
#include "math/bigfix/kremlin/lowstar_endianness.h"
|
||||||
#include "kremlin/internal/types.h"
|
#include "math/bigfix/kremlin/internal/types.h"
|
||||||
#include "kremlin/internal/target.h"
|
#include "math/bigfix/kremlin/internal/target.h"
|
||||||
|
#include "math/bigfix/FStar_UInt128.h"
|
||||||
|
|
||||||
#include "FStar_UInt128.h"
|
|
||||||
|
|
||||||
static inline void store128_le(uint8_t *x0, FStar_UInt128_uint128 x1);
|
static inline void store128_le(uint8_t *x0, FStar_UInt128_uint128 x1);
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,9 @@
|
||||||
#ifndef FSTAR_UINT128_GCC64
|
#ifndef FSTAR_UINT128_GCC64
|
||||||
#define FSTAR_UINT128_GCC64
|
#define FSTAR_UINT128_GCC64
|
||||||
|
|
||||||
#include "FStar_UInt128.h"
|
#include "math/bigfix/kremlib/FStar_UInt128.h"
|
||||||
#include "FStar_UInt_8_16_32_64.h"
|
#include "math/bigfix/kremlib/FStar_UInt_8_16_32_64.h"
|
||||||
#include "LowStar_Endianness.h"
|
#include "math/bigfix/kremlib/LowStar_Endianness.h"
|
||||||
|
|
||||||
/* GCC + using native unsigned __int128 support */
|
/* GCC + using native unsigned __int128 support */
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
#ifndef FSTAR_UINT128_MSVC
|
#ifndef FSTAR_UINT128_MSVC
|
||||||
#define FSTAR_UINT128_MSVC
|
#define FSTAR_UINT128_MSVC
|
||||||
|
|
||||||
#include "kremlin/internal/types.h"
|
#include "math/bigfix/kremlin/internal/types.h"
|
||||||
#include "FStar_UInt128.h"
|
#include "math/bigfix/kremlib/FStar_UInt128.h"
|
||||||
#include "FStar_UInt_8_16_32_64.h"
|
#include "math/bigfix/kremlib/FStar_UInt_8_16_32_64.h"
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
# error This file only works with the MSVC compiler
|
# error This file only works with the MSVC compiler
|
||||||
|
|
|
@ -67,6 +67,7 @@ add_executable(test-z3
|
||||||
matcher.cpp
|
matcher.cpp
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/mem_initializer.cpp"
|
"${CMAKE_CURRENT_BINARY_DIR}/mem_initializer.cpp"
|
||||||
memory.cpp
|
memory.cpp
|
||||||
|
mod_interval.cpp
|
||||||
model2expr.cpp
|
model2expr.cpp
|
||||||
model_based_opt.cpp
|
model_based_opt.cpp
|
||||||
model_evaluator.cpp
|
model_evaluator.cpp
|
||||||
|
|
|
@ -115,18 +115,6 @@ namespace polysat {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void test_interval() {
|
|
||||||
mod_interval<uint64_t> i1(1, 2);
|
|
||||||
mod_interval<uint64_t> i2(3, 6);
|
|
||||||
std::cout << i1 << " " << i2 << "\n";
|
|
||||||
std::cout << i1 << " * 4 := " << (i1 * 4) << "\n";
|
|
||||||
std::cout << i2 << " * 3 := " << (i2 * 3) << "\n";
|
|
||||||
std::cout << i1 << " * -4 := " << (i1 * (0 - 4)) << "\n";
|
|
||||||
std::cout << i2 << " * -3 := " << (i2 * (0 - 3)) << "\n";
|
|
||||||
std::cout << "-" << i2 << " := " << (-i2) << "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
static void test_gcd() {
|
static void test_gcd() {
|
||||||
std::cout << "gcd\n";
|
std::cout << "gcd\n";
|
||||||
uint64_ext::manager e;
|
uint64_ext::manager e;
|
||||||
|
@ -147,7 +135,6 @@ void tst_fixplex() {
|
||||||
polysat::test4();
|
polysat::test4();
|
||||||
polysat::test5();
|
polysat::test5();
|
||||||
|
|
||||||
polysat::test_interval();
|
|
||||||
polysat::test_gcd();
|
polysat::test_gcd();
|
||||||
polysat::test_eq();
|
polysat::test_eq();
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,4 +265,5 @@ int main(int argc, char ** argv) {
|
||||||
TST(polysat);
|
TST(polysat);
|
||||||
TST_ARGV(polysat_argv);
|
TST_ARGV(polysat_argv);
|
||||||
TST(fixplex);
|
TST(fixplex);
|
||||||
|
TST(mod_interval);
|
||||||
}
|
}
|
||||||
|
|
16
src/test/mod_interval.cpp
Normal file
16
src/test/mod_interval.cpp
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#include "math/interval/mod_interval_def.h"
|
||||||
|
|
||||||
|
static void test_interval1() {
|
||||||
|
mod_interval<uint64_t> i1(1, 2);
|
||||||
|
mod_interval<uint64_t> i2(3, 6);
|
||||||
|
std::cout << i1 << " " << i2 << "\n";
|
||||||
|
std::cout << i1 << " * 4 := " << (i1 * 4) << "\n";
|
||||||
|
std::cout << i2 << " * 3 := " << (i2 * 3) << "\n";
|
||||||
|
std::cout << i1 << " * -4 := " << (i1 * (0 - 4)) << "\n";
|
||||||
|
std::cout << i2 << " * -3 := " << (i2 * (0 - 3)) << "\n";
|
||||||
|
std::cout << "-" << i2 << " := " << (-i2) << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_mod_interval() {
|
||||||
|
test_interval1();
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue