Commit 92756e49 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Define tgba_product_init, a new kind of product with different

initial states.

* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
(tgba_product_init): New class.
parent f4e583d0
2011-01-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Define tgba_product_init, a new kind of product with different
initial states.
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
(tgba_product_init): New class.
2011-01-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* src/tgbatest/spotlbtt.test: Add test for -l -R3b, showing many
......
// Copyright (C) 2009 Laboratoire de Recherche et Développement
// Copyright (C) 2009, 2011 Laboratoire de Recherche et Dveloppement
// de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de
// Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
......@@ -333,4 +333,21 @@ namespace spot
return "<" + left + ", " + right + ">";
}
//////////////////////////////////////////////////////////////////////
// tgba_product_init
tgba_product_init::tgba_product_init(const tgba* left, const tgba* right,
const state* left_init,
const state* right_init)
: tgba_product(left, right),
left_init_(left_init), right_init_(right_init)
{
}
state*
tgba_product_init::get_init_state() const
{
return new state_product(left_init_->clone(), right_init_->clone());
}
}
// Copyright (C) 2011 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
......@@ -161,6 +163,18 @@ namespace spot
tgba_product& operator=(const tgba_product&);
};
/// \brief A lazy product with different initial states.
class tgba_product_init: public tgba_product
{
public:
tgba_product_init(const tgba* left, const tgba* right,
const state* left_init, const state* right_init);
virtual state* get_init_state() const;
private:
const state* left_init_;
const state* right_init_;
};
}
#endif // SPOT_TGBA_TGBAPRODUCT_HH
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment