diff --git a/NOTICE b/NOTICE index 0abae78..43ed7c7 100644 --- a/NOTICE +++ b/NOTICE @@ -16,7 +16,7 @@ mccabe 0.7.0 : Expat License NumPy 1.24.4 : BSD 3-clause "New" or "Revised" License Packaging 24.1 : (Apache License 2.0 AND BSD 3-clause "New" or "Revised" License) pbr 6.1.0 : Apache License 2.0 -powertrain-build 0.1.0 : Apache License 2.0 +powertrain-build 1.0.0 : Apache License 2.0 psf-requests 2.32.3 : Apache License 2.0 pycodestyle 2.12.1 : MIT License Pyflakes 3.2.0 : MIT License @@ -29,7 +29,7 @@ ruamel-yaml 0.18.6 : MIT License ruamel.yaml.clib 0.2.8 : MIT License SciPy 1.9.1 : BSD 3-clause "New" or "Revised" License smmap 5.0.1 : BSD 3-clause "New" or "Revised" License -tomli 2.0.1 : MIT License +tomli 2.0.2 : MIT License urllib3 2.2.3 : MIT License voluptuous 0.15.2 : BSD 3-clause "New" or "Revised" License @@ -137,2550 +137,6 @@ pbr 6.1.0 pypi:pbr/6.1.0 Copyright (c) 2013 Testrepository Contributors Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP) Copyright (C) 2020 Red Hat, Inc. -powertrain-build 0.1.0 pypi:powertrain-build/0.1.0 - (C) 2003, C. Bond. All rights reserved - (C) 2015-2020 Niall Douglas (7 commits)File Created: August 2015 - (C) 2017-2020 Niall Douglas (10 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (10 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (11 commits)File Created: July 2017 - (C) 2017-2020 Niall Douglas (12 commits)File Created: Nov 2017 - (C) 2017-2020 Niall Douglas (12 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (13 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (14 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (1 commit)File Created: June 2017 - (C) 2017-2020 Niall Douglas (20 commits)File Created: July 2017 - (C) 2017-2020 Niall Douglas (20 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (21 commits)File Created: July 2017 - (C) 2017-2020 Niall Douglas (225 commits) - (C) 2017-2020 Niall Douglas (24 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (25 commits)File Created: July 2017 - (C) 2017-2020 Niall Douglas (2 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (2 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (3 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (4 commits) - (C) 2017-2020 Niall Douglas (5 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (6 commits) and Andrzej KrzemieFile Created: Oct 2017 - (C) 2017-2020 Niall Douglas (6 commits)File Created: Aug 2017 - (C) 2017-2020 Niall Douglas (6 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (6 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (7 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (7 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (8 commits)File Created: June 2017 - (C) 2017-2020 Niall Douglas (8 commits)File Created: Oct 2017 - (C) 2017-2020 Niall Douglas (9 commits)File Created: Oct 2017 - (C) 2018 - 2019 Niall Douglas (5 commits)File Created: Feb 2018 - (C) 2018-2020 Niall Douglas (11 commits)File Created: Apr 2018 - (C) 2018-2020 Niall Douglas (17 commits)File Created: Apr 2018 - (C) 2018-2020 Niall Douglas (3 commits)File Created: March 2018 - (C) 2018-2020 Niall Douglas (4 commits)File Created: Mar 2018 - (C) 2018-2020 Niall Douglas (4 commits)File Created: Sep 2018 - (C) 2018-2020 Niall Douglas (5 commits)File Created: Aug 2018 - (C) 2018 - 2020 Niall Douglas (5 commits)File Created: Feb 2018 - (C) 2018-2020 Niall Douglas (5 commits)File Created: Feb 2018 - (C) 2018-2020 Niall Douglas (5 commits)File Created: Jun 2018 - (C) 2018-2020 Niall Douglas (5 commits)File Created: June 2018 - (C) 2018 - 2020 Niall Douglas (5 commits)File Created: May 2020 - (C) 2018-2020 Niall Douglas (5 commits)File Created: Sep 2018 - (C) 2018-2020 Niall Douglas (6 commits)File Created: March 2018 - (C) 2018-2020 Niall Douglas (8 commits)File Created: March 2018 - (C) 2019-2020 Niall Douglas (12 commits)File Created: Oct 2019 - (C) 2020 Niall Douglas (11 commits)File Created: Jan 2020 - (C) 2020 Niall Douglas (5 commits)File Created: Jan 2020 - (C) A = A - (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469 - (C) and B by diag(R) - (C) as c: ... - (C) as c: del c - (C) as c: pass - (C) assert_array_equal(C - (C) assert_array_equal(C.A, D.A) - (C) assert_array_equal(C assert_array_equal(C - (C) assert_array_equal(row_ind, np.arange(n)) assert_array_equal(col_ind, np.arange(n)) - (C) assert_equal(type(c - (C) assert_equal(type(np.polyval( - (C) assert_equal(type(np.polyval( def test_polyvalfromroots(self): (C)np.asanyarray(A)np.asanyarray(B)np.asanyarray(B, dtype=int) (C)np.ascontiguousarray(A)np.ascontiguousarray(B) (C)np.a - (C) assert len(row_ind) == 0 assert len(col_ind) == 0 - (C)*B (if options->Trans - (C)*B (if trans = - (C)*B (if trans = - (C)* BOOST_CONTRACT_DETAIL_NAME1(obj) \ BOOST_CONTRACT_DETAIL_TVARIADIC_COMMA(arity) \ BOOST_CONTRACT_DETAIL_TVARIADIC_FPARAMS_Z(z, arity, \ BOOST_CONTRACT_DETA - (C) BOOST_MPL_AUX_VALUE_WKND(C) - (C) \ BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(wchar_t, C) \ / - (C) Copyright 2002, 2003 Beman Dawes Boost.Filesystem - (C) Copyright 2002-2008, Fernando Luis Cacciola Carballal. - (C) Copyright 2002-2008 Robert Ramey and Joaquin M Lopez Munoz - (C) Copyright 2002-2009 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2002-2014 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2002-2020 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2002-4 Pavel Vozenilek . - (C) Copyright 2002 Rani Sharoni (rani_sharoni@hotmail.com) and Robert Ramey - (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2003-2007 Jonathan Turkanis - (C) Copyright 2003-4 Pavel Vozenilek and Robert Ramey - http://www.rrsd.com. - (C) Copyright 2004-2007 Jonathan Turkanis - (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo - (C) Copyright 2004 Pavel Vozenilek. - (C) Copyright 2004 Robert Ramey and Martin Ecker - (C) Copyright 2004 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2005-2006 Matthias Troyer - (C) Copyright 2005-2007 Jonathan Turkanis - (C) Copyright 2005-2007 Matthias Troyer - (C) Copyright 2005-7 Anthony Williams - (C) Copyright 2005-8 Anthony Williams - (C) Copyright 2005 John Maddock - (C) Copyright 2005 Matthias Troyer - (C) Copyright 2005 Matthias Troyer . - (C) Copyright 2005 Matthias Troyer - (C) Copyright 2005 Matthias Troyer and Dave Abrahams - (C) Copyright 2005 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2005 Robert Ramey - http://www.rrsd.com - (C) Copyright 2006-7 Anthony Williams - (C) Copyright 2006-8 Anthony Williams - (C) Copyright 2006 David Abrahams - http://www.boost.org.// implementation of class export functionality. This is an alternative to// "forward declaration" method to provoke instantiation of derive - (C) Copyright 2006 Douglas Gregor - (C) Copyright 2006 Douglas Gregor - (C) Copyright 2007-10 Anthony Williams - (C) Copyright 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker - (C) Copyright 2007-2009 Andrew Sutton - (C) Copyright 2007-2010 Anthony Williams - (C) Copyright 2007-8 Anthony Williams - (C) Copyright 2007-9 Anthony Williams - (C) Copyright 2007 Andrew Sutton - (C) Copyright 2007 Anthony Williams - (C) Copyright 2007 David Deakins - (C) Copyright 2007 Matthias Troyer . - (C) Copyright 2007 Matthias Troyer - (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2008-10 Anthony Williams - (C) Copyright 2008-2009,2012 Vicente J. Botet Escriba - (C) Copyright 2008-9 Anthony Williams - (C) Copyright 2008 Anthony Williams - (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) - (C) Copyright 2008 Matthias Troyer - (C) Copyright 2008 Robert Ramey - (C) Copyright 2009-2011 Frederic Bron. - (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe - (C) Copyright 2009-2012 Anthony Williams - (C) Copyright 2009-2012 Vicente J. Botet Escriba - (C) Copyright 2009 Eric Bose-Wolf - (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2010-2011 Vicente J. Botet Escriba - (C) Copyright 2010 Daniel James - (C) Copyright 2010 Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk - (C) Copyright 2010 Robert Ramey - (C) Copyright 2010 Vicente J. Botet Escriba - (C) Copyright 2011-2012,2015 Vicente J. Botet Escriba - (C) Copyright 2011,2012,2015 Vicente J. Botet Escriba - (C) Copyright 2011-2012,2017-2018 Vicente J. Botet Escriba - (C) Copyright 2011-2012 Vicente J. Botet Escriba - (C) Copyright 2011-2013 Vicente J. Botet Escriba - (C) Copyright 2011-2015 Vicente J. Botet Escriba - (C) Copyright 2011 Vicente J. Botet Escriba - (C) Copyright 2011Vicente J. Botet Escriba - (C) Copyright 2012 Vicente Botet - (C) Copyright 2012 Vicente J. Botet Escriba - (C) Copyright 2013,2014 Vicente J. Botet Escriba - (C) Copyright 2013,2015 Vicente J. Botet Escriba - (C) Copyright 2013, 2020 Andrey Semashev - (C) Copyright 2013 Andrey Semashev - (C) Copyright 2013 Ruslan Baratov - (C) Copyright 2013 Tim Blechmann - (C) Copyright 2013 Vicente J. Botet Escriba - (C) Copyright 2014 Jim Bell - (C) Copyright 2014 Robert Ramey - http://www.rrsd.com . - (C) Copyright 2014 Vicente J. Botet Escriba - (C) Copyright 2016 Ashish Sadanandan - (C) Copyright 2016 Raffi Enficiaud. - (C) Copyright 2017 Andrey Semashev - (C) Copyright 2020 Robert Ramey - (C) Copyright Aleksey Gurtovoy 2002. - (C) Copyright Aleksey Gurtovoy 2002 - 2003. - (C) Copyright Aleksey Gurtovoy 2003. - (c) Copyright Andreas Huber Doenni 2002-2005, Eric Niebler 2006 - (C) Copyright Andrew Sutton 2007 - (C) Copyright Andrey Semashev 2017. - (C) Copyright Anton Bikineev 2014 - (C) Copyright Antony Polukhin 2013. - (C) Copyright Antony Polukhin 2014. - (C) Copyright Artyom Beilis 2010. - (C) Copyright Balint Cserni 2017 - (C) Copyright Beman Dawes 1999. - (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost - (C) Copyright Beman Dawes 2000. Distributed under the Boost - (C) Copyright Beman Dawes 2001. - (C) Copyright Beman Dawes 2001 - 2003. - (C) Copyright Beman Dawes 2002 - (C) Copyright Beman Dawes 2002 - 2003. - (C) Copyright Beman Dawes 2003. - (C) Copyright Beman Dawes 2006, 2009, 2014 - (C) Copyright Benedek Thaler 2015-2016 - (C) Copyright Bill Kempf 2001. - (C) Copyright Bill Kempf 2002. - (C) Copyright Boris Gubenko 2006 - 2007. - (C) Copyright Boris Gubenko 2007. - (C) Copyright Boris Rasin 2014. - (C) Copyright Boris Rasin and Antony Polukhin 2014-2019. - (C) Copyright Brian Kuhl 2016. - (C) Copyright Bruno Lalande 2008. - (C) Copyright Bryce Lelbach 2010 - (C) Copyright Bryce Lelbach 2011 - (C) Copyright Christopher Jefferson 2011. - (C) Copyright Craig Henderson 2002. - (C) Copyright Daniel Frey 2002-2017. - (C) Copyright Daniel Frey and Robert Ramey 2009. - (C) Copyright Daniel K. O. 2005. - (C) Copyright Daniel Wallin 2004. - (C) Copyright Darin Adler 2000 - (C) Copyright Darin Adler 2001. - (C) Copyright Darin Adler 2001 - (C) Copyright Darin Adler 2001 - 2002. - (C) Copyright Daryle Walker 2000-2001. - (C) Copyright Daryle Walker 2001. - (C) Copyright Daryle Walker 2001-2002. - (C) Copyright Daryle Walker 2001, 2006. - (C) Copyright Daryle Walker and Stephen Cleary 2001-2002. - (C) Copyright Dave Abrahams and Daniel Walker 1999-2003. - (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost - (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, - (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard - (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,// Howard Hinnant and John Maddock 2000. - (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,// Howard Hinnant and John Maddock 2000, 2010. - (C) Copyright David Abrahams 2000. - (C) Copyright David Abrahams 2001. - (C) Copyright David Abrahams 2001 - 2002. - (C) Copyright David Abrahams 2001, Howard Hinnant 2001. - (C) Copyright David Abrahams 2002. - (C) Copyright David Abrahams 2002 - 2003. - (C) Copyright David Abrahams 2003. - (C) Copyright David Abrahams 2004. - (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001. - (C) Copyright David Abrahams Steve Cleary, Beman Dawes, Howard - (C) Copyright David Abrahams, Vicente Botet 2009. - (C) Copyright Douglas Gregor 2001. - (C) Copyright Douglas Gregor 2002. - (C) Copyright Douglas Gregor 2010 - (C) Copyright Dustin Spicuzza 2009. - (C) Copyright Edward Diener 2011. - (C) Copyright Edward Diener 2011,2012 - (C) Copyright Edward Diener 2011,2012,2013 - (C) Copyright Edward Diener 2011,2012,2019 - (C) Copyright Edward Diener 2011,2013. - (C) Copyright Edward Diener 2011,2014. - (C) Copyright Edward Diener 2011-2015 - (C) Copyright Edward Diener 2011-2015,2019 - (C) Copyright Edward Diener 2011-2020. - (C) Copyright Edward Diener 2012 - (C) Copyright Edward Diener 2012,2013 - (C) Copyright Edward Diener 2012,2013,2019 - (C) Copyright Edward Diener 2013. - (C) Copyright Edward Diener 2014. - (C) Copyright Edward Diener 2014,2019. - (C) Copyright Edward Diener 2015. - (C) Copyright Edward Diener 2015 - (C) Copyright Edward Diener 2016. - (C) Copyright Edward Diener 2019. - (C) Copyright Edward Diener 2019 - (C) Copyright Edward Diener 2020. - (C) Copyright Edward Diener 2020 - (C) Copyright Eric Ford - (C) Copyright Eric Ford 2001 - (C) Copyright Eric Friedman 2002-2003. - (C) Copyright Eric Jourdanneau, Joel Falcou 2010 - (C) Copyright Eric Niebler 2004-2005 - (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 - (C) Copyright Francois Faure, iMAGIS-GRAVIR / UJF, 2001. - (C) Copyright Gennadiy Rozental 2001. - (C) Copyright Gennaro Prota 2003. - (C) Copyright Gennaro Prota 2003 - 2004. - (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. - (C) Copyright Guillaume Melquiond 2002 - 2003. - (C) Copyright Guillaume Melquiond 2003. - (C) Copyright Herve Bronnimann 2004. - (C) Copyright Howard Hinnant - (C) Copyright Howard Hinnant 2004 - (C) Copyright Howard Hinnant 2007-2010. Distributed under the Boost - (C) Copyright Hubert Holin 2001. - (C) Copyright Hubert Holin 2003. - (C) Copyright Hubert Holin 2003-2005."); - (C) Copyright Hubert Holin and Daryle Walker 2001-2002. Distributed under the Boost - (C) Copyright Ignacy Gawedzki 2010 - (C) Copyright Ion Gaztanaga 2004-2015. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2005. - (C) Copyright Ion Gaztanaga 2005-2012. - (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2005-2013. - (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2005-2014. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2005-2015. - (C) Copyright Ion Gaztanaga 2005-2015. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2005-2016. - (C) Copyright Ion Gaztanaga 2006-2012. - (C) Copyright Ion Gaztanaga 2006-2012 - (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2006-2013. - (C) Copyright Ion Gaztanaga 2006-2013 - (C) Copyright Ion Gaztanaga 2006-2014 - (C) Copyright Ion Gaztanaga 2006-2014. - (C) Copyright Ion Gaztanaga 2006-2014 - (C) Copyright Ion Gaztanaga 2006-2014. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2006-2015 - (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2007-2012. - (C) Copyright Ion Gaztanaga 2007-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2007-2013 - (C) Copyright Ion Gaztanaga 2007-2013. - (C) Copyright Ion Gaztanaga 2007-2013 - (C) Copyright Ion Gaztanaga 2007-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2007-2014 - (C) Copyright Ion Gaztanaga 2007-2014 - (C) Copyright Ion Gaztanaga 2007-2014. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2008 - (C) Copyright Ion Gaztanaga 2008-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2008-2013 - (C) Copyright Ion Gaztanaga 2008-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2008-2015. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2009-2012. - (C) Copyright Ion Gaztanaga 2009-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2009-2013. - (C) Copyright Ion Gaztanaga 2009. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2010-2012. - (C) Copyright Ion Gaztanaga 2010-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2010-2013 - (C) Copyright Ion Gaztanaga 2010-2016. - (C) Copyright Ion Gaztanaga 2011-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2011-2014. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2012-2012. - (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2012-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2012-2015. - (C) Copyright Ion Gaztanaga 2012-2016. - (C) Copyright Ion Gaztanaga 2013-2013 - (C) Copyright Ion Gaztanaga 2013-2013. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2013-2014 - (C) Copyright Ion Gaztanaga 2014. - (C) Copyright Ion Gaztanaga 2014-2014 - (C) Copyright Ion Gaztanaga 2014-2014 - (C) Copyright Ion Gaztanaga 2014-2014. - (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2014-2015 - (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2014-2017. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2015-2015. - (C) Copyright Ion Gaztanaga 2015-2015. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2015-2016. - (C) Copyright Ion Gaztanaga 2015-2017. - (C) Copyright Ion Gaztanaga 2016-2016. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2017-2017 - (C) Copyright Ion Gaztanaga 2017-2017. - (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2017-2018. - (C) Copyright Ion Gaztanaga 2017-2018. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2018-2018. Distributed under the Boost - (C) Copyright Ion Gaztanaga 2019-2020. Distributed under the Boost - (C) Copyright Jens Mauer 2001 - (C) Copyright Jens Maurer 2001. - (C) Copyright Jens Maurer 2001 - (C) Copyright Jens Maurer 2001 - 2002. - (C) Copyright Jens Maurer 2001 - 2003. - (C) Copyright Jens Maurer 2002 - 2003. - (C) Copyright Jens Maurer 2003. - (C) Copyright Jeremiah Willcock 2004 - (C) Copyright Jeremy Siek 1999. - (C) Copyright Jeremy Siek 1999-2001. - (C) Copyright Jeremy Siek 2000. - (C) Copyright Jeremy Siek 2001. - (C) Copyright Jeremy Siek, 2001. - (C) Copyright Jeremy Siek 2001. Use, modification and - (C) Copyright Jeremy Siek 2002. - (C) Copyright Jeremy Siek 2002. - (C) Copyright Jeremy Siek 2004. - (C) Copyright Jeremy Siek 2004 - (C) Copyright Jeremy Siek 2006 - (c) Copyright Jeremy Siek and John R. Bandela 2001. - (C) Copyright Jeremy William Murphy 2015. - (C) Copyright Jeremy William Murphy 2016. - (C) Copyright Jessica Hamilton 2014. - (C) Copyright Jim Douglas 2005. - (C) Copyright Joaquin M Lopez Munoz 2006-2013 - (C) Copyright Joel de Guzman 2003. - (C) Copyright Johan Rade 2006. - (C) Copyright John Maddock - (C) Copyright John maddock 1999. - (C) Copyright John maddock 1999. Distributed under the Boost - (C) Copyright John Maddock 2000. - (C) Copyright John Maddock 2001. - (C) Copyright John Maddock 2001 - (C) Copyright John Maddock 2001 - 2002. - (C) Copyright John Maddock 2001 - 2003. - (C) Copyright John Maddock 2001 - 2003 - (C) Copyright John Maddock 2001-8. - (C) Copyright John Maddock 2002. - (C) Copyright John Maddock 2002 - 2003. - (c) Copyright John Maddock 2003 - (C) Copyright John Maddock 2003. - (C) Copyright John Maddock 2005. - (C) Copyright John Maddock 2005-2006. - (C) Copyright John Maddock 2006. - (C) Copyright John Maddock 2006, 2015 - (C) Copyright John Maddock 2006-7. - (C) Copyright John Maddock 2006-8. - (C) Copyright John Maddock 2007. - (C) Copyright John Maddock 2008. - (C) Copyright John Maddock 2010. - (C) Copyright John Maddock 2011. - (C) Copyright John Maddock 2015. - (C) Copyright John Maddock 2017. - (C) Copyright John Maddock 2018. - (C) Copyright John Maddock and Steve Cleary 2000. - (C) Copyright Jonathan Graehl 2004. - (C) Copyright Jonathan Turkanis 2003. - (C) Copyright Jonathan Turkanis 2004. - (C) Copyright Jonathan Turkanis 2004 - (C) Copyright Jonathan Turkanis 2004-2005. - (C) Copyright Jorge Lodos 2008. - (c) Copyright Juergen Hunold 2008 - (C) Copyright Kevlin Henney and Dave Abrahams 1999. - (C) Copyright Lie-Quan Lee 2001. - (C) Copyright Markus Schoepflin 2002 - 2003. - (C) Copyright Markus Schoepflin 2005. - (C) Copyright Markus Schoepflin 2007 - (C) Copyright Martin Wille 2003. - (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - (C) Copyright Matthias Troyerk 2006. - (C) Copyright Michael Glassford 2004. - (C) Copyright Microsoft Corporation 2014 - (C) Copyright Milan Svoboda 2008. - (C) Copyright Nick Thompson 2017. - (C) Copyright Nick Thompson 2018. - (C) Copyright Nick Thompson 2019. - (C) Copyright Nick Thompson 2020. - (C) Copyright Nicolai M. Josuttis 2001. - (C) Copyright Nicolai M. Josuttis 2001,// available at http://www.josuttis.com/cppcode/fdstream.html. - (C) Copyright Noel Belcourt 2007. - (C) Copyright Olaf Krzikalla 2004-2006. - (C) Copyright Orson Peters 2017. - (C) Copyright Pablo Halpern 2009. Distributed under the Boost - (C) Copyright Paul A. Bristow 2006. - (C) Copyright Paul A. Bristow 2011 (added changesign). - (C) Copyright Paul A. Bristow 2011 (added tests for changesign) - (C) Copyright Paul Mensonides 2002. - (C) Copyright Paul Mensonides 2002-2011. - (C) Copyright Paul Mensonides 2003. - (C) Copyright Paul Mensonides 2005. - (C) Copyright Paul Mensonides 2011. - (C) Copyright Paul Mensonides 2012. - (C) Copyright Paul Moore 1999. Permission to copy, use, modify, sell and - (C) Copyright Peter Dimov 2001. - (C) Copyright Peter Dimov 2001 - (C) Copyright Peter Dimov 2001, 2002 - (C) Copyright Peter Dimov 2001, 2002, 2003 - (C) Copyright Peter Dimov 2002. - (C) Copyright Peter Dimov 2002 - (C) Copyright Peter Dimov 2004-2005 - (C) Copyright Peter Dimov 2008. - (C) Copyright Peter Dimov 2017. - (C) Copyright Peter Dimov 2019 - (C) Copyright Peter Dimov and Multi Media Ltd. 2001, 2002, 2003 - (c) Copyright Raffi Enficiaud 2017. - (C) Copyright Raffi Enficiaud 2018. - (C) Copyright Raffi Enficiaud 2019. - (C) Copyright Rani Sharoni 2003. - (C) Copyright Rani Sharoni 2003-2005. - (C) Copyright Reimar D// Based on zstd.hpp by: - (C) Copyright Rene Rivera 2005. - (C) Copyright Robert Ramey 2003. Jonathan Turkanis 2004. - (c) Copyright Robert Ramey 2004 - (C) Copyright Roland Richter 2003. - (C) Copyright Ronald Garcia 2002. Permission to copy, use, modify, sell and// distribute this software is granted provided this copyright notice appears// in all copies. This software is provided "a - (C) Copyright Runar Undheim, Robert Ramey - (C) Copyright R.W. Grosse-Kunstleve 2002. - (C) Copyright Samuli-Petrus Korhonen 2017. - (C) Copyright Stefan Slapeta 2004. - (C) Copyright Stephen Cleary 2000. - (C) Copyright Stephen Cleary 2000 - (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant - (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant - (C) Copyright Synge Todo 2003. - (C) Copyright Thomas Claveirole 2010 - (C) Copyright Thomas Witt 2002. - (C) Copyright Thorsten Ottosen 2002-2003. Use, modification and - (C) Copyright Thorsten Ottosen 2005. - (C) Copyright Thorsten Ottosen 2005 - (C) Copyright Tobias Schwinger - (C) Copyright Toon Knapen 2001. - (C) Copyright Toon Knapen 2001 - 2003. - (C) Copyright Toon Knapen 2003. - (C) Copyright Vicente J. Botet Escriba 20010. - (C) Copyright Vicente J. Botet Escriba 2008-2009,2012. Distributed under the Boost - (C) Copyright Vicente J. Botet Escriba 2010. - (C) Copyright Vicente J. Botet Escriba 2013-2014. Distributed under the Boost - (C) Copyright Vicente J. Botet Escriba 2013-2017. Distributed under the Boost - (C) Copyright Vicente J. Botet Escriba 2014-2015. Distributed under the Boost - (C) Copyright Vicente J. Botet Escriba 2014. Distributed under the Boost - (C) Copyright Yuriy Krasnoschek 2009. - (C) c = span.innerHTML = C; if (c.match(/ - (C) David Abrahams 2002. Distributed under the Boost - (C) ? DD_C_NAN : DD_C_ZERO); - (C) ? DD_C_ZERO : DD_C_NEGINF); - (C) Dsp = self.spmatrix(D) assert_almost_equal(Csp.multiply(Dsp).toarray(), C - (C) elements.push_back(el); // MAY THROW (C) - (C)*EPS) GO TO 1510 CONTINUE15 S=XA - (C) * equed = - (C) * equed = - (C) # fails if sparse or scalar; that - (C) IF (DABS((WA-WA0)/WA).LT.EPS.AND.K.GT.10) GO TO 3010 WA0=WA ELSE IF (W0.GT.2.5.AND.W0.LT.4.5) THEN M=85 C=Z0 CF1=Z0 CF - (C) (if options->Trans = NOTRANS) or diag(R) - (C) (if options->Trans = NOTRANS) or diag(R) - (C) if sps.issparse(A) else A c = c - (C) # improve precision of result for i in range(2): - (C) * in order to obtain the solution to the original system. - (C) *inv(diag(C)) - (C) is not known a priori, a conservative bound is: - (C) MD, ND = _shape_or_none(D) - (C) needs to be assigned for the test - (C) NM2=2 CALL KMN(M,N,C,CV,KD,DF,DN,CK1,CK2) CALL LPMNS(M,NM2,X,PM,PD) CALL LQMNS(M,NM2,X,QM,QD) SU0=0.0D0 SW=0.0D0 DO 10 K=1,NM J=2 - Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier - Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier - Copyright 1984, 1987, 1988, 2000 by Stephen L. Moshier - Copyright 1984, 1987, 1988 by Stephen L. Moshier - Copyright 1984, 1987, 1988 by Stephen L. MoshierDirect inquiries to 30 Frost Street, Cambridge, MA 02140 - Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier - Copyright 1984, 1987, 1989, 1992 by Stephen L. Moshier - Copyright 1984, 1987, 1989, 1995 by Stephen L. Moshier - Copyright 1984, 1987, 1989, 2000 by Stephen L. Moshier - Copyright 1984, 1987, 1989 by Stephen L. Moshier - Copyright 1984, 1987, 1992, 2000 by Stephen L. Moshier - Copyright 1984, 1987, 1993 by Stephen L. Moshier - Copyright 1984, 1987, 1995 by Stephen L. Moshier - Copyright 1984, 1987, 2000 by Stephen L. Moshier - Copyright 1984, 1987 by Stephen L. Moshier - Copyright 1984, 1991 by Stephen L. Moshier - Copyright 1984 - 1994 by Stephen L. Moshier - Copyright 1984, 1995, 2000 by Stephen L. Moshier - Copyright 1984, 1995 by Stephen L. Moshier - Copyright 1984, 1996 by Stephen L. Moshier - Copyright 1985, 1987, 1989 by Stephen L. Moshier - Copyright 1985, 1987, 2000 by Stephen L. Moshier - Copyright 1985, 1987 by Stephen L. Moshier - Copyright 1985 by Stephen L. Moshier - Copyright 1987-, A. Volgenant/Amsterdam School of Economics, - Copyright 1991: Dieter Kraft, FHMC - Copyright 1997, 1998, 1999, 2000 University of Notre Dame. - Copyright 1997, 1998, 1999, 2000 University of Notre Dame.// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek - Copyright 1997-2001 University of Notre Dame. - Copyright 1997-2008 by Agner Fog. - Copyright 1999, 2000, 2001 Regents of the University of California.Released for unlimited redistribution. - Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) - Copyright 1999,2000 Pearu Peterson all rights reserved - Copyright 1999-2003 Aleksey Gurtovoy. Use, modification, and distribution are - Copyright 1999-2004 Pearu Peterson all rights reserved - Copyright 1999 - 2011 Pearu Peterson all rights reserved - Copyright 1999--2011 Pearu Peterson all rights reserved - Copyright 1999 Travis Oliphant - Copyright 2000 by Alan Genz. - Copyright 2000 Jens Maurer - Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) - Copyright 2000 John Maddock (john@johnmaddock.co.uk) - Copyright 2000 Pearu Peterson all rights reserved - Copyright 2000 University of Notre Dame. - Copyright 2001, 2003, 2004, 2012 Daryle Walker. Use, modification, and - Copyright 2001, 2004, 2011 Daryle Walker. - Copyright 2001-2005 Pearu Peterson all rights reserved - Copyright 2001 Indiana University - Copyright 2001 John Maddock. - Copyright 2001 Universite Joseph Fourier, Grenoble. - Copyright 2001 University of Notre Dame. - Copyright 2002-2003 Guillaume Melquiond - Copyright 2002-2003 Herv - Copyright 2002, 2005 Daryle Walker - Copyright 2002, 2005 Daryle Walker. Use, modification, and distribution - Copyright 2002-2006 Andreas Huber Doenni - Copyright 2002-2007 Andreas Huber Doenni - Copyright 2002-2008 Andreas Huber Doenni - Copyright 2002-2008 by Agner Fog. - Copyright 2002, 2009, 2014 Peter Dimov - Copyright 2002, 2009 Peter Dimov - Copyright 2002-2010 Andreas Huber Doenni - Copyright 2002-2014 by Agner Fog. - Copyright 2002-2016 The SciPy Developers - Copyright 2002-2018 Peter Dimov - Copyright 2002, 2020 Peter Dimov - Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) - Copyright 2002 Brad King and Douglas Gregor - Copyright 2002 Daryle Walker - Copyright 2002 Gary Strangman. All rights reserved - Copyright 2002 Herv - Copyright 2002 H Lohninger, TU Wein - Copyright 2002 Indiana University. - Copyright 2002 Marc Wintermantel (wintermantel@even-ag.ch) - Copyright 2002 Pearu Peterson all rights reserved - Copyright 2002 Rensselaer Polytechnic Institute - Copyright 2002 The Trustees of Indiana University. - Copyright 2003-2005 Peter Dimov - Copyright 2003-2008 Joaquin M Lopez Munoz. - Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II - Copyright 2003-2013 Joaquin M Lopez Munoz. - Copyright 2003-2014 Joaquin M Lopez Munoz. - Copyright 2003-2015 Joaquin M Lopez Munoz. - Copyright 2003-2016 Joaquin M Lopez Munoz. - Copyright 2003-2017 Joaquin M Lopez Munoz. - Copyright 2003-2018 Joaquin M Lopez Munoz. - Copyright 2003-2019 Joaquin M Lopez Munoz. - Copyright 2003-2020 Joaquin M Lopez Munoz. - Copyright 2003 Bruce Barr - Copyright 2003 (c) The Trustees of Indiana University. - Copyright 2003 Guillaume Melquiond - Copyright 2003 Guillaume Melquiond, Sylvain Pion - Copyright 2003 Jeremy Siek - Copyright 2003 The Trustees of Indiana University - Copyright 2004-2005 by Enthought, Inc. - Copyright 2004-2005 Peter Dimov - Copyright 2004, 2005 The Trustees of Indiana University. - Copyright 2004, 2005 Trustees of Indiana University - Copyright 2004-2006 Peter Dimov - Copyright 2004-2006 The Trustees of Indiana University. - Copyright 2004-2008 by Agner Fog. - Copyright 2004-2008 Peter Dimov - Copyright 2004-2013 by Agner Fog. - Copyright 2004-5 The Trustees of Indiana University. - Copyright 2004-9 Trustees of Indiana University - copyright 2004 Brian Ravnsgaard Riis - Copyright 2004 Eric Niebler/////////////////////////////////////////////////////////////////////////////// - Copyright 2004 Eric Niebler. - Copyright 2004 Eric Niebler - Copyright 2004 The Trustees of Indiana University. - Copyright 2004 The Trustees of Indiana University - Copyright 2005-2006 Andreas Huber Doenni - Copyright 2005-2007 Adobe Systems Incorporated - Copyright 2005-2008 Andreas Huber Doenni - Copyright 2005-2009 Daniel James. - Copyright 2005-2009 The Trustees of Indiana University. - Copyright 2005-2011 Daniel James. - Copyright 2005-2012 Daniel James. - Copyright 2005-2013 Peter Dimov - Copyright 2005-2014 Daniel James. - Copyright 2005, 2014 Peter Dimov - Copyright 2005 Alexander Nasonov. - Copyright 2005 Ben Hutchings - Copyright 2005 Daniel Egloff. Distributed under the Boost - Copyright 2005 Daniel Egloff, Eric Niebler. Distributed under the Boost - Copyright 2005 Daniel Egloff, Olivier Gygi. Distributed under the Boost - Copyright 2005 Daniel Wallin. - Copyright 2005 Dan Marsden. - Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed - Copyright 2005 Douglas Gregor. - Copyright 2005 Eric Niebler. - Copyright 2005 Eric Niebler, Daniel Egloff. Distributed under the Boost - Copyright 2005 Eric Niebler. Distributed under the Boost - Copyright 2005 Eric Niebler, Michael Gauckler. Distributed under the Boost - Copyright 2005 Felix H - Copyright 2005 Guillaume Melquiond - Copyright 2005 Jeremy G. Siek - Copyright 2005 Joel de Guzman. - Copyright 2005 Matthias Troyer. - Copyright 2005 Peter Dimov - Copyright 2005 The Trustees of Indiana University. - Copyright 2005 Travis Oliphant - Copyright 2005 Trustees of Indiana University - Copyright 2006-2007 Boris Gubenko - Copyright 2006-2008 Joaquin M Lopez Munoz. - Copyright 2006-2009 Joaquin M Lopez Munoz. - Copyright © 2006-2009 Johann C. Rocholl - Copyright 2006-2011 Joaquin M Lopez Munoz. - Copyright 2006-2013 Joaquin M Lopez Munoz. - Copyright 2006-2014 Joaquin M Lopez Munoz. - Copyright 2006-2015 Joaquin M Lopez Munoz. - Copyright 2006-2018 Joaquin M Lopez Munoz. - Copyright 2006-2019 Joaquin M Lopez Munoz. - Copyright 2006-2020 Joaquin M Lopez Munoz. - Copyright 2006, 2020 Peter Dimov - Copyright 2006 Andy Tompkins. - Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost - Copyright 2006 Douglas Gregor . - Copyright 2006 Eric Niebler. Distributed under the Boost - Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost - Copyright 2006, Eric Niebler, Olivier Gygi. Distributed under the Boost - Copyright 2006 Ion Gaztanaga - Copyright 2006 Johan Rade - Copyright 2006 John Maddock - Copyright 2006 Michael van der Westhuizen - Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost - Copyright 2006 Roland Schwarz. - Copyright 2006 The Trustees of Indiana University. - Copyright 2006 Thorsten Ottosen. - Copyright 2006 Trustees of Indiana University - Copyright 2007-2008 Andreas Pokorny, Christian Henning - Copyright 2007-2008 Christian Henning - Copyright 2007-2008 Christian Henning, Andreas Pokorny - Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev - Copyright: 2007-2008 CodeRage, LLC - Copyright 2007-2012 Christian Henning, Andreas Pokorny - Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev - Copyright 2007-2012 Christian Henning, Lubomir Bourdev - Copyright 2007-2012 Ion Gaztanaga - Copyright 2007, 2014 Peter Dimov - Copyright 2007, 2019 Peter Dimov - Copyright 2007, 2020 Peter Dimov - Copyright 2007 Aaron Windsor - Copyright 2007 Alexandre Courpron - Copyright 2007 Andy Tompkins. - Copyright 2007 Baruch Zilber - Copyright 2007 Boris Gubenko - Copyright 2007 Christian Henning - Copyright 2007 David Jenkins. - Copyright 2007 Eric Niebler. - Copyright 2007 Peter Dimov - Copyright 2007 Stanford University - Copyright 2007 Tobias Schwinger - Copyright 2007 University of Karlsruhe - copyright = '2008- - Copyright 2008 - Copyright 2008-2009 Frank Mori Hess - Copyright 2008-2010 Gordon Woodhull - Copyright 2008,2012 Peter Dimov - Copyright 2008, 2020 Peter Dimov - Copyright 2008 Adobe Systems Incorporated - Copyright 2008 Andreas Huber Doenni - Copyright 2008 Beman Dawes - Copyright 2008 Christian Henning - Copyright 2008 Christian Henning, Lubomir Bourdev - Copyright 2008 Christophe Henry - Copyright 2008 Christophe Henry// henry UNDERSCORE christophe AT hotmail DOT com// This is taken from Boost.Proto - Copyright: 2008 CodeRage, LLC - Copyright: 2008 CodeRage, LLC 2004-2007 Jonathan Turkanis - Copyright 2008 David Jenkins. - Copyright 2008 Eric Niebler. - Copyright 2008 Eric Niebler. Distributed - Copyright 2008 Eric Niebler. Distributed under the Boost - Copyright 2008 Gautam Sewani - Copyright 2008 Hartmut Kaiser. - Copyright 2008 Howard Hinnant - Copyright 2008 Intel Corporation - Copyright 2008 Joaquin M Lopez Munoz. - Copyright 2008 John Maddock - Copyright 2008 Peter Dimov - Copyright 2009-2010 Vicente J. Botet Escriba - Copyright 2009-2011 Karsten Ahnert - Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI - Copyright 2009-2011 Mario Mulansky - Copyright 2009-2011 Vicente J. Botet Escriba - Copyright 2009-2012 Karsten Ahnert - Copyright 2009-2012 Mario Mulansky - Copyright 2009-2012 Vicente J. Botet Escriba - Copyright 2009-2013 Karsten Ahnert - Copyright 2009-2013 Mario Mulansky - Copyright © 2009-2014 Florent Xicluna - Copyright 2009-2014 Neil Groves. - Copyright 2009-2015 Mario Mulansky - Copyright 2009, Andrew Sutton - Copyright 2009 Andy Tompkins. - Copyright 2009 (C) Dean Michael Berris - Copyright 2009 Christian Henning - Copyright 2009 Eric Niebler. Distributed under the Boost - Copyright 2009 Neil Groves. - Copyright 2009 Steven Watanabe - Copyright 2009 The Trustees of Indiana University. - Copyright 2009 Trustees of Indiana University. - Copyright 2009 Trustees of Indiana University - Copyright 2009 Vicente J. Botet Escriba - Copyright 2010-2011 Karsten Ahnert - Copyright 2010-2011 Mario Mulansky - Copyright 2010-2011 OpenStack Foundation - Copyright 2010-2012, D. E. Shaw Research. // All rights reserved - Copyright 2010-2012 Karsten Ahnert - Copyright 2010-2012 Kenneth Riddile, Christian Henning - Copyright 2010-2012 Mario Mulansky - Copyright 2010-2013 Karsten Ahnert - Copyright 2010-2013 Mario Mulansky - Copyright 2010-2014 Mario Mulansky - Copyright 2010-2015 Mario Mulansky - Copyright 2010 Andy Tompkins. - Copyright 2010 Beman Dawes - Copyright 2010 Christian Henning - Copyright 2010 Daniel Wallin, Eric Niebler. Distributed under the Boost - copyright 2010 DavidWolever . All rights reserved - Copyright 2010 Eric Niebler. - Copyright 2010 Eric Niebler. Distributed under the Boost - Copyright 2010 Fabien Castan, Christian Henning - Copyright 2010 Gaetano Mendola, 2011 Simon West. Distributed under the Boost - Copyright 2010 John Maddock - Copyright 2010 Kenneth Riddile - Copyright 2010 Mario Mulansky - Copyright 2010 Paul A. Bristow - Copyright 2010 The Trustees of Indiana University. - Copyright 2010 Thomas Claveirole - Copyright 2010 Vicente J. Botet Escriba - Copyright 2011-2012 Karsten Ahnert - Copyright 2011-2012 Mario Mulansky - Copyright 2011, 2012 Paul A. Bristow - Copyright 2011-2012 Steven Watanabe - Copyright 2011 - 2013 John Maddock. Distributed under the Boost - Copyright 2011 -2013 John Maddock. Distributed under the Boost - Copyright 2011-2013 Karsten Ahnert - Copyright 2011-2013 Mario Mulansky - Copyright © 2011-2013 Tarek Ziade - Copyright 2011-2013 Thorsten Ottosen - Copyright 2011-2015 Mario Mulansky - Copyright 2011 Christophe Henry - Copyright 2011 Eric Niebler - Copyright 2011 Eric Niebler. Distributed under the Boost - Copyright 2011 Garmin Ltd. or its subsidiaries - Copyright 2011 John Maddock - Copyright 2011 John Maddock. Distributed under the Boost - Copyright 2011 Karsten Ahnert - Copyright 2011 Mario Mulansky - Copyright 2011 OpenStack Foundation - Copyright 2011 Paul A. Bristow - Copyright 2011 Paul A. Bristow To incorporate into Boost.Math - Copyright 2011 Simon West. Distributed under the Boost - Copyright 2011 Steven Watanabe - Copyright 2011 Vicente J. Botet Escriba - Copyright 2012-2013 Andreas Angelopoulos - Copyright 2012-2013 Hewlett-Packard Development Company, L.P. - Copyright 2012-2013 Karsten Ahnert - Copyright 2012-2013 Mario Mulansky - Copyright 2012-2013 Steven Watanabe - Copyright 2012-2015 Mario Mulansky - Copyright 2012-2019 Glen Joseph Fernandes - Copyright 2012-2020 Antony Polukhin. - Copyright 2012-2020 John Maddock. - Copyright 2012-20 John Maddock. - Copyright 2012 Andreas Pokorny - Copyright 2012 (C) Google, Inc. - Copyright 2012 Christian Henning - Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev - Copyright 2012 Christoph Koke - Copyright 2012 Chung-Lin Wen - Copyright 2012 Chung-Lin Wen, Davide Anastasia - Copyright 2012 (C) Jeffrey Lee Hellrung, Jr. - Copyright 2012 Denis Demidov - Copyright 2012 Eric Niebler. Distributed under the Boost - Copyright 2012 Fernando Vilas - Copyright 2012 IBM Corp. - Copyright 2012 John Maddock. - Copyright 2012 John Maddock. Distributed under the Boost - Copyright 2012 Karsten Ahnert - Copyright 2012 Kenneth Riddile, Christian Henning - Copyright 2012 K R Walker - Copyright 2012 Lucanus Simonson - Copyright 2012 Mario Mulansky - Copyright 2012 Olivier Tournaire - Copyright 2012 Olivier Tournaire, Christian Henning - Copyright 2012 OpenStack Foundation - Copyright 2012 Paul A. Bristow with new tests. - Copyright 2012, Philipp Moeller - Copyright 2012 Red Hat, Inc. - Copyright 2012 Steven Watanabe - Copyright 2012 The Trustees of Indiana University. - Copyright 2012 Vicente J. Botet Escriba - Copyright 2013-2014 Karsten Ahnert - Copyright 2013-2014 Mario Mulansky - Copyright 2013, 2017-2018 Cray, Inc. - Copyright 2013, 2017 Andrey Semashev - Copyright 2013-2020 Antony Polukhin. - Copyright 2013 Andrea GavanaAuthor: - Copyright 2013 Andrey Semashev - Copyright 2013 Ankur Sinha - Copyright 2013 Christian Henning - Copyright 2013 Christian Henning and Juan V. Puertos - Copyright 2013 Christian Shelton - Copyright 2013 Christopher Kormanyos - Copyright 2013 Cromwell D. Enage - Copyright © 2013 Florent Xicluna - Copyright 2013 Hewlett-Packard Development Company, L.P. - Copyright 2013 John Maddock - Copyright 2013 John Maddock. Distributed under the Boost - Copyright 2013 Juan V. Puertos G-Cluster, Christian Henning - Copyright 2013 Karsten Ahnert - Copyright 2013 Kyle Lutz - Copyright 2013 Maciej Piechotka - Copyright 2013 Mario Mulansky - Copyright 2013 Nikhar Agrawal - copyright = '2013, OpenStack Foundation - Copyright 2013 Pascal Germroth - Copyright 2013 Paul Bristow - Copyright 2013 Peter Dimov - Copyright 2013 University of Warsaw. - Copyright 2014-2015 Glen Joseph Fernandes - Copyright 2014-2015 Renato Tegon Forti, Antony Polukhin. - Copyright 2014-2016 Glen Joseph Fernandes - Copyright 2014,2018 Glen Joseph Fernandes - Copyright 2014-2020 Glen Joseph Fernandes - Copyright © 2014-2020 Ian Lee - Copyright 2014 Andrey Semashev - Copyright 2014 Anton Bikineev - Copyright 2014 Antony Polukhin - Copyright 2014 Bill Gallafent - Copyright 2014 Christopher Kormanyos - Copyright 2014, Eric W. Moore - Copyright 2014 Glen Joseph Fernandes - Copyright 2014 Hewlett-Packard Development Company, L.P. - Copyright 2014 John Maddock - Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II - Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI - Copyright 2014 Marco Guazzone (marco.guazzone@gmail.com) - Copyright 2014 MetaScale SAS - Copyright 2014 Neil Groves - Copyright 2014 NumScale SAS - Copyright 2014 Paul Bristow - Copyright 2014 Peter Dimov - Copyright 2014 Renato Tegon Forti, Antony Polukhin. - Copyright 2014 Renato Tegon Forti, Antony Polukhin - Copyright 2015-2016 Hans Dembinski - Copyright 2015, 2016 Peter Dimov. - Copyright 2015, 2017, 2019 Peter Dimov. - Copyright 2015, 2017 Andrey Semashev - Copyright 2015-2017 Hans Dembinski - Copyright 2015-2017 Peter Dimov. - Copyright 2015-2018 Andrey Semashev - Copyright 2015-2018 Hans Dembinski - Copyright 2015-2018 Klemens D. Morgenstern - Copyright 2015-2019 Antony Polukhin. - Copyright 2015-2019 Hans Dembinski - Copyright 2015-2019 Peter Dimov. - Copyright 2015-2019 Peter Dimov - Copyright 2015, 2019 Peter Dimov. - Copyright 2015, 2020 Andrey Semashev - Copyright 2015-2020 Antony Polukhin. - Copyright 2015-2020 Peter Dimov. - Copyright 2015 Andrey Semashev - Copyright 2015 Antony Polukhin - Copyright 2015 Glen Joseph Fernandes - Copyright 2015 John Fletcher. - Copyright 2015 John Fletcher - Copyright 2015 John Maddock. Distributed under the Boost - Copyright 2015 Klemens Morgenstern - Copyright 2015 LRI UMR 8623 CNRS/University Paris Sud XI - Copyright 2015 Mario Mulansky - Copyright 2015 NumScale SAS - Copyright 2015 Ontario Institute for Cancer Research// Written by Matei David (matei@cs.toronto.edu)//--------------------------------------------------------- - Copyright 2015 Peter Dimov. - Copyright 2015 Peter Dimov - Copyright 2015 Steven Watanabe - Copyright 2016, 2017 Andrey Semashev - Copyright 2016-2017 Joaquin M Lopez Munoz. - Copyright 2016, 2017 Peter Dimov - Copyright 2016, 2018, 2019 Peter Dimov. - Copyright 2016-2018 Andrey Semashev - Copyright 2016-2018 Joaquin M Lopez Munoz. - Copyright 2016-2019 Antony Polukhin. - Copyright 2016-2019 Joaquin M Lopez Munoz. - Copyright 2016-2020 Joaquin M Lopez Munoz. - Copyright 2016 Andrey Semashev - Copyright 2016 Joaquin M Lopez Munoz. - Copyright 2016 John Maddock. Distributed under the Boost - Copyright 2016 Jorge Lodos - Copyright 2016 Klemens D. Morgenstern - Copyright 2016 Klemens Morgenstern - Copyright 2016 Klemens Morgenstern, Antony Polukhin - Copyright 2017-2018 Glen Joseph Fernandes - Copyright 2017-2018 Joaquin M Lopez Munoz. - Copyright 2017, 2018 Peter Dimov. - Copyright 2017-2019 Glen Joseph Fernandes - Copyright 2017-2019 Peter Dimov. - Copyright 2017, 2019 Peter Dimov. - Copyright 2017 Andrey Semashev - Copyright 2017 Daniel James. - Copyright 2017 Glen Joseph Fernandes - Copyright 2017 James E. King III - Copyright 2017 James E. King, III - Copyright 2017 Joaquin M Lopez Munoz. - Copyright 2017 John Maddock - Copyright 2017, NVIDIA CORPORATION. - Copyright 2017 Peter Dimov. - Copyright 2017 Peter Dimov - Copyright 2017 Two Blue Cubes Ltd. All rights reserved - Copyright 2017 Valentin Noah Hartmann - Copyright 2017 Vinnie Falco - Copyright 2018, 2019 Andrey Semashev - Copyright 2018-2019 Antony Polukhin. - Copyright 2018-2019 Hans Dembinski - Copyright 2018, 2020 Peter Dimov - Copyright 2018 Glen Joseph Fernandes - Copyright 2018 Hans Dembinski - Copyright 2018 Joaquin M Lopez Munoz. - Copyright 2018 John Maddock - Copyright 2018 John Maddock. Distributed under the Boost - Copyright 2018 Mateusz Loskot - Copyright 2018 Nico Weber - Copyright 2018 Peter Dimov - Copyright 2018 Red Hat, Inc. - Copyright 2018 Stefan Seefeld - Copyright 2018 Steven Watanabe - Copyright 2018 Ulf Adams - Copyright 2019-2020 Antony Polukhin - Copyright 2019-2020 Glen Joseph Fernandes - Copyright 2019, 2020 Peter Dimov - Copyright 2019-20 Christopher Kormanyos. - Copyright 2019-20 Madhur Chauhan. - Copyright 2019 Emil Dotchevski. - Copyright 2019 Glen Joseph Fernandes - Copyright 2019 Glen Joseph Fernandes (glenjofe@gmail.com) - Copyright 2019 Hans Dembinski - Copyright 2019 Henry Schreiner - Copyright 2019 John Maddock - Copyright 2019 John Maddock. Distributed under the Boost - Copyright 2019 Mateusz Loskot - Copyright 2019 Miral Shah - Copyright 2019 Olzhas Zhumabek - Copyright 2019 Peter Dimov - Copyright 2019 Pranam Lashkari - Copyright 2019 Przemyslaw Bartosik - Copyright 2020 Andrey Semashev - Copyright 2020 Glen Joseph Fernandes - Copyright 2020 Hans Dembinski - Copyright 2020 Ion Gaztanaga - Copyright 2020 John Maddock. - Copyright 2020 John Maddock. Distributed under the Boost - Copyright 2020 Madhur Chauhan. - Copyright 2020 Peter Dimov - Copyright 2020 Samuel Debionne - Copyright 2021 Monty Taylor - Copyright 2024 Volvo Car Corporation - Copyright (2) Beman Dawes 2010, 2011 - Copyright (3) Ion Gaztanaga 2013 - Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2010. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2011. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2012. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2010. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2010 - 2011. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2011. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2011. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2011. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2011 - 2012. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2012. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2013. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2013. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2013. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2014. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2014. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2015. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2015. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2016. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2017. - Copyright Abel Sinkovics (abel@sinkovics.hu) 2018. - copyright = ABOUT - Copyright Absoft Corporation 1994-1998 mV2; Cray Research, Inc. 1994-1996 CF90 (2.x.x.x f36t87) Version 2.3 Wed Apr 19, 2006 13:05:16 - Copyright Absoft Corporation 1994-2002; Absoft Pro FORTRAN Version 8.0 - Copyright Absoft Corporation. r - Copyright Adam D. Walling 2012. Use, modification and - COPYRIGHT$ Additional copyrights may follow - COPYRIGHT$ Additional copyrights may follow - Copyright Alain Miniussi 2014. - Copyright Aleksey Gurtovoy 2000-2002 - Copyright Aleksey Gurtovoy 2000-2003 - Copyright Aleksey Gurtovoy 2000-2004 - Copyright Aleksey Gurtovoy 2000-2006 - Copyright Aleksey Gurtovoy 2000-2008 - Copyright Aleksey Gurtovoy 2000-2009 - Copyright Aleksey Gurtovoy 2000-2010 - Copyright Aleksey Gurtovoy 2001-2004 - Copyright Aleksey Gurtovoy 2001-2006 - Copyright Aleksey Gurtovoy 2001-2007 - Copyright Aleksey Gurtovoy 2001-2008 - Copyright Aleksey Gurtovoy 2002-2004 - Copyright Aleksey Gurtovoy 2002-2006 - Copyright Aleksey Gurtovoy 2003-2004 - Copyright Aleksey Gurtovoy 2003-2007 - Copyright Aleksey Gurtovoy 2004 - Copyright Aleksey Gurtovoy 2006 - Copyright Aleksey Gurtovoy 2008 - Copyright Alexander Grund 2018. Corrections to singleton lifetime - Copyright Alexander Nasonov - Copyright Alexander Nasonov 2004 - Copyright Alexander Nasonov, 2006-2010. - Copyright Anne M. Archibald 2008 - Copyright Antony Polukhin, 2011-2020. - Copyright Antony Polukhin, 2013-2014. - Copyright Antony Polukhin, 2013-2020. - Copyright Antony Polukhin, 2016-2019. - Copyright Antony Polukhin, 2016-2020. - Copyright (arg) 2001-2014 Joel de Guzman - Copyright Arno Schoedl - Copyright Barrett Adair 2015-2017 - Copyright Barrett Adair 2015-2018 - Copyright Barrett Adair 2016-2017 - copyright below:/ - Copyright Beman Dawes 1994, 2006, 2008 - Copyright Beman Dawes 1994-2007, 2011 - Copyright Beman Dawes 1994-99. - Copyright Beman Dawes 1994-99. Distributed under the Boost - Copyright Beman Dawes 1995-2001. Distributed under the Boost - Copyright Beman Dawes 2001. Distributed under the Boost - Copyright Beman Dawes 2002 - Copyright Beman Dawes, 2002-2005 - Copyright Beman Dawes 2002-2005, 2009 - Copyright Beman Dawes 2002, 2006 - Copyright Beman Dawes 2002-2009 - Copyright Beman Dawes 2003 - Copyright Beman Dawes 2003, 2006 - Copyright Beman Dawes 2003, 2006, 2008 - Copyright Beman Dawes 2003, 2006, 2010 - Copyright Beman Dawes 2003, 2006, 2011 - Copyright Beman Dawes 2005. - Copyright Beman Dawes 2006 - Copyright Beman Dawes 2006, 2007 - Copyright Beman Dawes 2007 - Copyright Beman Dawes 2008 - Copyright Beman Dawes 2009 - Copyright Beman Dawes, 2009 - Copyright Beman Dawes 2010 - Copyright Beman Dawes 2010, 2011, 2014 - Copyright Beman Dawes 2011 - Copyright Beman Dawes 2013 - Copyright Beman Dawes 2014 - Copyright Beman Dawes 2015 - Copyright Beman Dawes and Daryle Walker 1999. Distributed under the Boost - Copyright Benjamin Sobotta 2012. - Copyright Benjamin Sobotta 2012 - Copyright Benjamin Worpitz 2018 - Copyright Bertolt Mildner 2004. - copyright Boost Software License, version 1.0 - Copyright Bruno Dutra 2015 - Copyright Bryce Lelbach 2010 - copyright by Renee Touzin)under the BSD licence. The following files have been removed from the original library: - Copyright (c) 1992-2013 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. - Copyright (c) 1993-2019 C.B. Barber. - Copyright (c) 1993-2019 C.B. Barber Arlington, MA - Copyright (c) 1993-2019 The Geometry Center. - Copyright (c) 1994 - Copyright (c) 1994 by Xerox Corporation. All rights reserved - Copyright (c) 1994// Hewlett-Packard Company - Copyright (c) 1995, 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. - copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler - Copyright (c) 1995, Gerald Evenden - Copyright (c) 1995 Maarten Hilferink, Amsterdam, the Netherlands - Copyright (c) 1996 - Copyright (c) 1996,1997 - Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman, Brian Gough - Copyright (c) 1996-1998// Silicon Graphics Computer Systems, Inc. - Copyright (c) 1996-2008 Rice University. - Copyright (c) 1996-2008 Rice University.Developed by D.C. Sorensen, R.B. Lehoucq, C. Yang, and K. Maschhoff.All rights reserved - Copyright (c) 1996// Silicon Graphics Computer Systems, Inc. - Copyright (c) 1998 - Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd                               and Clark Cooper - Copyright (c) 1998-2000 - Copyright (c) 1998-2000 Theodore C. Belding / - Copyright (c) 1998-2002 - Copyright (c) 1998-2002 Joel de Guzman - Copyright (c) 1998-2003 by the University of Florida. All Rights Reserved - Copyright (c) 1998-2003 Joel de Guzman - Copyright (c) 1998-2004 John Maddock - Copyright (c) 1998-2005 - Copyright (c) 1998-2008 Joel de Guzman - Copyright (c) 1998-2009 - Copyright (c) 1998-2009 John Maddock - Copyright (c) 1999, 2000, 2001 North Carolina State University - Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) - Copyright (C) 1999-2001 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin - Copyright (C) 2000, 2001 Stephen Cleary - Copyright (c) 2000-2002 - Copyright (c) 2000-2003 Brian McNamara and Yannis Smaragdakis - Copyright (c) 2000-2004 - Copyright (c) 2000-2006, 2010 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2000-2006 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2000-2007 - Copyright (c) 2000-2009 - Copyright (c) 2000-2010 - Copyright (c) 2000-2010// Joerg Walter, Mathias Koch, David Bellot - Copyright (c) 2000-2010// Joerg Walter, Mathias Koch, Gunter Winkler, David Bellot - Copyright (c) 2000-2010 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2000-2011 Joerg Walter, Mathias Koch, David Bellot - Copyright (c) 2000-2013 - Copyright (c) 2000-2013 The University of California Berkeley. All rights reserved. - Copyright (c) 2000-2022 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2000 Cadenza New Zealand Ltd - Copyright (c) 2000 David Abrahams. - Copyright (c) 2000, Frank Warmerdam - Copyright (C) 2000 Gary Powell (gary.powell@sierra.com) - Copyright (C) 2000 Gary Powell (gwpowell@hotmail.com) - Copyright (C) 2000 Gary Powell (powellg@amazon.com) - Copyright (C) 2000 Stephen Cleary - Copyright (C) 2001 - Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, - Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Python Software Foundation;All Rights Reserved - Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. - Copyright (c) 2001, 2002, 2003 Peter Dimov - Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. - Copyright (c) 2001, 2002, 2012 Peter Dimov - Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek - Copyright (c) 2001, 2002 Enthought, Inc. - Copyright (c) 2001-2002 Enthought, Inc. 2003-2022, SciPy Developers.All rights reserved - Copyright (c) 2001-2002 Joel de Guzman - Copyright (C) 2001-2002 Joel de Guzman - Copyright (c) 2001, 2002 Peter Dimov - Copyright (C) 2001, 2002 Peter Dimov - Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. - Copyright (c) 2001, 2002 Python Software Foundation; All Rights - Copyright (C) 2001-2003 - Copyright (c) 2001-2003 Daniel Nuffer - Copyright (c) 2001-2003 Hartmut Kaiser - Copyright (c) 2001-2003 Joel de Guzman - Copyright (c) 2001-2003 John Maddock - Copyright (C) 2001-2003// William E. Kempf - Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. - Copyright (c) 2001-2005 Peter Dimov - Copyright (c) 2001-2007 Hartmut Kaiser - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2001-2008 Hartmut Kaiser - Copyright (c) 2001-2008 Joel de Guzman - Copyright (c) 2001-2008 Peter Dimov - Copyright (c) 2001-2009, 2012 Peter Dimov - Copyright (c) 2001-2009 Daniel Nuffer - Copyright (c) 2001-2009, Hartmut Kaiser - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2001-2010 Hartmut Kaiser - Copyright (c) 2001-2010 Joel de Guzman - Copyright (c) 2001-2011 Hartmut Kaiser. - Copyright (c) 2001-2011 Hartmut Kaiser - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 - Scilab EnterprisesUpdated by Allan Cornet, Sylvestre Ledru. - Copyright (c) 2001-2011 Thomas Bernard - Copyright (c) 2001-2012 Hartmut Kaiser. - Copyright (c) 2001-2012 Hartmut Kaiser - Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost - Copyright (c) 2001-2012 Joel de Guzman - Copyright (c) 2001-2013 Hartmut Kaiser. - Copyright (c) 2001-2013 Hartmut Kaiser - Copyright (c) 2001-2013 Joel de Guzman - Copyright (c) 2001-2014 Joel de Guzman - Copyright (c) 2001-2015 Joel de Guzman - Copyright (c) 2001-2019 Joel de Guzman - Copyright (c) 2001 Alexander Peslyak and it is hereby released to the - Copyright (c) 2001 Bruce Florman - Copyright (c) 2001 by Andrei Alexandrescu. Distributed under the Boost - Copyright (c) 2001 Daniel C. Nuffer. - Copyright (c) 2001 Daniel C. Nuffer - Copyright (c) 2001, Daniel C. Nuffer - Copyright (c) 2001 Daniel Nuffer - Copyright (c) 2001 Darin Adler - Copyright (C) 2001 Daryle Walker. - Copyright (c) 2001 David Abrahams - Copyright (C) 2001 Dietmar Kuehl - Copyright (c) 2001 Doug Gregor - Copyright (C) 2001 Gary Powell (gary.powell@sierra.com) - Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) - Copyright (C) 2001 Jeremy Siek, Douglas Gregor, Brian Osman - Copyright (C) 2001 Jeremy Siek - Copyright (c) 2001 Peter Dimov - Copyright (C) 2001 Peter Dimov - Copyright (c) 2001 Peter Dimov and Multi Media Ltd. - Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) - Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu)// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). Permission to copy, // use, modify, sell and distribute this softwa - Copyright (c) 2001, Thomas Flemming, tf@ttqv.com - Copyright (C) 2001 Vladimir Prus - Copyright (c) 2002 - Copyright (c) 2002-2003 - Copyright (c) 2002,2003,2005,2020 CrystalClear Software, Inc. - Copyright (c) 2002-2003,2005 CrystalClear Software, Inc. - Copyright (c) 2002,2003,2005 CrystalClear Software, Inc. - Copyright (c) 2002,2003, 2007 CrystalClear Software, Inc. - Copyright (c) 2002,2003, 2020 CrystalClear Software, Inc. - Copyright (c) 2002,2003,2020 CrystalClear Software, Inc. - Copyright (c) 2002,2003 CrystalClear Software, Inc. - Copyright (c) 2002-2003 David Abrahams - Copyright (C) 2002-2003// David Moore, William E. Kempf - Copyright (c) 2002-2003 Eric Friedman - Copyright (c) 2002-2003 Eric Friedman, Itay Maman - Copyright (c) 2002-2003 Hartmut Kaiser - Copyright (c) 2002-2003 Joel de Guzman - Copyright (c) 2002-2003 Juan Carlos Arevalo-Baeza - Copyright (c) 2002-2003 Martin Wille - Copyright (c) 2002, 2003 Peter Dimov - Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd. - Copyright (c) 2002-2004 CrystalClear Software, Inc. - Copyright (c) 2002-2005 CrystalClear Software, Inc. - Copyright (c) 2002-2005, Jean-Sebastien Roy (js@jeannot.org) - Copyright (c) 2002-2006 Hartmut Kaiser - Copyright (C) 2002-2006 Marcin Kalicinski - Copyright (C) 2002-2007 Marcin Kalicinski - Copyright (C) 2002, 2008, 2013 Peter Dimov - Copyright (c) 2002, 2009, 2014 Peter Dimov - Copyright (C) 2002-2017 Free Software Foundation, Inc. - Copyright (c) 2002, 2018, 2019 Peter Dimov - Copyright (c) 2002-2020 CrystalClear Software, Inc. - Copyright (C) 2002 Beman Dawes - Copyright (c) 2002 Bill Kempf - Copyright (C) 2002 Brad King and Douglas Gregor - Copyright (C) 2002 Brad King (brad.king@kitware.com) Douglas Gregor (gregod@cs.rpi.edu) - Copyright (c) 2002 by Andrei Alexandrescu - Copyright (C) 2002 David Abrahams - Copyright (c) 2002 Eric Friedman, Itay Maman - Copyright (c) 2002, Frank Warmerdam - Copyright (C) 2002 Gary Powell (gwpowell@hotmail.com) - Copyright (c) 2002 Hartmut Kaiser - Copyright (C) 2002 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) - Copyright (c) 2002 Jeff Westfahl - Copyright (c) 2002 Jens Maurer - Copyright (c) 2002 Joel de Guzman - Copyright (c) 2002 Juan Carlos Arevalo-Baeza - Copyright (c) 2002 Lars Gullik Bj - Copyright (c) 2002 Peter Dimov - Copyright (c) 2002 Peter Dimov and Multi Media Ltd. - Copyright (c) 2002 Raghavendra Satish - Copyright (c) 2002 Travis Oliphant all rights reserved - Copyright (c) 2003 - Copyright (c) 2003-2004, 2008 Gennaro Prota - Copyright (c) 2003-2004 CrystalClear Software, Inc. - Copyright (c) 2003-2004 Gennaro Prota - Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard. - Copyright (c) 2003-2005 - Copyright (c) 2003-2005 CrystalClear Software, Inc. - Copyright (c) 2003-2005 Peter Dimov - Copyright (C) 2003-2005 Peter J. Verveer - Copyright (c) 2003-2006, 2008 Gennaro Prota - Copyright (c) 2003, 2006 Gerald I. Evenden - Copyright (C) 2003, 2007-14 Massachusetts Institute of Technology - Copyright (C) 2003, 2007-14 Matteo Frigo - Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. - Copyright (c) 2003-2008 Jan Gaspar - Copyright (C) 2003-2008 Matthias Christian Schabel - Copyright (C) 2003-2009 Matthias Christian Schabel - Copyright (c) 2003-2009, The Regents of the University of California, - Copyright (c) 2003-2009, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy) All rig - Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) - Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com) - Copyright (c) 2003 Daniel Frey - Copyright (c) 2003 David Abrahams - Copyright (c) 2003 Eric Friedman - Copyright (c) 2003// Eric Friedman - Copyright (c) 2003 Eric Friedman, Itay Maman - Copyright (C) 2003, Fernando Luis Cacciola Carballal. - Copyright (c) 2003 Gennaro Prota - Copyright (C) 2003 Gennaro Prota. - Copyright (c) 2003 Gerald I. Evenden - Copyright (c) 2003 Giovanni Bajo - Copyright (c) 2003 Gustavo Guerra - Copyright (c) 2003 Hartmut Kaiser - Copyright (c) 2003, Hartmut Kaiser - Copyright (c) 2003 Howard Hinnant - Copyright (c) 2003 Joel de Guzman - Copyright (c) 2003 Jonathan de Halleux - Copyright (c) 2003 Jonathan de Halleux (dehalleux@pelikhan.com) - Copyright (c) 2003 Martin Wille - Copyright (c) 2003 Paul Mensonides - Copyright (c) 2003 Peter Dimov - Copyright (c) 2003 Peter Dimov Distributed under the Boost - Copyright (c) 2003, The Regents of the University of California, throughLawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy) - Copyright (c) 2003, The Regents of the University of California, throughLawrence Berkeley National Laboratory (subject to receipt of any requiredapprovals from U.S. Dept. of Energy) - Copyright (c) 2003 Thomas Witt - Copyright (c) 2003 Vaclav Vesely - Copyright (C) 2003 Vesa Karvonen. - Copyright (c) 2003 Vladimir Prus. - Copyright (c) 2004 - Copyright (C) 2004, 2005 Arkadiy Vertleyb - Copyright (c) 2004-2005 CrystalClear Software, Inc. - Copyright (c) 2004-2005, Jean-Sebastien Roy (js@jeannot.org) - Copyright (C) 2004-2006 The Trustees of Indiana University. - Copyright (C) 2004-2008 The Trustees of Indiana University. - Copyright (C) 2004-2009 The Trustees of Indiana University. - Copyright (c) 2004 Angus Leeming - Copyright (C) 2004 Arkadiy Vertleyb - Copyright (c) 2004 CrystalClear Software, Inc. - Copyright (c) 2004 Daniel Wallin - Copyright (c) 2004 David M. Cooke - Copyright (c) 2004 Gerald I. Evenden - Copyright (c) 2004 Hartmut Kaiser - Copyright (c) 2004 Joel de Guzman - Copyright (c) 2004 John Maddock - Copyright (c) 2004 Jonathan Brandmeyer - Copyright (c) 2004 Kristopher Beevers - Copyright (C) 2004 Peder Holt - Copyright (c) 2004 Ralf Mattethat - Copyright (C) 2004 The Trustees of Indiana University. - Copyright (C) 2004 The Trustees of Indiana University. - Copyright (C) 2004 The Trustees of Indiana University - copyright (c) 2005 - Copyright (C) 2005-2006 Alain Miniussi . - Copyright (c) 2005-2006 Dan Marsden - Copyright (C) 2005, 2006 Douglas Gregor. - Copyright (C) 2005-2006 Douglas Gregor . - Copyright (C) 2005-2006 Douglas Gregor - Copyright (C) 2005, 2006 Douglas Gregor . - Copyright (C) 2005-2006 Douglas Gregor . - Copyright (c) 2005-2006 Joao Abecasis - Copyright (C) 2005-2006 The Trustees of Indiana University. - Copyright (c) 2005-2007 Dan Marsden - Copyright (C) 2005-2007 Peder Holt (VC 7.0 - Copyright (C) 2005-2008 Daniel James. - Copyright (c) 2005-2008 Hartmut Kaiser - Copyright (C) 2005-2008 The Trustees of Indiana University. - Copyright (C) 2005-2009 Jongsoo Park - Copyright (c) 2005-2010 Joel de Guzman - Copyright (C) 2005-2010 The Trustees of Indiana University. - Copyright (C) 2005-2011 Daniel James. - Copyright (c) 2005-2011 Joel de Guzman - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2013 Joel de Guzman - Copyright (c) 2005, 2014 Eric Niebler - Copyright (c) 2005-2015, Michele Simionato - Copyright (C) 2005-2016 Daniel James - Copyright (c) 2005-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com) - Copyright (c) 2005-2022, NumPy Developers.All rights reserved - Copyright (c) 2005 Aaron Windsor - Copyright (C) 2005 Arkadiy Vertleyb - Copyright (C) 2005 Arkadiy Vertleyb, Peder Holt. - Copyright (c) 2005 CrystalClear Software, Inc. - Copyright (c) 2005 Dan Marsden - Copyright (C) 2005 Douglas Gregor. - Copyright (c) 2005 Eric Niebler - Copyright (C) 2005 Eric Niebler - Copyright (C) 2005, Fernando Luis Cacciola Carballal. - Copyright (C) 2005 Igor Chesnokov, mailto:ichesnokov@gmail.com (VC 6.5,VC 7.1 - Copyright (c) 2005 Matthew Calabrese - Copyright (C) 2005 Peder Holt - Copyright (c) 2005 Peter Dimov. - Copyright (c) 2005 Peter Dimov - Copyright (c) 2005, Rasmus Munk Larsen, Stanford UniversityAll rights reserved - Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) - Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com - Copyright (c) 2006, 2007 Julio M. Merino Vidal - Copyright (c) 2006-2007 Matias Capeletto - Copyright (c) 2006-2007, Robert Hetland - Copyright (c) 2006-2007 Tobias Schwinger - Copyright (c) 2006-2008 Alexander Chemeris// // Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions are met:// - Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. - Copyright (c) 2006-2008 Johan Rade - Copyright (C) 2006-2009, 2012 Alexander Nasonov - Copyright (C) 2006-2009 Dmitry Bufistov and Andrey Parfenov - Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. - Copyright (C) 2006-2009 Johann C. Rocholl - Copyright (C) 2006, 2009 Marcin Kalicinski - Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. - Copyright (C) 2006-2010 The Trustees of Indiana University. - Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc. - Copyright (c) 2006-2013 The University of Colorado Denver. All rights reserved. - Copyright (c) 2006-7 John Maddock - Copyright (C) 2006 Arkadiy Vertleyb - Copyright (c) 2006 CrystalClear Software, Inc. - Copyright (c) 2006 Daniel Wallin - Copyright (c) 2006 Dan Marsden - Copyright (C) 2006 Douglas Gregor . - Copyright (C) 2006 Douglas Gregor - Copyright (c) 2006 Eric Niebler - Copyright (c) 2006 Joao Abecasis - Copyright (c) 2006 Johan Rade - Copyright (c) 2006 John Maddock - Copyright (c) 2006 Kirill Simonov - Copyright (c) 2006 Peter Dimov - Copyright (c) 2006 Piotr Wyderski - Copyright (c) 2006, Stephan Diederich - Copyright (c) 2006 Stephen Nutt - Copyright (C) 2006 Steven Watanabe (VC 8.0) - Copyright (c) 2006, Systems Optimization LaboratoryAll rights reserved - Copyright (C) 2006 The Trustees of Indiana University. - Copyright (C) 2006 Tiago de Paula Peixoto - Copyright (c) 2006 Tobias Schwinger - Copyright (C) 2006 Tobias Schwinger - Copyright (c) 2006 Tomas Puverle - Copyright (C) 2006 Trustees of Indiana University - Copyright (c) 2006 Xiaogang Zhang - Copyright (c) 2006 Xiaogang Zhang, 2015 John Maddock. - Copyright (c) 2006 Xiaogang Zhang, 2015 John Maddock - Copyright (c) 2007, 2008, 2012 Peter Dimov - Copyright (c) 2007, 2008, Damian Eads - Copyright (c) 2007, 2008, Damian Eads. All rights reserved - Copyright (c) 2007, 2008 Peter Dimov - Copyright (C) 2007-2008 Steven Watanabe - Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker - Copyright (c) 2007-2008 Tobias Schwinger - Copyright (c) 2007-2009 Ben Hanson (http://www.benhanson.net/) - Copyright (c) 2007-2009: Joachim Faulhaber - Copyright (C) 2007-2009 Steven Watanabe - Copyright (c) 2007-2010: Joachim Faulhaber - Copyright (C) 2007-2010 Steven Watanabe - Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007-2011 Hartmut Kaiser - Copyright (c) 2007-2011: Joachim Faulhaber - Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007-2012: Joachim Faulhaber - Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007, 2013 John Maddock - Copyright (c) 2007, 2013 Peter Dimov - Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007, 2014 Peter Dimov - Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007-2016 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007-2017 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2007-2020 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (C) 2007-8 Anthony Williams - Copyright (C) 2007-9 Anthony Williams - Copyright (C) 2007 Alexey Baskakov - Copyright (c) 2007 Cybozu Labs, Inc. - Copyright (c) 2007, Damian Eads. All rights reserved - Copyright (c) 2007 Dan Marsden - Copyright (C) 2007 Douglas Gregor - Copyright (C) 2007 Douglas Gregor - Copyright (C) 2007 Douglas Gregor and Matthias Troyer - Copyright (C) 2007 Douglas Gregor - Copyright (C) 2007 Free Software Foundation, Inc. - Copyright (C) 2007 Hartmut Kaiser - Copyright (c) 2007 Joel de Guzman - Copyright (c) 2007 John Maddock - Copyright (c) 2007, John Travers - Copyright (C) 2007 Marcin Kalicinski - Copyright (C) 2007 Matthias Troyer - Copyright (C) 2007 Matthias Troyer - Copyright (C) 2007 Peder Holt - Copyright (c) 2007 Peter Dimov - Copyright (c) 2007 - S - Copyright (C) 2007 The Trustees of Indiana University. - Copyright (c) 2007 Tobias Schwinger - Copyright (C) 2007, Tobias Schwinger. - Copyright (C) 2007 Trustees of Indiana University - Copyright (C) 2008, 2009, 2016 Tim Blechmann, based on code by Cory Nelson - Copyright (c) 2008-2009 Ben Hanson - Copyright (c) 2008-2009 Ben Hanson (http://www.benhanson.net/) - Copyright (c) 2008-2009 Ben Hanson\n"; - Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. - Copyright (c) 2008-2009 Frank Mori Hess - Copyright (c) 2008-2009: Joachim Faulhaber - Copyright (C) 2008, 2009 Michael Trier and contributors, 2010-2015 Sebastian Thiel" - Copyright (C) 2008, 2009 Michael Trier and contributorsAll rights reserved - Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributorsmccabe 0.7.0 pypi:mccabe/0.7.0 - Copyright (c) 2008, 2009 Peter Dimov - Copyright (c) 2008-2010: Joachim Faulhaber - Copyright (c) 2008-2010 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2008-2011 Bruno Lalande, Paris, France. - Copyright (C) 2008-2011 Daniel James. - Copyright (c) 2008-2011 Hartmut Kaiser - Copyright (c) 2008-2011 Hartmut Kaiser\n"; - Copyright (c) 2008-2011: Joachim Faulhaber - Copyright (c) 2008, 2011 Peter Dimov - Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2008-2012 Bruno Lalande, Paris, France. - Copyright (c) 2008-2012: Joachim Faulhaber - Copyright (c) 2008-2012 Simonson Lucanus. - Copyright (c) 2008-2013 Bruno Lalande, Paris, France. - Copyright (C) 2008-2013 Tim Blechmann - Copyright (c) 2008-2014 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2008-2014 Bruno Lalande, Paris, France. - Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2008-2015 Bruno Lalande, Paris, France. - Copyright (C) 2008-2016 Daniel James. - Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. - Copyright (C) 2008-2016 Tim Blechmann - Copyright (C) 2008, 2016 Tim Blechmann - Copyright (c) 2008-2017 Bruno Lalande, Paris, France. - Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc. - Copyright (C) 2008-2018 Lorenzo Caminiti - Copyright (c) 2008, 2018 Peter Dimov - Copyright (C) 2008-2019 Lorenzo Caminiti - Copyright (c) 2008 Beman Dawes - Copyright (C) 2008 Damian Eads - Copyright (C) 2008 Eric Niebler. - Copyright (c) 2008 Federico J. Fernandez. - Copyright (c) 2008 Frank Mori Hess - Copyright (c) 2008 Gerald I. Evenden - Copyright (c) 2008 Ilya Sokolov, Boris Schaeling - Copyright (C) 2008 Ion Gaztanaga - Copyright (c) 2008 Michael Marcin - Copyright (c) 2008 Peter Dimov - Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) - Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) - Copyright (C) 2008 Steven Watanabe - Copyright (c) 2009 - Copyright (c) 2009-2009: Joachim Faulhaber - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2009-2010: Joachim Faulhaber - Copyright (c) 2009-2010, Marco Guazzone - Copyright (c) 2009-2010 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) - Copyright (c) 2009-2011 Christopher Schmidt - Copyright (c) 2009, 2011 Helge Bahmann - Copyright (c) 2009-2011: Joachim Faulhaber - Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - Copyright (c) 2009-2011 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (C) 2009-2012 Lorenzo Caminiti - Copyright (c) 2009-2012, Marco Guazzone - Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - Copyright (c) 2009-2012 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2009-2013 Mateusz Loskot, London, UK. - Copyright (C) 2009-2013 Tim Blechmann - Copyright (C) 2009-2014 Florent Xicluna - Copyright (c) 2009-2014 Mateusz Loskot, London, UK. - Copyright (c) 2009-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - Copyright (c) 2009, 2015 Peter Dimov - Copyright (c) 2009-2017 Mateusz Loskot, London, UK. - Copyright (c) 2009-2017 The MathJax Consortium - Copyright (c) 2009-2020 Vladimir Batov. - Copyright (C) 2009 Andrew Sutton - Copyright (c) 2009 Ben Hanson (http://www.benhanson.net/) - Copyright (c) 2009 Boris Schaeling - Copyright (c) 2009 Carl Barron - Copyright (c) 2009 Chris Hoeppler - Copyright (c) 2009 Christopher Schmidt - Copyright (c) 2009 Francois Barel - Copyright (c) 2009 Frank Mori Hess - Copyright (C) 2009 Free Software Foundation, Inc. - Copyright (c) 2009, Gunter Winkler - Copyright (c) 2009 Hartmut Kaiser - Copyright (c) 2009 Hartmut Kaiser - Copyright (c) 2009 Helge Bahmann - Copyright (c) 2009 John Maddock - Copyright (c) 2009, Marco Guazzone - Copyright (c) 2009, Motorola, Inc - Copyright (C) 2009 Pauli Virtanen - Copyright (C) 2009, Pauli Virtanen - Copyright (c) 2009 Peter Dimov - Copyright (c) 2009 Phil Endecott - Copyright (C) 2009 Sebastian Redl - Copyright (c) 2009, Spirent Communications, Inc. - Copyright (C) 2009 Steven Watanabe - Copyright (C) 2009 Trustees of Indiana University - Copyright (c) 2009 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2010-2010: Joachim Faulhaber - Copyright (c) 2010-2011 Bryce Lelbach - Copyright (c) 2010-2011 Christopher Schmidt - Copyright (c) 2010-2011 David Bellot - Copyright (c) 2010-2011: Joachim Faulhaber - Copyright (C) 2010, 2011 Sebastian Thiel and contributorsAll rights reserved - Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors - Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributorsGitPython 3.1.43 pypi:GitPython/3.1.43 - Copyright (c) 2010-2011 Thomas Heller - Copyright (C) 2010-2011 Tim Blechmann - Copyright (c) 2010-2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2010 2015 Francisco Jos - Copyright (c) 2010-2017 The MathJax Consortium - Copyright (C) 2010-2019 Max-Planck-SocietyAll rights reserved - Copyright (C) 2010 - 2019 ridiculous_fish, - Copyright (C) 2010-2020 Max-Planck-Society - Copyright (c) 2010 Alfredo Correa - Copyright (c) 2010 Artyom Beilis (Tonkikh) - Copyright (c) 2010 Athanasios Iliopoulos - Copyright (c) 2010 Bryce Lelbach - Copyright (c) 2010 Bryce Lelbach - Copyright (c) 2010 Christopher Schmidt - Copyright (C) 2010 David Fong and Michael Saunders - Copyright (c) 2010 Eric Jourdanneau, Joel Falcou - Copyright (c) 2010 Eric Niebler - Copyright (c) 2010 Eric Niebler - Copyright (c) 2010 Felipe Tanus, Boris Schaeling - Copyright (c) 2010 Helge Bahmann - Copyright (c) 2010 Ilya Murav - Copyright (c) 2010 - Jordi Guti - Copyright (c) 2010 Matthias Walter (xammy@xammy.homelinux.net) - Copyright (c) 2010 Neil Groves - Copyright (c) 2010 Nuovation System Designs, LLC// Grant Erickson - Copyright (C) 2010 Paul A. Bristow added Doxygen comments. - Copyright (C) 2010 Peder Holt - Copyright (c) 2010 Thomas Heller - Copyright (c) 2010 Thomas P. Robitaille - Copyright (C) 2010 Tim Blechmann - Copyright (c) 2010 Wolfgang Hoermann and Josef Leydold - Copyright (c) 2011 - Copyright (c) 2011-2011: Joachim Faulhaber - Copyright (c) 2011-2012 - Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2011-2012 Bruno Lalande, Paris, France. - Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling - Copyright (c) 2011, 2012 Martin Lambers - Copyright (c) 2011-2012 Mateusz Loskot, London, UK. - Copyright (c) 2011-2012 Thomas Bernard - Copyright (C) 2011-2012 Vicente J. Botet Escriba - Copyright (c) 2011-2012 Wolfgang Hoermann and Josef Leydold - Copyright (C) 2011-2013, 2016 Tim Blechmann - Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2013 Andrew Hundt. - Copyright (C) 2011-2013 Vicente J. Botet Escriba - Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2014, The OpenBLAS Project All rights reserved - Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2015 Akira Takahashi - Copyright (c) 2011-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2011-2015 The MathJax Consortium - Copyright (c) 2011-2016 Adam Wulkiewicz, Lodz, Poland. - Copyright (C) 2011, 2016 Tim Blechmann - Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2017 The MathJax Consortium - Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2019 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2011-2020 Antony Polukhin - Copyright (c) 2011 Aaron Graham - Copyright (c) 2011 Boris Schaeling (boris@highscore.de) - Copyright (c) 2011 Brandon Kohn - Copyright (c) 2011 Bryce Lelbach - Copyright (c) 2011 Bryce Lelbach - Copyright (c) 2011 Bryce Lelbach - Copyright (c) 2011 Christopher Jefferson - Copyright (c) 2011 Emil Dotchevski - Copyright (c) 2011 Eric Niebler - Copyright (c) 2011 Hartmut Kaiser - Copyright (c) 2011 Helge Bahmann - Copyright (C) 2011 J - Copyright (c) 2011 Jamboree - Copyright (c) 2011 Jan Frederick Eick - Copyright (c) 2011 Jeff Flinn, Boris Schaeling - Copyright (c) 2011 John Maddock - Copyright (c) 2011 OpenStack Foundation - Copyright (c) 2011 Paul A. Bristow comments - Copyright (c) 2011 Paul A. Bristow - filename changes for boost-trunk. - Copyright (c) 2011 Paul A. Bristow incorporated Boost.Math - Copyright (c) 2011 Paul A. Bristow To incorporate into Boost.Math - Copyright (c) 2011 Steven Watanabe - Copyright (c) 2011 Thomas Bernard - Copyright (c) 2011 Thomas Heller - Copyright (c) 2011 Thomas Heller - Copyright (C) 2011 Tim Blechmann - Copyright (C) 2011 Vicente J. Botet Escriba - Copyright (c) 2012-2012 Andrii Sydorchuk. - Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. - Copyright (C) 2012-2013 Vicente J. Botet Escriba - Copyright (c) 2012 - 2014, 2017 Andrey Semashev - Copyright (c) 2012 - 2014 Andrey Semashev - Copyright (c) 2012-2014 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2012-2014 Bruno Lalande, Paris, France. - Copyright (c) 2012-2014 Kohei Takahashi - Copyright (c) 2012-2014 Mateusz Loskot, London, UK. - Copyright (c) 2012-2015 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2012-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2012-2020 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2012-2020 Antony Polukhin - Copyright (c) 2012-2020 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (C) 2012 Anthony Williams - Copyright (c) 2012 Artyom Beilis (Tonkikh) - Copyright (c) 2012 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2012 Boris Schaeling - Copyright (c) 2012 Bruno Lalande, Paris, France. - Copyright (C) 2012 David Stone - Copyright (C) 2012 Flavio De Lorenzi (fdlorenzi@gmail.com) - Copyright (c) 2012 Google Inc. - Copyright (c) 2012 Hartmut Kaiser - Copyright (c) 2012 Kohei Takahashi - Copyright (C) 2012 Lorenzo Caminiti - Copyright (c) 2012 Martin Raspaud - Copyright (c) 2012 Massachusetts Institute of Technology - Copyright (c) 2012 Mateusz Loskot, London, UK. - Copyright (C) 2012, Michele Caini. - Copyright (c) 2012 Nathan Ridge - Copyright (c) 2012 Oswin Krause - Copyright (c) 2012 Paul A. Bristow - Copyright (c) 2012 Paul Fultz II - Copyright (C) 2012 Pieter Bastiaan Ober (Integricom). - Copyright (c) 2012 Robert Ramey - Copyright (c) 2012 Tim Blechmann - Copyright (C) 2012 Vicente J. Botet Escriba - Copyright (c) 2013-2014, 2020 Andrey Semashev - Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland - Copyright (c) 2013-2014 Agustin Berge - Copyright (c) 2013 - 2014 Andrey Semashev - Copyright (c) 2013-2014 Damien Buhl - Copyright (c) 2013-2014 Ion Gaztanaga - Copyright (c) 2013-2014 Kyle Lutz - copyright (c) 2013-2014, Oracle and/or its affiliates. - copyright (c) 2013, 2014 Oracle and/or its affiliates. - Copyright (C) 2013-2014 Vicente J. Botet Escriba - Copyright (C) 2013,2014 Vicente J. Botet Escriba - Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland - Copyright (c) 2013-2015 Kyle Lutz - copyright (c) 2013-2015, Oracle and/or its affiliates. - Copyright (c) 2013-2017 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2013-2017 Adam Wulkiewicz, Lodz, Poland - copyright (c) 2013-2017 Oracle and/or its affiliates. - copyright (c) 2013-2017, Oracle and/or its affiliates. - Copyright (c) 2013-2017 The MathJax Consortium - Copyright (c) 2013 - 2018, 2020 Andrey Semashev - copyright (c) 2013-2018 Oracle and/or its affiliates. - copyright (c) 2013-2018, Oracle and/or its affiliates. - copyright (c) 2013-2019 Oracle and/or its affiliates. - copyright (c) 2013-2019, Oracle and/or its affiliates. - Copyright (c) 2013 - 2020 Andrey Semashev - Copyright (c) 2013-2020 Antony Polukhin. - Copyright (c) 2013-2020 Antony Polukhin - copyright (c) 2013-2020 Oracle and/or its affiliates. - copyright (c) 2013-2020, Oracle and/or its affiliates. - copyright (c) 2013-2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2013-2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland - Copyright (c) 2013 Agustin Berge - Copyright (c) 2013 Anton Bikineev - Copyright (c) 2013 Antony Polukhin // Move semantics implementation. - Copyright (c) 2013 Antony Polukhin // Move semantics implementation. - Copyright (C) 2013 Association of Universities for Research in Astronomy - Copyright (c) 2013 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2013 Bruno Lalande, Paris, France. - Copyright (c) 2013 Carl Barron - Copyright (c) 2013 Christopher Kormanyos - Copyright (C) 2013 Eurodecision - Copyright (c) 2013 Hewlett-Packard Development Company, L.P. - Copyright (C) 2013 Jakob Lykke Andersen, University of Southern Denmark// (jlandersen@imada.sdu.dk) - Copyright (c) 2013 Jamboree - Copyright (c) 2013 Joaquim Duran - Copyright (c) 2013 John Maddock, Antony Polukhin// - Copyright (C) 2013 Kenneth L. Ho - Copyright (c) 2013 Kyle Lutz - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2013 Mateusz Loskot, London, UK. - Copyright (c) 2013 New Dream Network, LLC (DreamHost) - copyright (c) 2013, Oracle and/or its affiliates. - Copyright (c) 2013 Paul A. Bristow // Doxygen comments changed. - Copyright (c) 2013 Paul A. Bristow // Doxygen comments changed for new version of documentation. - Copyright (C) 2013 Pauli Virtanen - Copyright (c) 2013 Peter Dimov - Copyright (C) 2013 Sebastian Redl - Copyright (c) 2013 Testrepository Contributors - Copyright (c) 2013 Tim Blechmann - Copyright (C) 2013 Vicente J. Botet Escriba - Copyright (c) 2014, 2015, 2016, 2017 Jarryd Beck - Copyright (c) 2014,2015,2018 Kohei Takahashi - Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland - Copyright (C) 2014, 2015 Andrzej Krzemienski. - Copyright (c) 2014-2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2014-2015 Bruno Lalande, Paris, France. - Copyright (c) 2014-2015 John Fletcher - Copyright (c) 2014-2015 Kohei Takahashi - Copyright (c) 2014-2015 Mateusz Loskot, London, UK. - copyright (c) 2014-2015 Oracle and/or its affiliates. - Copyright (c) 2014-2015, Oracle and/or its affiliates. - Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - Copyright (C) 2014-2015 Vicente J. Botet Escriba - Copyright (C) 2014-2016 Andrzej Krzemienski. - Copyright (C) 2014-2016 Ian Lee - Copyright (c) 2014-2016 Oracle and/or its affiliates. - Copyright (c) 2014-2017 Adam Wulkiewicz, Lodz, Poland. - copyright (c) 2014-2017 Oracle and/or its affiliates. - copyright (c) 2014-2017, Oracle and/or its affiliates. - Copyright (c) 2014-2017, Oracle and/or its affiliates. - Copyright (c) 2014-2017 The MathJax Consortium - Copyright (C) 2014-2017 Vicente J. Botet Escriba - Copyright (c) 2014, 2018, 2019, Oracle and/or its affiliates. - Copyright (c) 2014-2018, 2020 Andrey Semashev - Copyright (c) 2014-2018 Adam Wulkiewicz, Lodz, Poland. - Copyright (C) 2014 - 2018 Andrzej Krzemienski. - Copyright (c) 2014,2018 Kohei Takahashi - copyright (c) 2014-2018 Oracle and/or its affiliates. - copyright (c) 2014-2018, Oracle and/or its affiliates. - copyright (c) 2014, 2018, Oracle and/or its affiliates. - Copyright (c) 2014-2018 Oracle and/or its affiliates. - Copyright (c) 2014-2018, Oracle and/or its affiliates. - Copyright (c) 2014, 2018, Oracle and/or its affiliates. - Copyright (c) 2014, 2019, 2020 Oracle and/or its affiliates. - Copyright (c) 2014, 2019 Andrey Semashev - copyright (c) 2014-2019 Oracle and/or its affiliates. - copyright (c) 2014-2019, Oracle and/or its affiliates. - copyright (c) 2014, 2019, Oracle and/or its affiliates. - Copyright (c) 2014-2019, Oracle and/or its affiliates. - Copyright (c) 2014, 2019, Oracle and/or its affiliates. - Copyright (c) 2014-2020 Andrey Semashev - Copyright (c) 2014, 2020 Andrey Semashev - Copyright (c) 2014-2020 Antony Polukhin - copyright (c) 2014-2020 Oracle and/or its affiliates. - copyright (c) 2014-2020, Oracle and/or its affiliates. - Copyright (c) 2014-2020 Oracle and/or its affiliates. - Copyright (c) 2014-2020, Oracle and/or its affiliates. - copyright (c) 2014-2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2014-2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - copyright (c) 2014-2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - copyright (c) 2014-2020, Oracle and/or its affiliates.// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2014 Agustin Berge - Copyright (C) 2014 Agustin Berge - Copyright (c) 2014 Ahmed Charles - Copyright (c) 2014 Andrey Semashev - Copyright (C) 2014 Andrey Semashev - Copyright (C) 2014, Andrzej Krzemienski. - Copyright (c) 2014, Athanasios Iliopoulos - Copyright (c) 2014 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2014 Bruno Lalande, Paris, France. - Copyright (c) 2014 Christoph Weiss - Copyright (c) 2014 Eric Niebler - Copyright (C) 2014 Erik Erlandson - Copyright (c) 2014 Glen Fernandes - Copyright (c) 2014 Glen Joseph Fernandes// (glenjofe@gmail.com) - Copyright (c) 2014 Glen Joseph Fernandes// (glenjofe@gmail.com) - Copyright (C) 2014 Glen Joseph Fernandes// (glenjofe@gmail.com) - Copyright (C) 2014 Ian Forbed - Copyright (c) 2014 Jamboree - Copyright (c) 2014 Joel de Guzman - Copyright (c) 2014 Joel de Guzman - Copyright (c) 2014 John Fletcher - Copyright (c) 2014 John Fletcher - Copyright (c) 2014 Kohei Takahashi - Copyright (c) 2014 Lee Clagett - Copyright (c) 2014 Mageswaran.D - Copyright (c) 2014 Mateusz Loskot, London, UK. - Copyright (c) 2014 Mathjax Consortium - Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) - copyright (c) 2014 Oracle and/or its affiliates. - copyright (c) 2014, Oracle and/or its affiliates. - Copyright (c) 2014, Oracle and/or its affiliates. - Copyright (c) 2014 Paul Fultz II - Copyright (c) 2014 Peter Dimov - Copyright (C) 2014 Pieter Bastiaan Ober (Integricom). - Copyright (c) 2014 Riccardo Marcangelo - Copyright (c) 2014 Roshan - Copyright (c) 2014 Samuel Debionne, Grenoble, France. - Copyright (c) 2014 Thomas Bernard - Copyright (c) 2014 Tomoki Imai - Copyright (C) 2014 Vicente J. Botet Escriba - Copyright (c) 2015-2016 Barend Gehrels, Amsterdam, the Netherlands. - copyright (c) 2015-2016 Oracle and/or its affiliates. - copyright (c) 2015-2016, Oracle and/or its affiliates. - Copyright (c) 2015-2016 Oracle and/or its affiliates. - Copyright (C) 2015 - 2017 Andrzej Krzemienski. - Copyright (c) 2015-2017 Martin Hensel - copyright (c) 2015-2017 Oracle and/or its affiliates. - copyright (c) 2015-2017, Oracle and/or its affiliates. - Copyright (c) 2015-2017, Oracle and/or its affiliates. - Copyright (c) 2015-2017 The MathJax Consortium - Copyright (C) 2015-2018 Andrzej Krzemienski. - copyright (c) 2015-2018, Oracle and/or its affiliates. - copyright (c) 2015, 2018, Oracle and/or its affiliates. - Copyright (c) 2015-2018 Oracle and/or its affiliates. - Copyright (c) 2015-2018, Oracle and/or its affiliates. - copyright (c) 2015-2019 Oracle and/or its affiliates. - copyright (c) 2015-2019, Oracle and/or its affiliates. - Copyright (c) 2015-2019 Vinnie Falco (vinnie dot falco at gmail dot com) - Copyright (c) 2015-2020 Antony Polukhin - Copyright (c) 2015-2020 Barend Gehrels, Amsterdam, the Netherlands. - copyright (c) 2015-2020 Oracle and/or its affiliates. - copyright (c) 2015-2020, Oracle and/or its affiliates. - Copyright (c) 2015-2020 Oracle and/or its affiliates. - Copyright (c) 2015-2020, Oracle and/or its affiliates. - copyright (c) 2015-2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2015-2020, Oracle and/or its affiliates.// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2015 Agustin K-ballo Berge - Copyright (c) 2015 Andrey Semashev - Copyright (C) 2015 Andrzej Krzemienski. - Copyright (c) 2015 Artyom Beilis (Tonkikh) - Copyright (c) 2015 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2015 Francisco Jos - Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP) - Copyright (c) 2015 Ion Gaztanaga - Copyright (c) 2015 Jakub Pola - Copyright (c) 2015 Jakub Szuppe - Copyright (c) 2015 John Fletcher - Copyright (c) 2015 John Maddock - Copyright (c) 2015 Kohei Takahashi - Copyright (c) 2015 Mario Lang - Copyright (c) 2015 Muhammad Junaid Muzammil - copyright (c) 2015 Oracle and/or its affiliates. - copyright (c) 2015, Oracle and/or its affiliates. - Copyright (c) 2015 Oracle and/or its affiliates. - Copyright (c) 2015, Oracle and/or its affiliates. - Copyright (c) 2015, Oracle and/or its affiliates.// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle// - Copyright (c) 2015 Orson Peters This software is provided - Copyright (c) 2015 Orson Peters// This software is provided - Copyright (c) 2015 Paul Fultz II - Copyright (C) 2015, Pauli Virtanen - Copyright (c) 2015 Robert Ramey - Copyright (C) 2015 Sebastian Redl - Copyright (c) 2015 Seth Heeren - Copyright (C) 2015 Vicente J. Botet Escriba - Copyright (c) 2016--2017 Felix Lenders - Copyright (c) 2016-2017, Oracle and/or its affiliates. - Copyright (c) 2016-2017 The MathJax Consortium - Copyright (C) 2016-2018 ERGO-Code - copyright (c) 2016-2018 Oracle and/or its affiliates. - Copyright (c) 2016-2018 Oracle and/or its affiliates. - Copyright (c) 2016, 2018 Oracle and/or its affiliates. - Copyright (C) 2016-2018 T. Zachary Laine - Copyright (c) 2016-2019 Damian Jarek (damian dot jarek93 at gmail dot com) - Copyright (C) 2016-2019 ERGO-Code - Copyright (C) 2016 - 2019 Kim Walisch, - Copyright (C) 2016 - 2019 Kim Walisch, This software is provided - copyright (c) 2016-2019, Oracle and/or its affiliates. - Copyright (c) 2016-2019 Oracle and/or its affiliates. - Copyright (c) 2016-2019 Viktor Kirilov - Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com) - Copyright (c) 2016-2020 Antony Polukhin - copyright (c) 2016-2020 Oracle and/or its affiliates. - copyright (c) 2016-2020, Oracle and/or its affiliates. - Copyright (c) 2016-2020 Oracle and/or its affiliates. - Copyright (c) 2016-2020, Oracle and/or its affiliates. - Copyright (C) 2016 Andrzej Krzemienski. - Copyright (C) 2016 Andrzej Krzemienski - Copyright (c) 2016 Barrett Adair - Copyright (c) 2016 Francisco Jos - Copyright(c) 2016 Francisco Jos - Copyright (c) 2016 Francisco Jose Tapia (fjtapia@gmail.com )\n - Copyright(c) 2016 Francisco Jose Tapia (fjtapia@gmail.com )\n - Copyright (c) 2016 Frank Hein, maxence business consulting gmbh - Copyright (c) 2016 Jakub Szuppe - Copyright (c) 2016 Klemens D. Morgenstern - Copyright (C) 2016 K. Noel Belcourt . - Copyright (c) 2016 Kohei Takahashi - Copyright (c) 2016 Kohei Takahashi - Copyright (c) 2016 Lee Clagett - Copyright (c) 2016 Modified Work Barrett Adair - Copyright (c) 2016 Norbert Wenzel - copyright (c) 2016 Oracle and/or its affiliates. - copyright (c) 2016, Oracle and/or its affiliates. - Copyright (c) 2016 Oracle and/or its affiliates. - Copyright (c) 2016, Oracle and/or its affiliates. - Copyright (c) 2016 Paul Fultz II - Copyright (c) 2016 Peter Dimov - Copyright (c) 2016 Wenzel Jakob , All rights reserved - Copyright (C) 2017 - Copyright (c) 2017-2017 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2017-2018 Alexandr Poltavsky, Antony Polukhin. - Copyright (c) 2017 - 2018 Andrey Semashev - Copyright (c) 2017-2018 Chris Beck - Copyright (c) 2017, 2018 James E. King III - copyright (c) 2017-2018 Oracle and/or its affiliates. - copyright (c) 2017-2018, Oracle and/or its affiliates. - Copyright (c) 2017-2018 Oracle and/or its affiliates. - Copyright (c) 2017-2018, Oracle and/or its affiliates. - copyright (c) 2017-2019, Oracle and/or its affiliates. - copyright (c) 2017, 2019 Oracle and/or its affiliates. - copyright (c) 2017, 2019, Oracle and/or its affiliates. - Copyright (c) 2017-2019 Oracle and/or its affiliates. - Copyright (c) 2017-2019, Oracle and/or its affiliates. - Copyright (c) 2017, 2019 Oracle and/or its affiliates. - copyright (c) 2017-2020 Oracle and/or its affiliates. - copyright (c) 2017-2020, Oracle and/or its affiliates. - Copyright (c) 2017-2020 Oracle and/or its affiliates. - Copyright (c) 2017-2020, Oracle and/or its affiliates. - copyright (c) 2017-2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2017-2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2017 Andrey Semashev - Copyright (C) 2017 Andrzej Krzemienski. - Copyright (c) 2017 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (C) 2017 Daniela Engert - Copyright (c) 2017 Denis Demidov - Copyright (c) 2017 Dynatrace - Copyright (c) 2017 Francisco Jos - Copyright (c) 2017 Francisco Jose Tapia (fjtapia@gmail.com )\n - Copyright (C) 2017 Glen Joseph Fernandes (glenjofe@gmail.com) - Copyright (c) 2017 James E. King III - Copyright (C) 2017 James E. King III - Copyright (c) 2017 John Maddock - Copyright (c) 2017 Klemens D. Morgenstern - Copyright (c) 2017 Kohei Takahashi - Copyright (c) 2017 Kristian Popov - Copyright (C) 2017 Michel Morin. - copyright (c) 2017 Oracle and/or its affiliates. - copyright (c) 2017, Oracle and/or its affiliates. - Copyright (c) 2017 Oracle and/or its affiliates. - Copyright (c) 2017, Oracle and/or its affiliates. - Copyright (c) 2017 Robert Ramey - Copyright (c) 2017 Vinnie Falco (vinnie dot falco at gmail dot com) - Copyright (c) 2018-2019 - Copyright (c) 2018-2019 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2018-2019, Cem Bassoy, cem.bassoy@gmail.com - Copyright (c) 2018-2019 ERGO-Code. See license.txt for license. - copyright (c) 2018-2019, Oracle and/or its affiliates. - copyright (c) 2018, 2019, Oracle and/or its affiliates. - Copyright (c) 2018-2019 Oracle and/or its affiliates. - Copyright (c) 2018-2019, Oracle and/or its affiliates. - Copyright (c) 2018-2020 Antony Polukhin - Copyright (c) 2018-2020 Emil Dotchevski and Reverge Studios, Inc. - copyright (c) 2018-2020 Oracle and/or its affiliates. - copyright (c) 2018-2020, Oracle and/or its affiliates. - Copyright (c) 2018-2020 Oracle and/or its affiliates. - Copyright (c) 2018-2020, Oracle and/or its affiliates. - copyright (c) 2018-2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2018-2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2018-2021 ERGO-Code - Copyright (c) 2018 Adam Butcher, Antony Polukhin - Copyright (c) 2018 Adam Wulkiewicz, Lodz, Poland. - Copyright (c) 2018 Adeel Ahmad, Islamabad, Pakistan. - Copyright (c) 2018 agate-pris - Copyright (C) 2018 Alain Miniussi . - Copyright (C) 2018 Alain Miniussi . - Copyright (c) 2018 Andrey Semashev - Copyright (c) 2018 Artyom Beilis (Tonkikh) - Copyright (c) 2018, Cem Bassoy, cem.bassoy@gmail.com - Copyright (c) 2018 ERGO-Code. See license.txt for license. - Copyright (c) 2018 Evgeny Shulgin - Copyright (c) 2018 Fady Essam - Copyright (c) 2018 Jakub Szuppe - Copyright (c) 2018 James E. King III - Copyright (c) 2018 Klemens D. Morgenstern - Copyright (c) 2018 Kohei Takahashi - copyright (c) 2018 Oracle and/or its affiliates. - copyright (c) 2018, Oracle and/or its affiliates. - Copyright (c) 2018 Oracle and/or its affiliates. - Copyright (c) 2018, Oracle and/or its affiliates. - copyright (c) 2018 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (C) 2018 Peter Dimov - Copyright (c) 2018, Quansight-LabsAll rights reserved - Copyright (c) 2018 Sergei Fedorov - Copyright (c) 2018 Stefan Seefeld - Copyright (c) 2018 Sylvain Gubian , - Copyright (c) 2018 Yaghyavardhan Singh Khangarot, Hyderabad, India.// Contributed and/or modified by Yaghyavardhan Singh Khangarot,// as part of Google Summer of Code 2018 program. - Copyright (c) 2018 Yi Ji - Copyright (c) 2019-2019 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2019 - 2020 Alexander Grund - Copyright (c) 2019-2020 Alexander Grund - Copyright (c) 2019-2020 Antony Polukhin. - Copyright (c) 2019-2020 Antony Polukhin - Copyright (c) 2019-2020 Krystian Stasiowski (sdkrystian at gmail dot com) - copyright (c) 2019-2020 Oracle and/or its affiliates. - Copyright (c) 2019-2020, Oracle and/or its affiliates. - Copyright (C) 2019-2020 Peter Bell - Copyright (c) 2019-2023 Anthon van der Neut, Ruamel bvba - Copyright (c) 2019 agate-pris - Copyright (c) 2019 Andrey Semashev - Copyright (c) 2019 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2019 Damian Jarek(damian.jarek93@gmail.com) - Copyright (c) 2019 Dario Menendez, Banco Santander - Copyright (c) 2019 Joel de Guzman - Copyright (c) 2019 Klemens D. Morgenstern - Copyright (C) 2019 Max-Planck-Society - Copyright (c) 2019 Mika Fischer (mika.fischer@zoopnet.de) - copyright (c) 2019 Oracle and/or its affiliates. - Copyright (c) 2019 Oracle and/or its affiliates. - Copyright (c) 2019, Oracle and/or its affiliates. - Copyright (C) 2019 Peter Bell - Copyright (c) 2019 Peter Dimov (pdimov at gmail dot com),// Vinnie Falco (vinnie.falco@gmail.com) - Copyright (C) 2019 T. Zachary Laine - Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com) - Copyright (c) 2020 - Copyright (c) 2020 Alexander Grund - Copyright (c) 2020 Andrey Semashev - Copyright (c) 2020 Barend Gehrels, Amsterdam, the Netherlands. - Copyright (c) 2020 Caian Benedicto, Campinas, Brazil. - Copyright (c) 2020, Debabrata Mandal - Copyright (c) 2020 Digvijay Janartha, Hamirpur, India. - Copyright (c) 2020 Jeff Trull - Copyright (c) 2020 John Maddock - Copyright (c) 2020 Krystian Stasiowski (sdkrystian at gmail dot com) - Copyright (c) 2020 Krystian Stasiowski (sdkrystian@gmail.com) - Copyright (c) 2020 Michael Feldmeier - Copyright (c) 2020 Nikita Kniazev - copyright (c) 2020 Oracle and/or its affiliates. - copyright (c) 2020, Oracle and/or its affiliates. - Copyright (c) 2020, Oracle and/or its affiliates. - copyright (c) 2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - copyright (c) 2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2020 Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (c) 2020, Oracle and/or its affiliates.// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - Copyright (C) 2020 Red Hat, Inc.pycodestyle 2.11.1 pypi:pycodestyle/2.11.1 - Copyright (c) 2020 Richard Hodges (hodges.r@gmail.com) - Copyright (c) 2020 Vinnie Falco (vinnie.falco@gmail.com) - Copyright (c) 2021-04-21 St - Copyright (c) 2021 ERGO-Code - Copyright (c) 2021 Orson Peters - Copyright (c) 2021 Orson Peters - Copyright (c) 2021 Taneli Hukkinen - Copyright (c) 2021 Taneli Hukkinen - Copyright (c) 2022 Alex Grgitdb 4.0.11 pypi:gitdb/4.0.11 - Copyright (c) 2022 ERGO-Code under MIT licence terms\n"); - Copyright (c) 2022 Two Blue Cubes Ltd. All rights reserved - Copyright (c) 2106 Klemens D. Morgenstern - Copyright (c) Aaron Windsor 2007 - Copyright (c) Alexander Zaitsev , 2017. - Copyright (c) Alexander Zaitsev , 2016 - Copyright (c) Alexander Zaitsev , 2017 - Copyright (c) Andrey Semashev 2017 - Copyright Catch2 Authors - Copyright (c) Beman Dawes 2011 - Copyright (c) Beman Dawes 2015 - Copyright (C) Benjamin Sobotta 2012 - Copyright (c) Charles Karney (2008-2017) and licensed - Copyright (c) Chris Glover, 2016. - Copyright (C) Christof Meerwald 2003 - Copyright (c) Christopher Diggins 2005 - Copyright (C) Damian Eads, 2007-2008. New BSD License. - Copyright (C) Dan Watkins 2003 - Copyright (c) David Abrahams 2001. - Copyright (c) Donald Stufft and individual contributors. - Copyright (c) Donald Stufft and individual contributors.All rights reserved - Copyright (c) Douglas Gregor 2004 - Copyright (C) Douglas Gregor 2008 - copyright: * * Cephes Math Library Release 2.8: June, 2000 - Copyright (c) Glen Joseph Fernandes 2019 (glenjofe@gmail.com) - Copyright Charly Chevalier 2015 - Copyright Christoper Kohlhoff 2007 - Copyright Christopher Brown 2013 - Copyright Christopher Kormanyos 2002 - 2011. - Copyright Christopher Kormanyos 2002 - 2013. - Copyright Christopher Kormanyos 2013. - Copyright Christopher Kormanyos 2013-14 - Copyright Christopher Kormanyos 2013. Distributed under the Boost - Copyright Christopher Kormanyos 2014. - Copyright (c) Intel Corporation 2008. - Copyright (c) Jeremy Siek 2001 - Copyright (c) Jeremy Siek 2001-2003. - Copyright (c) Jeremy Siek 2001, Marc Wintermantel 2002 - Copyright (c) Kevlin Henney 2001 - Copyright (c) Marshall Clow 2008-2012. - Copyright (c) Marshall Clow 2010-2012. - Copyright (c) Marshall Clow 2011-2012. - Copyright (c) Marshall Clow 2012-2012. - Copyright (c) Marshall Clow 2012-2015. - Copyright (c) Marshall Clow 2014. - Copyright (c) Marshall Clow 2017. - Copyright (c) Microsoft Corporation 2014 - Copyright \copyright\ 2014 by P.-G. Martinsson, V. Rokhlin,Y. Shkolnisky, and M. Tygert. - copyright: Copyright 2015 Jon Lund Steffensen. Based on extlinks by - Copyright (c) Pablo Aguilar 2005 - Copyright (C) Piers Lawrence. All rights reserved - Copyright Cromwell D. Enage 2013. - Copyright Cromwell D. Enage 2017. - Copyright Cromwell D. Enage 2018. - Copyright Cromwell D. Enage 2019. - Copyright (c) Thomas Witt 2002. - Copyright (c) Tobias Schwinger - Copyright (C) Tyler Reddy, Ross Hemsley, Edd Edmondson, - Copyright (c) T. Zachary Laine 2018. - Copyright (C) Vladimir Prus 2003. - Copyright (C) Vladimir Prus 2003 - Copyright (c) - Copyright (c) , All rights reserved - Copyright Daniel Trebbien 2010. - Copyright Daniel Walker 2006. Use, modification and distribution - Copyright Daniel Walker 2007 - Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012. - Copyright Daniel Wallin 2005. - Copyright Daniel Wallin 2005. Use, modification and distribution is - Copyright Daniel Wallin 2006. - Copyright Daniel Wallin 2006. Use, modification and distribution is - Copyright Daniel Wallin 2007. Use, modification and distribution is - Copyright Daniel Wallin, David Abrahams 2005. - Copyright Daniel Wallin, David Abrahams 2010. - Copyright Daryle Walker, Hubert Holin, John Maddock 2006 - 2007 - Copyright Dave Abrahams 2001-2002 - Copyright David Abrahams 2000-2002 - Copyright David Abrahams 2001. - Copyright David Abrahams 2001 - Copyright David Abrahams 2001-2002 - Copyright David Abrahams 2002. - Copyright David Abrahams 2002 - Copyright David Abrahams 2002-2003 - Copyright David Abrahams 2002, Joel de Guzman, 2002. - Copyright David Abrahams 2002, Nikolay Mladenov 2007. - Copyright David Abrahams 2003. - Copyright David Abrahams 2003 - Copyright David Abrahams 2003-2004 - Copyright David Abrahams 2003. Use, modification and distribution is - Copyright David Abrahams 2004. - Copyright David Abrahams 2004 - Copyright David Abrahams 2004. Distributed under the Boost - Copyright David Abrahams 2004. Use, modification and distribution is - Copyright David Abrahams 2005. - Copyright David Abrahams 2005. Distributed under the Boost - Copyright David Abrahams 2006. - Copyright David Abrahams 2006. Distributed under the Boost - Copyright David Abrahams 2006. Original version - Copyright David Abrahams 2009. Distributed under the Boost - Copyright David Abrahams and Jeremy Siek 2003. - Copyright David Abrahams and Nikolay Mladenov 2003. - Copyright David Abrahams and Thomas Becker 2000-2006. - Copyright David Abrahams, Daniel Wallin 2003. - Copyright David Abrahams, Daniel Wallin 2005. - Copyright Dietmar Kuehl 2001 - Copyright Douglas Gregor 2001-2003. - Copyright Douglas Gregor 2001-2003. Use, modification and - Copyright Douglas Gregor 2001-2004. - Copyright Douglas Gregor 2001-2004. Use, modification and - Copyright Douglas Gregor 2001-2006 - Copyright Douglas Gregor 2002-2003. Use, modification and - Copyright Douglas Gregor 2002-2004. Use, modification and - Copyright Douglas Gregor 2003. Use, modification and - Copyright Douglas Gregor 2004. - Copyright Douglas Gregor 2004. Use, modification and - Copyright Emil Dotchevski 2007 - Copyright Eric Friedman 2002 - Copyright Eric Friedman 2002-2003 - Copyright Eric Friedman 2003 - Copyright Eric Niebler 2005. - Copyright Eric Niebler 2008 - Copyright Eric Niebler 2009 - Copyright Eric Niebler 2014 - Copyright Eric Niebler 2014. Use, modification and - Copyright Evan Miller 2020 - copyright follows: - copyright for code they wrote and submit for - Copyright for the original TNBC fortran routines: - Copyright for the original TNBC Fortran routines: - Copyright for the original version: - Copyright Frank Mori Hess 2007. - Copyright Frank Mori Hess 2007-2008. - Copyright Frank Mori Hess 2007-2008 - Copyright Frank Mori Hess 2007-2009. - Copyright Frank Mori Hess 2007-2009 - Copyright Frank Mori Hess 2007,2009. - Copyright Frank Mori Hess 2007-2010. - Copyright Frank Mori Hess 2007. Use, modification and - Copyright Frank Mori Hess 2008. - Copyright Frank Mori Hess 2009. - Copyright Frank Mori Hess 2009 - Copyright Franz Detro 2014 - Copyright Gautam Sewani - Copyright Gautam Sewani 2008 - copyright Gonzalo Brito Gadeschi 2015 - Copyright Gottfried Gan - Copyright Hans Dembinski 2020 - copyright header - copyright header in - copyright header in print (outfile); - Copyright header line 0 is at if ( - copyright header should be ignored - copyright header so stop ignoring lines - copyright header so write out the line - Copyright Howard Hinnant 2007-2010. - Copyright * * I hereby release this code into the PUBLIC DOMAIN AS IS. There is no - copyright information. - copyright information- HISTORY : Release history- README : This file- example.c : A simple example- Makefile : Make file used to build the examples- moduleTNC.c : the source of the python module - copyright is acknowledged./ - Copyright Jaap Suter 2003 - Copyright James E. King III, 2017 - Copyright Jan Langer 2002 - Copyright Jason Rhinelander 2016 - copyright Jason Rice 2016 - copyright Jason Rice 2017 - Copyright Jens Maurer 2000 - Copyright Jens Maurer 2000-2001 - Copyright Jens Maurer 2002 - Copyright Jens Maurer 2006 - Copyright Jens Maurer 2006-1011 - Copyright Jessica Hamilton 2014 - Copyright Jim Bosch 2010-2012. - Copyright Joel Falcou 2015 - Copyright John Maddock 2005. - Copyright John Maddock 2005-2006. - Copyright John Maddock 2005-2006, 2011. - Copyright John Maddock 2005-2008. - Copyright John Maddock 2006. - Copyright John Maddock 2006 - Copyright John Maddock 2006, 2007. - Copyright John Maddock 2006, 2007 - Copyright John Maddock 2006, 2007, 2012, 2014. - Copyright John Maddock 2006, 2010. - Copyright John Maddock 2006, 2011. - Copyright John Maddock 2006, 2012. - Copyright John Maddock 2006-7. - Copyright John Maddock 2006-7, 2013-14. - Copyright John Maddock 2007. - Copyright John Maddock 2007, 2014. - Copyright John Maddock 2007-8. - Copyright John Maddock 2008. - Copyright John Maddock 2008 - Copyright John Maddock 2008, 2012. - Copyright John Maddock 2009. - Copyright John Maddock 2009 - Copyright John Maddock 2010. - Copyright John Maddock 2010 - Copyright John Maddock 2010, 2012. - Copyright John Maddock 2011. - Copyright John Maddock 2012. - Copyright John Maddock 2012 - Copyright John Maddock 2013. - Copyright John Maddock 2013 - Copyright John Maddock 2014. - Copyright John Maddock 2015. - Copyright John Maddock 2015 - Copyright John Maddock 2016. - Copyright John Maddock 2017. - Copyright John Maddock 2018. - Copyright John Maddock, 2020 - Copyright John R. Bandela 2000-2002 - Copyright John R. Bandela 2001. - Copyright John R. Bandela 2001 - Copyright J.S. Roy (js@jeannot.org), 2002-2005 - Copyright Justinas Vygintas Daugmaudis 2010-2018 - Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved - Copyright Kevlin Henney, 2000-2005. - Copyright Kohei Takahashi 2012-2014. - Copyright Lingxi Li 2015. - Copyright Louis Dionne 2013 - copyright Louis Dionne 2013-2016 - copyright Louis Dionne 2013-2017 - Copyright Louis Dionne 2013-2017 - copyright Louis Dionne 2016 - Copyright Marco Guazzone 2014 - Copyright Matthew Pulver 2018 - 2019. - Copyright Michael Drexl 2005, 2006. - Copyright Nat Goodspeed - Copyright Nat Goodspeed 2014. - Copyright Neil Groves - Copyright Neil Groves 2003-2004. - Copyright Neil Groves 2007. - Copyright Neil Groves 2007. Use, modification and - Copyright Neil Groves 2009. - Copyright Neil Groves 2009. Use, modification and - Copyright Neil Groves 2009. Use, modification and distribution - Copyright Neil Groves 2010. Use, modification and - Copyright Neil Groves 2014. - Copyright Neil Groves 2014 - Copyright Neil Groves 2014. Use, modification and - Copyright Nicholas Thompson 2018 - Copyright Nick Thompson 2017. - Copyright Nick Thompson, 2017 - Copyright Nick Thompson, 2018 - Copyright Nick Thompson 2019. - Copyright Nick Thompson, 2019 - Copyright Nick Thompson, 2020 - Copyright Nick Thompson, John Maddock 2020 - Copyright Nikhar Agrawal 2013-14 - Copyright Nikolay Mladenov 2007. - Copyright Nuxi, https://nuxi.nl/ 2015. - Copyright ohn Maddock 2012 - Copyright Oliver Kowalke 2009. - Copyright Oliver Kowalke 2013. - Copyright Oliver Kowalke 2014. - Copyright Oliver Kowalke 2015. - Copyright Oliver Kowalke 2016. - Copyright Oliver Kowalke 2017. - Copyright Oliver Kowalke 2018. - Copyright Orson Peters 2017. - Copyright Paul A. Bristow - Copyright Paul A. Bristow 2006. - Copyright Paul A. Bristow 2006, 2007. - Copyright Paul A. Bristow 2006, 2007, 2009, 2010. - Copyright Paul A. Bristow 2006, 2007, 2012. - Copyright Paul A. Bristow 2006, 2007, 2012 - Copyright Paul A. Bristow 2006-2011. - Copyright Paul A. Bristow 2006, 2012, 2017. - Copyright Paul A. Bristow 2006-7. - Copyright Paul A. Bristow 2007. - Copyright Paul A. Bristow 2007. - Copyright Paul A. Bristow 2007 - Copyright Paul A. Bristow 2007, 2009. - Copyright Paul A. Bristow 2007, 2009 - Copyright Paul A. Bristow 2007, 2009, 2010, 2012. - Copyright Paul A. Bristow 2007, 2010. - Copyright Paul A. Bristow 2007, 2010, 2012, 2014. - Copyright Paul A. Bristow 2007, 2012. - Copyright Paul A. Bristow 2007, 2012. - Copyright Paul A. Bristow 2007, 2013-14. - Copyright Paul A. Bristow 2008, 2009. - Copyright Paul A. Bristow 2008, 2010. - Copyright Paul A. Bristow 2008, 2014. - Copyright Paul A. Bristow 2009, 2011 - Copyright Paul A. Bristow 2010. - Copyright Paul A. Bristow 2010 - Copyright Paul A. Bristow 2011, 2012. - Copyright Paul A. Bristow 2012. - Copyright Paul A. Bristow 2013. - Copyright Paul A. Bristow 2014. - Copyright Paul A. Bristow 2016, 2017, 2018. - Copyright Paul A. Bristow 2017. - Copyright Paul Bristow 2006, 2007. - Copyright Paul Bristow 2007. - Copyright Paul Bristow 2007, 2011. - Copyright Paul Bristow 2014. - Copyright Paul Mensonides 2003 - Copyright Pavol Droba 2002-2003. - Copyright Pavol Droba 2002-2003. Use, modification and - Copyright Pavol Droba 2002-2004. - Copyright Pavol Droba 2002-2006. - Copyright Peter Dimov 2000-2002 - Copyright Peter Dimov 2000-2003 - Copyright Peter Dimov 2001 - Copyright Peter Dimov 2001-2002 - Copyright Peter Dimov 2001-2003 - Copyright Peter Dimov 2017, 2018 - Copyright Peter Dimov 2017, 2018, 2020 - Copyright Peter Dimov 2019. - Copyright Peter Dimov and David Abrahams 2002. - Copyright Peter Dimov and Multi Media Ltd 2001, 2002 - copyright property. - Copyright Ralf W. Grosse-Kunstleve - Copyright Ralf W. Grosse-Kunstleve 2006. - Copyright Rene Rivera 2005-2016 - Copyright Rene Rivera 2008-2013 - Copyright Rene Rivera 2008-2015 - Copyright Rene Rivera 2008-2017 - Copyright Rene Rivera 2008-2019 - Copyright Rene Rivera 2011-2012 - Copyright Rene Rivera 2011-2015 - Copyright Rene Rivera 2012-2015 - Copyright Rene Rivera 2013 - Copyright Rene Rivera 2013-2015 - Copyright Rene Rivera 2014 - Copyright Rene Rivera 2014-2015 - Copyright Rene Rivera 2015 - Copyright Rene Rivera 2015-2016 - Copyright Rene Rivera 2015-2019 - Copyright Rene Rivera 2017 - Copyright Robert Ramey 2007. Changes made to permit// application throughout the serialization library. - Copyright Robin Eckert 2015. - Copyright Ruslan Baratov 2017 - Copyright Samuel Krempp 2003. - Copyright Samuel Krempp 2003. Use, modification, and distribution are - Copyright Sebastian Ramacher, 2007. - Copyright Sergey Krivonos 2017 - Copyright Shreyans Doshi 2017. - Copyright Shunsuke Sogame 2005-2006. - copyright-sign" - copyright sign","short":"copyright" - copyright sign",short:"copyright" - Copyright Stefan Seefeld 2005. - Copyright Stefan Seefeld 2016. - Copyright Steven J. Ross 2001 - 2009. - Copyright Steven J. Ross 2001 - 2014. - Copyright Steven J. Ross 2001 - 2014 - Copyright Steven J. Ross 2014 - Copyright Steven Watanabe 2009 - Copyright Steven Watanabe 2009-2011 - Copyright Steven Watanabe 2010 - Copyright Steven Watanabe 2010-2011 - Copyright Steven Watanabe 2011 - Copyright Steven Watanabe 2014 - Copyright Text: - Copyright Thijs van den Berg, 2008. - Copyright Thijs van den Berg 2014 - Copyright Thomas Mang 2012. - Copyright Thorsten Ottosen 2003-2004. Use, modification and - Copyright Thorsten Ottosen 2003-2005. Use, modification and - Copyright Thorsten Ottosen 2003-2006. Use, modification and - Copyright Thorsten Ottosen 2003-2007. Use, modification and - Copyright Thorsten Ottosen 2003-2008. Use, modification and - Copyright Thorsten Ottosen 2006. - Copyright Thorsten Ottosen 2006. Use, modification and - Copyright Thorsten Ottosen 2008. Use, modification and - Copyright Thorsten Ottosen, 2009. - Copyright Thorsten Ottosen, Neil Groves 2006 - 2008. Use, modification and - Copyright Thorsten Ottosen, Neil Groves 2006. Use, modification and - copyright : tiff_property_base< std::string, TIFFTAG_COPYRIGHT > - Copyright Timmo Stange 2007. - copyright to this source code. - Copyright uses reporting // settings defined in any options file. highs.passOptions(loaded_options); - Copyright Vicente J. Botet Escriba 2009 - Copyright Vicente J. Botet Escriba 2009-2011 - Copyright Vicente J. Botet Escriba 2010 - Copyright Vicente J. Botet Escriba 2012. - Copyright Vladimir Prus 2002. - Copyright Vladimir Prus 2002 - Copyright Vladimir Prus, 2002 - Copyright Vladimir Prus 2002-2004. - Copyright Vladimir Prus 2004. - copyright Xiaogang Zhang. - Copyright Xiaogang Zhang 2006 - Copyright © Ned Batchelder - (C) or column-major (Fortran) order. The function - (C) or column-major (Fortran) order. The function - (C) or diag(R)) for (i = 0; i < A->nrow; - (C) or diag(R)). if ( notran - (C) PI=3.141592653589793D0 A0=A A1=A X0=X HG=0.0D0C DLMF 13.2.39 IF (X.LT.0.0D0) THEN A=B-A A0=A X=DABS(X) - (C) Rasmus Munk Larsen, Stanford, 1999, 2004c - (C) Rasmus Munk Larsen, Stanford University, 1999, 2004c - (C) Rasmus Munk Larsen, Stanford University, 2000,2004c - (C) Rasmus Munk Larsen, Stanford University, 2000, 2004ccc - (C) Rasmus Munk Larsen, Stanford University, 2000,2004c subroutine csafescal(n,alpha,x)cc Scale the vector x by 1/alpha avoiding unnecessary under- and overflow.c - (C) Rasmus Munk Larsen, Stanford University, 2000,2004c subroutine dsafescal(n,alpha,x)cc Scale the vector x by 1/alpha avoiding unnecessary under- and overflow.c - (C) Rasmus Munk Larsen, Stanford University, 2000,2004c subroutine ssafescal(n,alpha,x)cc Scale the vector x by 1/alpha avoiding unnecessary under- and overflow.c - (C) Rasmus Munk Larsen, Stanford University, 2000,2004c subroutine zsafescal(n,alpha,x)cc Scale the vector x by 1/alpha avoiding unnecessary under- and overflow.c - (C) Rasmus Munk Larsen, Stanford University, 2000c - (C) Rasmus Munk Larsen, Stanford University, 2000c subroutine clearstat implicit none include - (C) Rasmus Munk Larsen, Stanford University, 2004c - (C) Rasmus Munk Larsen, Stanford University, March 2004. - (C) REG=1.0D0 IF (M - (C) REG=1.0D0 IF (M - (C) Ronny Pfannschmidt, Holger Krekel -- MIT licensed"""from __future__ import annotationsfrom typing import ( Callable, Iterator, Mapping, Optional, Tuple, TypeVar, Uniruamel.ya - (C) self.outputs = self.C.shape - (C) The data is in a single, C-style contiguous segment. F_CONTIGUOUS (F) The data is in a single, Fortran-style contiguous segment. OWNDATA (O) The array owns the - (C) The data is in a single, C-style contiguous segment. F_CONTIGUOUS (F) The data is in a single, Fortran-style contiguous segment. OWNDATA (O) The array owns the memo - (C)` to respect the signature of - (C) want = np.array( assert_equal(have, want) - (C) want = np.array( assert_equal(have, want) def test_for_equal_names(self):Packaging 24.0 pypi:packaging/24.0 - (C) * (y = 1. / sin(D)); ysmmap 5.0.1 pypi:smmap/5.0.1 psf-requests 2.32.3 pypi:requests/2.32.3 Copyright 2019 Kenneth Reitz copyright: (c) 2012 by Kenneth Reitz. @@ -5375,8 +2831,6 @@ SciPy 1.9.1 pypi:scipy/1.9.1 (C) * (y = 1. / sin(D)); y *= D * sin(lp_lat); } else x = y = 0.; if (this->m_proj_parm.mode == smmap 5.0.1 pypi:smmap/5.0.1 Copyright (C) 2010, 2011 Sebastian Thiel and contributorsAll rights reserved -tomli 2.0.1 pypi:tomli/2.0.1 - Copyright (c) 2021 Taneli Hukkinen voluptuous 0.15.2 pypi:voluptuous/0.15.2 Copyright (c) 2010, Alec ThomasAll rights reserved @@ -5384,7 +2838,7 @@ voluptuous 0.15.2 pypi:voluptuous/0.15.2 Licenses: Apache License 2.0 -(Packaging 24.1, pbr 6.1.0, powertrain-build 0.1.0, psf-requests 2.32.3) +(Packaging 24.1, pbr 6.1.0, powertrain-build 1.0.0, psf-requests 2.32.3) Apache License Version 2.0, January 2004 @@ -5634,34 +3088,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --- MIT License -(tomli 2.0.1) - -MIT License - -Copyright (c) 2021 Taneli Hukkinen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - ---- - -MIT License -(exceptiongroup 1.2.2, flake8 7.1.1, pycodestyle 2.12.1, Pyflakes 3.2.0, pytest 8.3.3, python-pluggy 1.5.0, python3-charset-normalizer 3.3.2, RonnyPfannschmidt/iniconfig 2.0.0, ruamel-yaml 0.18.6, ruamel.yaml.clib 0.2.8, urllib3 2.2.3) +(exceptiongroup 1.2.2, flake8 7.1.1, pycodestyle 2.12.1, Pyflakes 3.2.0, pytest 8.3.3, python-pluggy 1.5.0, python3-charset-normalizer 3.3.2, RonnyPfannschmidt/iniconfig 2.0.0, ruamel-yaml 0.18.6, ruamel.yaml.clib 0.2.8, tomli 2.0.2, urllib3 2.2.3) The MIT License =============== diff --git a/docs/images/target_link/action_name.png b/docs/images/target_link/action_name.png new file mode 100644 index 0000000..bfeef34 Binary files /dev/null and b/docs/images/target_link/action_name.png differ diff --git a/docs/images/target_link/autosar_name.jpg b/docs/images/target_link/autosar_name.jpg new file mode 100644 index 0000000..13e8ff1 Binary files /dev/null and b/docs/images/target_link/autosar_name.jpg differ diff --git a/docs/images/target_link/bus_inport.png b/docs/images/target_link/bus_inport.png new file mode 100644 index 0000000..739fdfd Binary files /dev/null and b/docs/images/target_link/bus_inport.png differ diff --git a/docs/images/target_link/bus_inport_member.png b/docs/images/target_link/bus_inport_member.png new file mode 100644 index 0000000..3ab454f Binary files /dev/null and b/docs/images/target_link/bus_inport_member.png differ diff --git a/docs/images/target_link/bus_outport.png b/docs/images/target_link/bus_outport.png new file mode 100644 index 0000000..d26999d Binary files /dev/null and b/docs/images/target_link/bus_outport.png differ diff --git a/docs/images/target_link/bus_outport_member.png b/docs/images/target_link/bus_outport_member.png new file mode 100644 index 0000000..c9f44f8 Binary files /dev/null and b/docs/images/target_link/bus_outport_member.png differ diff --git a/docs/images/target_link/bus_parameters.png b/docs/images/target_link/bus_parameters.png new file mode 100644 index 0000000..cf85d41 Binary files /dev/null and b/docs/images/target_link/bus_parameters.png differ diff --git a/docs/images/target_link/condition_name.png b/docs/images/target_link/condition_name.png new file mode 100644 index 0000000..354df06 Binary files /dev/null and b/docs/images/target_link/condition_name.png differ diff --git a/docs/images/target_link/device_name.png b/docs/images/target_link/device_name.png new file mode 100644 index 0000000..26df725 Binary files /dev/null and b/docs/images/target_link/device_name.png differ diff --git a/docs/images/target_link/did_table.PNG b/docs/images/target_link/did_table.PNG new file mode 100644 index 0000000..1ad932a Binary files /dev/null and b/docs/images/target_link/did_table.PNG differ diff --git a/docs/images/target_link/enum_constant.PNG b/docs/images/target_link/enum_constant.PNG new file mode 100644 index 0000000..fb28a2a Binary files /dev/null and b/docs/images/target_link/enum_constant.PNG differ diff --git a/docs/images/target_link/enum_constant_cal.PNG b/docs/images/target_link/enum_constant_cal.PNG new file mode 100644 index 0000000..6ec597b Binary files /dev/null and b/docs/images/target_link/enum_constant_cal.PNG differ diff --git a/docs/images/target_link/enum_constant_const.PNG b/docs/images/target_link/enum_constant_const.PNG new file mode 100644 index 0000000..ba41bee Binary files /dev/null and b/docs/images/target_link/enum_constant_const.PNG differ diff --git a/docs/images/target_link/enum_constant_var.PNG b/docs/images/target_link/enum_constant_var.PNG new file mode 100644 index 0000000..9e3ae6e Binary files /dev/null and b/docs/images/target_link/enum_constant_var.PNG differ diff --git a/docs/images/target_link/enum_inport.PNG b/docs/images/target_link/enum_inport.PNG new file mode 100644 index 0000000..dd0d881 Binary files /dev/null and b/docs/images/target_link/enum_inport.PNG differ diff --git a/docs/images/target_link/example_name.png b/docs/images/target_link/example_name.png new file mode 100644 index 0000000..2a91ab8 Binary files /dev/null and b/docs/images/target_link/example_name.png differ diff --git a/docs/images/target_link/fid_table.PNG b/docs/images/target_link/fid_table.PNG new file mode 100644 index 0000000..fffc8f7 Binary files /dev/null and b/docs/images/target_link/fid_table.PNG differ diff --git a/docs/images/target_link/function_block.jpg b/docs/images/target_link/function_block.jpg new file mode 100644 index 0000000..6fdce70 Binary files /dev/null and b/docs/images/target_link/function_block.jpg differ diff --git a/docs/images/target_link/function_block.png b/docs/images/target_link/function_block.png new file mode 100644 index 0000000..3aaca22 Binary files /dev/null and b/docs/images/target_link/function_block.png differ diff --git a/docs/images/target_link/nvm_block_example.PNG b/docs/images/target_link/nvm_block_example.PNG new file mode 100644 index 0000000..50b29e3 Binary files /dev/null and b/docs/images/target_link/nvm_block_example.PNG differ diff --git a/docs/images/target_link/nvm_concept.jpg b/docs/images/target_link/nvm_concept.jpg new file mode 100644 index 0000000..bd0a143 Binary files /dev/null and b/docs/images/target_link/nvm_concept.jpg differ diff --git a/docs/images/target_link/propertyman.png b/docs/images/target_link/propertyman.png new file mode 100644 index 0000000..40382f1 Binary files /dev/null and b/docs/images/target_link/propertyman.png differ diff --git a/docs/images/target_link/propertyman_2.png b/docs/images/target_link/propertyman_2.png new file mode 100644 index 0000000..18734f9 Binary files /dev/null and b/docs/images/target_link/propertyman_2.png differ diff --git a/docs/images/target_link/sf_double.png b/docs/images/target_link/sf_double.png new file mode 100644 index 0000000..83337de Binary files /dev/null and b/docs/images/target_link/sf_double.png differ diff --git a/docs/images/target_link/sf_inherit.png b/docs/images/target_link/sf_inherit.png new file mode 100644 index 0000000..bb1f4f1 Binary files /dev/null and b/docs/images/target_link/sf_inherit.png differ diff --git a/docs/images/target_link/stateflow_wiki.png b/docs/images/target_link/stateflow_wiki.png new file mode 100644 index 0000000..5321519 Binary files /dev/null and b/docs/images/target_link/stateflow_wiki.png differ diff --git a/docs/images/target_link/structure.png b/docs/images/target_link/structure.png new file mode 100644 index 0000000..0853dc0 Binary files /dev/null and b/docs/images/target_link/structure.png differ diff --git a/docs/images/target_link/tab_idx_edit_index_calc.jpg b/docs/images/target_link/tab_idx_edit_index_calc.jpg new file mode 100644 index 0000000..109beac Binary files /dev/null and b/docs/images/target_link/tab_idx_edit_index_calc.jpg differ diff --git a/docs/images/target_link/tab_idx_edit_lib_ref.jpg b/docs/images/target_link/tab_idx_edit_lib_ref.jpg new file mode 100644 index 0000000..49b85e9 Binary files /dev/null and b/docs/images/target_link/tab_idx_edit_lib_ref.jpg differ diff --git a/docs/images/target_link/tab_idx_function.jpg b/docs/images/target_link/tab_idx_function.jpg new file mode 100644 index 0000000..91786b7 Binary files /dev/null and b/docs/images/target_link/tab_idx_function.jpg differ diff --git a/docs/images/target_link/tab_idx_output_format.jpg b/docs/images/target_link/tab_idx_output_format.jpg new file mode 100644 index 0000000..b0540cc Binary files /dev/null and b/docs/images/target_link/tab_idx_output_format.jpg differ diff --git a/docs/images/target_link/tab_idx_output_type.jpg b/docs/images/target_link/tab_idx_output_type.jpg new file mode 100644 index 0000000..3477ab2 Binary files /dev/null and b/docs/images/target_link/tab_idx_output_type.jpg differ diff --git a/docs/images/target_link/tab_idx_remove_var.jpg b/docs/images/target_link/tab_idx_remove_var.jpg new file mode 100644 index 0000000..e22932a Binary files /dev/null and b/docs/images/target_link/tab_idx_remove_var.jpg differ diff --git a/docs/images/target_link/tab_idx_search_method.jpg b/docs/images/target_link/tab_idx_search_method.jpg new file mode 100644 index 0000000..4c51597 Binary files /dev/null and b/docs/images/target_link/tab_idx_search_method.jpg differ diff --git a/docs/images/target_link/tab_int_settings.jpg b/docs/images/target_link/tab_int_settings.jpg new file mode 100644 index 0000000..af5f27f Binary files /dev/null and b/docs/images/target_link/tab_int_settings.jpg differ diff --git a/docs/images/target_link/tab_intp_edit_intp_calc.jpg b/docs/images/target_link/tab_intp_edit_intp_calc.jpg new file mode 100644 index 0000000..3239487 Binary files /dev/null and b/docs/images/target_link/tab_intp_edit_intp_calc.jpg differ diff --git a/docs/images/target_link/tab_intp_edit_lib_ref.jpg b/docs/images/target_link/tab_intp_edit_lib_ref.jpg new file mode 100644 index 0000000..ea71841 Binary files /dev/null and b/docs/images/target_link/tab_intp_edit_lib_ref.jpg differ diff --git a/docs/images/target_link/tab_intp_function.jpg b/docs/images/target_link/tab_intp_function.jpg new file mode 100644 index 0000000..777ee76 Binary files /dev/null and b/docs/images/target_link/tab_intp_function.jpg differ diff --git a/docs/images/target_link/tab_intp_remove_var.jpg b/docs/images/target_link/tab_intp_remove_var.jpg new file mode 100644 index 0000000..52f7d82 Binary files /dev/null and b/docs/images/target_link/tab_intp_remove_var.jpg differ diff --git a/docs/images/target_link/tab_intp_theory.jpg b/docs/images/target_link/tab_intp_theory.jpg new file mode 100644 index 0000000..89eec27 Binary files /dev/null and b/docs/images/target_link/tab_intp_theory.jpg differ diff --git a/docs/images/target_link/variable_cal_constant.jpg b/docs/images/target_link/variable_cal_constant.jpg new file mode 100644 index 0000000..73aafb9 Binary files /dev/null and b/docs/images/target_link/variable_cal_constant.jpg differ diff --git a/docs/images/target_link/variable_cal_map.jpg b/docs/images/target_link/variable_cal_map.jpg new file mode 100644 index 0000000..a99b84b Binary files /dev/null and b/docs/images/target_link/variable_cal_map.jpg differ diff --git a/docs/images/target_link/variable_cal_mergeable.jpg b/docs/images/target_link/variable_cal_mergeable.jpg new file mode 100644 index 0000000..a646d97 Binary files /dev/null and b/docs/images/target_link/variable_cal_mergeable.jpg differ diff --git a/docs/images/target_link/variable_cal_mergeable_example.jpg b/docs/images/target_link/variable_cal_mergeable_example.jpg new file mode 100644 index 0000000..f017d47 Binary files /dev/null and b/docs/images/target_link/variable_cal_mergeable_example.jpg differ diff --git a/docs/images/target_link/variable_cal_pre_look_up.jpg b/docs/images/target_link/variable_cal_pre_look_up.jpg new file mode 100644 index 0000000..18df758 Binary files /dev/null and b/docs/images/target_link/variable_cal_pre_look_up.jpg differ diff --git a/docs/images/target_link/variable_cal_table.jpg b/docs/images/target_link/variable_cal_table.jpg new file mode 100644 index 0000000..fade7c9 Binary files /dev/null and b/docs/images/target_link/variable_cal_table.jpg differ diff --git a/docs/images/target_link/variable_classes.PNG b/docs/images/target_link/variable_classes.PNG new file mode 100644 index 0000000..a61152f Binary files /dev/null and b/docs/images/target_link/variable_classes.PNG differ diff --git a/docs/images/target_link/variable_default.jpg b/docs/images/target_link/variable_default.jpg new file mode 100644 index 0000000..4c4c031 Binary files /dev/null and b/docs/images/target_link/variable_default.jpg differ diff --git a/docs/images/target_link/variable_default_constant.jpg b/docs/images/target_link/variable_default_constant.jpg new file mode 100644 index 0000000..a3e4af9 Binary files /dev/null and b/docs/images/target_link/variable_default_constant.jpg differ diff --git a/docs/images/target_link/variable_description.jpg b/docs/images/target_link/variable_description.jpg new file mode 100644 index 0000000..27554fb Binary files /dev/null and b/docs/images/target_link/variable_description.jpg differ diff --git a/docs/images/target_link/variable_external_constant.jpg b/docs/images/target_link/variable_external_constant.jpg new file mode 100644 index 0000000..eba3dcd Binary files /dev/null and b/docs/images/target_link/variable_external_constant.jpg differ diff --git a/docs/images/target_link/variable_inport.jpg b/docs/images/target_link/variable_inport.jpg new file mode 100644 index 0000000..94b2d8d Binary files /dev/null and b/docs/images/target_link/variable_inport.jpg differ diff --git a/docs/images/target_link/variable_measureable.jpg b/docs/images/target_link/variable_measureable.jpg new file mode 100644 index 0000000..945a27e Binary files /dev/null and b/docs/images/target_link/variable_measureable.jpg differ diff --git a/docs/images/target_link/variable_measureable_masked.jpg b/docs/images/target_link/variable_measureable_masked.jpg new file mode 100644 index 0000000..2fdd2ac Binary files /dev/null and b/docs/images/target_link/variable_measureable_masked.jpg differ diff --git a/docs/images/target_link/variable_measureable_min_max.jpg b/docs/images/target_link/variable_measureable_min_max.jpg new file mode 100644 index 0000000..ba50b3f Binary files /dev/null and b/docs/images/target_link/variable_measureable_min_max.jpg differ diff --git a/docs/images/target_link/variable_outport.jpg b/docs/images/target_link/variable_outport.jpg new file mode 100644 index 0000000..aceb941 Binary files /dev/null and b/docs/images/target_link/variable_outport.jpg differ diff --git a/docs/images/target_link/variable_properties.jpg b/docs/images/target_link/variable_properties.jpg new file mode 100644 index 0000000..dc3376a Binary files /dev/null and b/docs/images/target_link/variable_properties.jpg differ diff --git a/docs/images/target_link/variable_unique_constant.jpg b/docs/images/target_link/variable_unique_constant.jpg new file mode 100644 index 0000000..eafffb8 Binary files /dev/null and b/docs/images/target_link/variable_unique_constant.jpg differ diff --git a/docs/images/target_link/variable_vc_const.jpg b/docs/images/target_link/variable_vc_const.jpg new file mode 100644 index 0000000..72778b3 Binary files /dev/null and b/docs/images/target_link/variable_vc_const.jpg differ diff --git a/docs/powertrain_build.md b/docs/powertrain_build.md index 1f14f06..f031243 100644 --- a/docs/powertrain_build.md +++ b/docs/powertrain_build.md @@ -108,7 +108,7 @@ The powertrain_build wrapper has many options, we'll explain them in detail here system to powertrain_build. Once powertrain_build is officially in use, all source code should already have been converted. -`--codegen` Runs TargetLink to generate C source code from the Matlab models. +`--codegen` Runs [TargetLink](target_link/target_link.md) to generate C source code from the Matlab models. This should be done before changes are submitted for review. If the generated code is missing, the build system will reject your changes. diff --git a/docs/powertrain_build_architecture.md b/docs/powertrain_build_architecture.md index 6532dee..8707861 100644 --- a/docs/powertrain_build_architecture.md +++ b/docs/powertrain_build_architecture.md @@ -112,6 +112,8 @@ chapters. - Out ports which are reset when disabling a subsystem, which are used in subsystems under a pre-processor block. - Solution of TargetLink limitation is refactoring of models. +For more information about the TargetLink setup see [this page](target_link/target_link.md). + ### powertrain_build dependencies Python module dependency visualization from pydeps, diff --git a/docs/powertrain_build_introduction.md b/docs/powertrain_build_introduction.md index 3b516ef..40720ec 100644 --- a/docs/powertrain_build_introduction.md +++ b/docs/powertrain_build_introduction.md @@ -16,6 +16,15 @@ The basic code introduction is placed in [powertrain_build General Code Introduc Information on how to deploy powertrain_build can be found [here](./powertrain_build_deployment.md). +## powertrain_build and Code Generators + +powertrain_build collects code generated from Simulink models in Matlab. +powertrain_build was based on working with TargetLink but also supports Embedded Coder (if set up correctly). +powertrain_builds contains code for generating code from Simulink models, +which can be found in *powertrain_build/matlab_scripts* folder. + +For more information about the TargetLink setup see [this page](target_link/target_link.md). + ## powertrain_build Development If you want to develop powertrain_build, you can run it directly from the Git repositories. diff --git a/docs/target_link/custom_code_block.md b/docs/target_link/custom_code_block.md new file mode 100644 index 0000000..0b2b865 --- /dev/null +++ b/docs/target_link/custom_code_block.md @@ -0,0 +1,32 @@ +# TargetLink Custom Code Blocks + +------------------------------- + +[TOC] + +## The Custom Code Block + +The custom code block enables to easily insert custom written snippets of c code. + +Make sure to use a proper code review, as it is easy to cause underflow and overflow errors. +The usage of Polyspace Code Prover is advised. + +It could also be an idea to run Polyspace bugfinder. + +### Sharing the C Code + +By deploying the generated c code from the custom code blocks to a common folder, +it can be shared between simulink models (similarily to [shared TargetLink functions](./functions.md)). + +### Read the Manual + +There are some docs in the TargetLink documentation DSPace docs under: Custom Code Blocks. + +Also, there is a demo model, in the MATLAB Command Window, enter `tl_demos custom_blocks`. + +### Header Files + +Include Statements in Custom Code blocks should not be used, but replaced by "AddFile" blocks. + +This complies to MISRA rule 19.1. +Include directives which says that only preprocessor directives or comments may be placed before include directives. diff --git a/docs/target_link/diagnostics.md b/docs/target_link/diagnostics.md new file mode 100644 index 0000000..68d04d3 --- /dev/null +++ b/docs/target_link/diagnostics.md @@ -0,0 +1,277 @@ +# Diagnostics + +------------- + +[TOC] + +powertrain-build has two ways of handling diagnostics, depending on the use case. + +The code for finding the diagnostics blocks can be seen in +[parseCoreIdentifiers.m](https://opendev.org/volvocars/powertrain-build/src/branch/master/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m) +and +[parseDIDs.m](https://opendev.org/volvocars/powertrain-build/src/branch/master/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m). + +## Basics + +All functions that are asking the core permission to run need to have an ID – this is called a Function ID. +Permission to run can be withheld as a function of errors in the system, this is called Inhibition. +The relationship of which functions should be stopped for which faults (which are reported using an Event ID) is possible to calibrate. +Fail safes (Reconfigurations) use the same method/mechanism, but instead of stopping when an error is detected, they are activated. + +### DTCs + +An event ID is used for storing an event (Diagnostic Trouble Code (DTC)) in the Diagnostic Event Manager (DEM). +An event can be a detected fault, system not working according to specification or a placeholder where we might want to store additional information at the occurrence of the event. +The Stored events are DTCs when read with a tester. + +### DIDs + +DID is short for Data Identifier and is part of the Unified Diagnostic Services (UDS) protocol, +where it represents data items within an electronic control module (ECM) of a car. +DIDs can include things like sensor readings, actuator positions, and diagnostic trouble codes (DTCs). +DIDs are used to access and manipulate these data items through the UDS protocol, which allows for communication between diagnostic tools and the vehicle’s onboard computer. + +## Using CSV Files + +These files are generally stored in *\/ConfigDocuments* but +can also be stored in *\/Projects/\/ConfigDocuments*, however, +an update in *\/Projects/\/ProjectCfg.json* is required for the latter. + +### How to Define a Function ID Name + +* Add the FiD (Function Identifier) in the sheet *CoreIdNameDefinition_FunctionIDs.csv*. +* Enter in which projects this FiD is to be defined in the project columns.​ +* All FiDs shall have the prefix *VcFi*, and all Fail safes shall have the prefix *VcFiFs*. +* If a used FiD is not configured in the core, the project will not compile. + +![fid_table](../images/target_link/fid_table.PNG) + +### How to Add a Failsafe/Permission in a Model + +This requires a special setup. +The block needs to be named "FiM_GetFunctionPermission" in order for powertrain-build to pick it up. +To handle this functionality it is currently recommended that this block uses a +[custom code block](./custom_code_block.md) to handle the functionality, +depending on the target. + +A named constant is typically the input to this block. + +### How to Define an Event ID Name + +* Add the Event Id in the sheet *CoreIdNameDefinition_EventIDs.csv*. +* Enter in which projects these EvIds shall be defined in the project columns. +* All Event IDs shall have the prefix *VcEv*. +* If a used Event ID is not configured in the core, the project will not compile. + +The structure of this csv file is the same as the one for Function IDs. + +### How to Add Event Reporting in a Model + +This requires a special setup. +There are typically one block per event type. +For example "Dem_SetEventStatus – Pre-Failed" block for reporting faults, +"Dem_SetEventStatus – Pre-Passed" block for reporting test passed. +"Dem_SetEventStatus – Failed" and "Dem_SetEventStatus - Passed" are also possible. + +To handle this functionality it is currently recommended that this block uses a +[custom code block](./custom_code_block.md) to handle the functionality, +depending on the target. + +A named constant is typically the input to these blocks. + +### How to Define a DID + +powertrain-build can read a few DID files depending on the use case and the data type of the DIDs. +Parsed DID files include *DIDIds_Float32.csv*, *DIDIds_FullRange_Float32.csv*, *DIDIds_FullRange_UInt32.csv* and *DIDIds_UInt32.csv*. + +![did_table](../images/target_link/did_table.PNG) + +### How to Add a DID in a Model + +This requires a special setup. +In order to get powertrain-build to collect DIDs, +create a new mask called "DID", it can contain a simple inport followed by an outport block. + +### Generated DID Files + +In terms of DIDs, powertrain-build will generate two sets C code. +The first set, named *VcDidDefinitions.c/h*, defines the DIDs in a struct and maps them to their hex IDs. +The second set, named *VcDIDApi.c/h*, defines the functions for retrieving the DIDs. + +## Using YAML Files + +### How to Define an Event ID Name (YAML) + +Regarding Simulink blocks, the setup is the same as with [CSV files](#how-to-add-event-reporting-in-a-model). + +Additionally, metadata for DTCs need to be added to a DTC configuration file (*ConfigDocuments/DTCs.yaml*). + +The content of the file should be a yaml dictionary mapping DTCs to their corresponding hex value (event ID). + +Example of a DTC definition file: + +```yaml +{ + "VcModelDtcOne": 0x123ABC, + "VcModelDtcTwo": 0xABC123, + "VcModelDtcThree": 0xFFFFFF +} +``` + +powertrain-build will generate two files, *VcCoreSupplierAbstraction.c/h*. + +The header file maps the function e.g. `Dem_SetEventStatus(EventName, EventStatus)` (from a custom code block) +to a macro `VcCoreSupplierAbstraction_##EventName##_SetEventStatus(EventStatus)`. + +The source file will contain all required DTC functions which in turn call the functions available in the target. + +Example of *VcCoreSupplierAbstraction.h*: + +```c +#ifndef VCCORESUPPLIERABSTRACTION_H +#define VCCORESUPPLIERABSTRACTION_H + +/* Core API Supplier Abstraction */ + +#include "tl_types.h" +#include "Rte_LVC.h" + +/* enum EventStatus {passed=0, failed=1, prepassed=2, prefailed=3} */ +#define Dem_SetEventStatus(EventName, EventStatus) VcCoreSupplierAbstraction_##EventName##_SetEventStatus(EventStatus) + +#include "PREDECL_CODE_ASIL_D_START.h" +UInt8 VcCoreSupplierAbstraction_VcModelDtcOne_SetEventStatus(UInt8 EventStatus); +UInt8 VcCoreSupplierAbstraction_VcModelDtcTwo_SetEventStatus(UInt8 EventStatus); +UInt8 VcCoreSupplierAbstraction_VcModelDtcThree_SetEventStatus(UInt8 EventStatus); +#include "PREDECL_CODE_ASIL_D_END.h" + +#endif /* VCCORESUPPLIERABSTRACTION_H */ +``` + +Example of *VcCoreSupplierAbstraction.c*: + +```c +#include "VcCoreSupplierAbstraction.h" + +#include "CVC_CODE_ASIL_D_START.h" +UInt8 VcCoreSupplierAbstraction_VcModelDtcOne_SetEventStatus(UInt8 EventStatus) +{ + Rte_Call_DTC_123ABC_VcModelDtcOne_SetEventStatus(EventStatus); + return 0; +} + +UInt8 VcCoreSupplierAbstraction_VcModelDtcTwo_SetEventStatus(UInt8 EventStatus) +{ + Rte_Call_DTC_ABC123_VcModelDtcTwo_SetEventStatus(EventStatus); + return 0; +} + +UInt8 VcCoreSupplierAbstraction_VcModelDtcThree_SetEventStatus(UInt8 EventStatus) +{ + Rte_Call_DTC_FFFFFF_VcModelDtcThree_SetEventStatus(EventStatus); + return 0; +} + +#include "CVC_CODE_ASIL_D_END.h" +``` + +**NOTE:** each of the *Rte_Call_DTC_\** functions must be present in the target. + +### How to Define a DID (YAML) + +Regarding Simulink blocks, the setup is the same as with [CSV files](#how-to-add-a-did-in-a-model). + +Additionally, metadata for DIDs need to be added to a DID configuration file (*ConfigDocuments/DIDs.yaml*). +Add the name of the file to the projects *ProjectCfg.json* file, +by adding a new element `"didDefFile": "DIDs.yaml"` in the *ProjectInfo* section. + +There are six available function calls for each DID. + +* Read data function. +* Min and max read data functions. +* Condition check function. +* Min and max condition check functions. + +The metadata for each DID includes an ID and which of above functions should be generated or not including their respective data types. +Note that the same ID cannot be used for a function type more than once, as this would generate the same function call (overwrite). +There is one function type per DID function call, read_data, read_data_min, read_data_max, condition_check, condition_check_min and condition_check_max. The "nr_of_bytes" key is optional. + +Example of a DID definition file: + +```yaml +{ + "dummy_did_one": { + "id": "DA00", + "data_type": "uint8", + "nr_of_bytes": 1, + "function_type": "read_data" + }, + "dummy_did_two": { + "id": "DA00", + "data_type": "Dcm_NegativeResponseCodeType", + "function_type": "condition_check" + }, + "dummy_did_three": { + "id": "DA01", + "data_type": "uint8", + "function_type": "read_data_max" + } +} +``` + +powertrain-build will generate two files, *VcDIDAPI.c/h*. +It contains the generated functions for each DID, +based on the data from the DID definition file as well as the unit configuration json file. + +Example of *VcDIDAPI.h*: + +```c +#ifndef VCDIDAPI_H +#define VCDIDAPI_H + +#include "tl_basetypes.h" +#include "Rte_LVC.h" + +#include "PREDECL_DISP_ASIL_D_START.h" +extern CVC_DISP_ASIL_D Bool dummy_did_one; +extern CVC_DISP_ASIL_D Bool dummy_did_two; +extern CVC_DISP_ASIL_D Bool dummy_did_three; +#include "PREDECL_DISP_ASIL_D_END.h" + +#include "PREDECL_CODE_ASIL_D_START.h" +void DID_DA00_Runnable_ReadData(uint8 *Data); +void DID_DA00_Runnable_ConditionCheckRead(Dcm_NegativeResponseCodeType *ErrorCode); +void DID_DA01_Runnable_MAX_ReadData(uint8 *Data); +#include "PREDECL_CODE_ASIL_D_END.h" + +#endif /* VCDIDAPI_H */ +``` + +Example of *VcDIDAPI.c*: + +```c +#include "VcDIDAPI.h" + +#include "CVC_CODE_ASIL_D_START.h" +void DID_DA00_Runnable_ReadData(uint8 *Data) +{ + memcpy(Data, &dummy_did_one, 1); +} +void DID_DA00_Runnable_ConditionCheckRead(Dcm_NegativeResponseCodeType *ErrorCode) +{ + memcpy(ErrorCode, &dummy_did_two, sizeof(Dcm_NegativeResponseCodeType)); +} +void DID_DA01_Runnable_MAX_ReadData(uint8 *Data); +{ + memcpy(Data, &dummy_did_three, sizeof(uint8)); +} +#include "CVC_CODE_ASIL_D_END.h" +``` + +**NOTE:** these functions must be present in the target. + +## Notes + +See [generateYamlInterfaceFile](../project_config.md#generateYamlInterfaceFile), +which makes powertrain-build read different files and generates different versions of the files +*VcDIDApi.c/h* and *VcCoreSupplierAbstraction.h*. diff --git a/docs/target_link/enumerations.md b/docs/target_link/enumerations.md new file mode 100644 index 0000000..793bcb6 --- /dev/null +++ b/docs/target_link/enumerations.md @@ -0,0 +1,316 @@ +# TargetLink Enumerations + +------------------------- + +[TOC] + +As of TargetLink version 4.3, there is support for using enumerations in Simulink models and generated code. +This section describes how to use this new feature. + +## Defining an Enumeration + +All enumerations must be defined as Matlab classes, inheriting from the _Simulink.IntEnumType_ class. +These files should be placed in the same folder, e.g. _Models/Common/VcEnumDefinitions_. +This makes them easy to find and keep unique. +Unique enumeration definitions are required. +The name of the enumeration must match the name of the file. + +Matlab enumeration template: + +```matlab +classdef SomeEnumName < Simulink.IntEnumType + %SOMEENUMNAME SomeEnumName enumeration + + enumeration + MemberOne(0) + MemberTwo(1) + MemberThree(2) + end + + methods (Static) + function retVal = getDescription() + retVal = 'SomeEnumName'; + end + function retVal = getDefaultValue() + retVal = SomeEnumName.MemberOne; + end + function retVal = getDataScope() + retVal = 'Exported'; + end + function retVal = addClassNameToEnumNames() + retVal = true; + end + end +end +``` + +## Using an Enumeration + +When the enumeration is defined, it can be used in, for example, an inport or a constant block. +Many TargetLink blocks accept enumeration type inputs, such as _TL\_MultiPortSwitch_ and _TL\_RelationalOperator_. + +To get the enumeration in the code, the data type _IMPLICIT\_ENUM_ must be chosen in the _Type_ field, +in the TargetLink block. +Additionally, the name of the enumeration must be specified in the _Unit_ field in the TargetLink block, +together with the prefix "-,$". +For example, "-,$DtElecThermSt". +Signals must specify the quantity "\_Enm\_" in the name, e.g. _sVcModelName\_Enm\_Dummy_. + +### In- and Out-ports + +![TLEnumInport](../images/target_link/enum_inport.PNG) + +### Constants + +This sections provides examples for constants with different variable classes. + +#### Default + +This class only works on constants on the top most layer of the model. + +![enum_constant](../images/target_link/enum_constant.PNG) + +#### CVC_VAR + +This class generates the same code as the default class does. +There is no need for a name as the code produces pure string values. + +![enum_constant_var](../images/target_link/enum_constant_var.PNG) + +A CVC_VAR constant compared with an input of the same enumeration: + +```c +/* Relational: VcModelName/VcModelName/6_ControllerRequestForSecondRowWhenNotFourZoneCont + rol/Relational Operator2 */ +SModelName10___ional_Operator2 = CLIMACFGFORNROFTSETG_NROFTSETG2 == + sVcModelNameTwo_Enm_CatcCfgForNrOfTSetg; +``` + +#### CVC_CONST + +This class generates a constant. +The constant values does not come from the Matlab workspace, it does not exist in any \_par.m file. +Instead, it is loaded in the memory as a Simulink class after running _Init\_PyBuild.m_. + +![enum_constant_const](../images/target_link/enum_constant_const.PNG) + +A CVC_CONST constant compared with an input of the same enumeration: + +```c +if (cEnm_ClimaCfgForNrOfTSetg1_NrOfTSetg1 == sVcModelNameTwo_Enm_CatcCfgForNrOfTSetg) { + /* Switch: VcModelName/VcModelName/6_ControllerRequestForSecondRowWhenNotFourZoneCo + ntrol/Switch5 + # combined # Switch: VcModelName/VcModelName/7_ManualOverrideOfActuatorRequest/S + witch1 */ + SModelName11_Switch1 = SModelName9_Switch2[0]; +} +``` + +Definition: + +```c +CVC_CONST ClimaCfgForNrOfTSetg cEnm_ClimaCfgForNrOfTSetg1_NrOfTSetg1 = + CLIMACFGFORNROFTSETG_NROFTSETG1; /* + Unit: -,$ClimaCfgForNrOfTSetg + MIN/MAX: 0 .. 0 */ +``` + +#### CVC_CAL + +This class generates a calibratable constant. + +![enum_constant_cal](../images/target_link/enum_constant_cal.PNG) + +A CVC_CAL constant compared with an input of the same enumeration: + +```c +/* Relational: VcModelName/VcModelName/6_ControllerRequestForSecondRowWhenNotFourZoneCont + rol/Relational Operator1 */ +SModelName10___ional_Operator1 = sVcModelNameTwo_Enm_CatcCfgForNrOfTSetg == + cVcModelName_Enm_ClimaCfgForNrOfTSetg1_NrOfTSetg3; +} +``` + +Definition: + +```c +CVC_CAL ClimaCfgForNrOfTSetg cVcModelName_Enm_ClimaCfgForNrOfTSetg1_NrOfTSetg3 = + CLIMACFGFORNROFTSETG_NROFTSETG3; /* Unit: -,$ClimaCfgForNrOfTSetg */ +``` + +Note that the block name in this example starts with "Enm_". + +## Generated Files + +This section describes what happens when TargetLink generates source files. + +### Code + +When TargetLink generates code, it creates a new file, e.g. _udt\_ModelName.h_, +where it defines all enumerations which the model uses. +The text values of the enumeration members are used in the code. + +Code snippets: + +udt\_ModelName.h + +``` c +/**************************************************************************************************\ + *** + *** Simulink model : VcModelName_OPortMvd + *** TargetLink subsystem : VcModelName_OPortMvd/VcModelName + *** Codefile : udt_ModelName.h + *** + *** Generation date: 2020-11-30 16:10:50 + *** + *** TargetLink version : 4.3p3 from 16-Oct-2018 + *** Code generator version : Build Id 4.3.0.27 from 2018-09-24 17:55:03 +\**************************************************************************************************/ + +#ifndef UDT_MODELNAME_H +#define UDT_MODELNAME_H + +#include "tl_basetypes.h" + +typedef enum DtElecThermSt_tag { + DTELECTHERMST_DTELECCOOLG = 0, + DTELECTHERMST_DTELECPASCOOLG = 1, + DTELECTHERMST_DTELECHEATG = 2, + DTELECTHERMST_DTELECPASHEATG = 3, + DTELECTHERMST_DTELECACTVHEATG = 4, + DTELECTHERMST_DTELECPASACTVHEATG = 5, + DTELECTHERMST_DEGAS = 6, + DTELECTHERMST_FAILSAFE = 7 +} DtElecThermSt; /* Description: Enumeration type derived from Simulink type DtElecThermSt */ +``` + +VcModelName.h + +``` c +/**************************************************************************************************\ + CVC_EXT: CVC external interface input variables | Width: N.A. +\**************************************************************************************************/ +CVC_EXT DtElecThermSt sVcModelNameThree_Enm_DtElecThermSt; /* + Unit: -,$DtElecThermSt + Description: Electric drive coolant circuit thermal status: 'DtElecPasCoolg', 'DtElecPasHeatg', ' + DtElecPasActvHeatg', 'DtElecPas' */ +CVC_EXT HvBattThermSt sVcModelNameThree_Enm_HvBattThermSt; /* + Unit: -,$HvBattThermSt + Description: HV battery coolant circuit thermal status: 'HvBattOff', 'HvBattActvHeatgFromClima', + 'HvBattBal', 'HvBattActvCoolg', 'HvBattPasCoolg', 'HvBattPasActvCoolg', 'HvBattPasHeatg', 'HvBatt + PasActvHeatgFromClima', 'HvBattPasActvHeatgFromDtElec', 'HvBattPasActvHeatgFromDtElecAndClima' */ +``` + +VcModelName.c + +```c + /* Multiport switch: VcModelName/VcModelName/8_VlvCtrl/81_V1RadiatorBypassValveControl/ + MultiportSwitch3 */ + switch (sVcModelNameThree_Enm_DtElecThermSt) { + case DTELECTHERMST_DTELECPASHEATG: { + SModelName115_MultiportSwitch3 = 1; + break; + } + case DTELECTHERMST_DTELECPASACTVHEATG: { + SModelName115_MultiportSwitch3 = 1; + break; + } + default: { + SModelName115_MultiportSwitch3 = 0; + break; + } + } +``` + +### A2L Files + +The unit A2L-files are updated automatically with enumeration definitions. + +### JSON Configuration Files + +The data type of each enumeration type signal will be the name of the corresponding enumeration. +Note that the data type is set to _IMPLICIT\_ENUM_ in the TargetLink block. + +The default value of the enumeration will be inserted into the configuration file, +based on the return value of _getDefaultValue()_ in the enumeration definition m-file. + +## powertrain-build + +When powertrain-build builds a project, see [Detailed build options](../powertrain_build.md#detailed-build-options), +it will parse all _udt\_VcModel.h_ and json configuration files +in order to get information about used enumerations in the project. + +This information is used to: + +1. Make sure that the same model does not define the same enumeration twice. + 1. This is probably unnecessary. Two enumerations with the same name cannot exist in Simulink at the same time. +1. Make sure that two (or more) models does not define the same enumeration differently. + 1. This can occur if an enumeration definition is updated without updating generated files + based on the old definition. +1. Define missing enumeration type signals in _VcDummy\_spm.c/h_. + +Interface enumerations are also compared with the parsed project enumerations to make sure they are defined correctly. + +### Old default value extraction + +Below method was used before the default values were inserted into the json configuration file, during code generation. +It will stay as a fall back for a while, until all model-configuration files have been updated with the default value. + +To be able to extract the default values for each enumeration powertrain-build must know the path to the common enumeration class folder. +The path is set with the key "enumDefDir" in the _ProjectCfg.json_ file. + +```json +{ + "ConfigFileVersion": "0.2.1", + "BaseConfig" : "../../../ConfigDocuments/BaseConfig.json", + "ProjectInfo" : { + "yamlInterface": true, + "projConfig" : "Dummy", + "a2LFileName": "SPM.a2l", + "ecuSupplier" : "Dummy", + "ecuType" : "", + "unitCfgDeliveryDir": "./output/UnitCfgs", + "configDir": "ConfigDocuments", + "prjCodeswitches": "Codeswitch_Setup*.csv", + "commonSrcDir": "../../../Models/Common/pybuild_src", + "prjUnitSrcDir": "../../../Models/*/Vc*/pybuild_src", + "prjUnitCfgDir": "../../../Models/*/Vc*/pybuild_cfg", + "prjUnitMdlDir": "../../../Models/*/Vc*", + "enumDefDir": "../../../Models/Common/VcEnumDefinitions" + . + . + . +``` + +## Requirements + +* Enumerations must be defined as Matlab classes, inheriting from the _Simulink.IntEnumType_ class. +* Enumeration class files must have the same name as the enumeration it defines. +* Enumeration class files must be placed in a common folder. +* Enumerations are uniquely defined. +* To get the enumeration in the code, the data type _IMPLICIT\_ENUM_ must be selected in the TargetLink block. +* The name of the enumeration must be specified in the _Unit_ field in the TargetLink block, prefixed with "-,$". +* Signals must specify the quantity "\_Enm\_" in the name. +* Interface enumerations must be defined in the _interface\_data\_types.yml_ file, located in the _conf.local_ project folder. + +## Pitfalls + +When TargetLink generates the A2L-file, it must know the underlying data type to use. +The underlying data type is calculated based on the number of enumeration members and their values. +When powertrain-build parses the enumeration it does not know about the underlying data type. +Therefore, it must calculate the underlying data type too. This is done in a separate function. + +The underlying data type calculations are based on how the compiler would choose a fitting data type, +given an enumeration. The smallest underlying data type which can be chosen is an 8 bit integer, two bytes. +Some compilers may perform optimization using only one byte. If the software compiles enumerations using one byte, +while the A2L-files states they are two bytes, what will happen when calibrating the software? + +What is the underlying data type of enumerations entering an app? +CS software homepage (based on ARXML from a database?) seems to specify signed 8 bit integers. +Can this cause issues? + +## Summary + +* If one of the functions for calculating the underlying data type is changed, the other must be changed too. +* Potential software calibration issues, A2L versus compile sofware enumeration sizes. +* Actual data types of enumerations entering an app? diff --git a/docs/target_link/function_block.md b/docs/target_link/function_block.md new file mode 100644 index 0000000..df668d6 --- /dev/null +++ b/docs/target_link/function_block.md @@ -0,0 +1,88 @@ +# TargetLink Function Blocks + +----------------------------- + +[TOC] + +## Why​ + +To insert a function block in a subsystem will insert a function call in the C code generated from the model. +This will reduce the complexity numbers, increase testability and protect against memory problems if there is an interrupt​ and the function needs to be saved temporary to the memory. + +## How + +### ​Insert FUNCTION Block + +Insert a green FUNCTION block in the subsystem. +Double click the green block and set "Step function name" to `$N_$B` and "Init function name" to `INIT_$N_$B`. + +![function_block](../images/target_link/function_block.jpg) + +## Important Aspects in the Model + +There are two important aspects that need attention. + +### Signal Feedback​​​ + +When using feedback from a subfunction block to another subfunction of function in the model, +it is important to use the unit delay block when one uses function blocks. +Strangely one also needs a rename block after, since the unit delay block in this case can not have a readable signal configuration. + +### Model Output Signals + +Model output signals, prefix starting with *sVc* and *yVc*, needs to have copies that are local readables, +prefix *rVc* and *xVc*, otherwise they will be removed by the current code optimization. + +## Code Example + +``` c +Void VcModelName(Void) +{ + /* SLStaticLocalInit: Default storage class for static local variables with initvalue | Width: 8 + */ + static Bool X_SModelName2_UnitDelay1 = 0; + + /* call of function: VcModelName/VcModelName/2_SignalCalc */ + VcModelName_2_SignalCalc(); + + /* VcModelName/VcModelName/RenameSignal/InPort */ + xVcModelName_B_ConvEffCmplt = X_SModelName2_UnitDelay1; + + /* call of function: VcModelName/VcModelName/1_Entry */ + VcModelName_1_Entry(); + + /* call of function: VcModelName/VcModelName/3_Evaluation */ + VcModelName_3_Evaluation(); + + /* TargetLink outport: VcModelName/sVcModelName_rt_CnvnMeasd1 */ + sVcModelName_m_NoxUs = SModelName44_Switch; + + /* call of function: VcModelName/VcModelName/4_Judgement */ + VcModelName_4_Judgement(); + +​} +#include "MemMap_CVC_STOP.h" + +​ +/**************************************************************************************************\ + *** FUNCTION: + *** VcModelName_1_Entry + *** + *** DESCRIPTION: + *** + *** + *** PARAMETERS: + *** Type Name Description + *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *** + *** RETURNS: + *** Void + *** + *** SETTINGS: + *** +\**************************************************************************************************/ +#include "MemMap_CVC_START.h" + +Void VcModelName_1_Entry(Void) +{​ +``` diff --git a/docs/target_link/functions.md b/docs/target_link/functions.md new file mode 100644 index 0000000..02f6636 --- /dev/null +++ b/docs/target_link/functions.md @@ -0,0 +1,262 @@ +# TargetLink Look-up and Pre-lookup Functions + +--------------------------------------------- + +[TOC] + +Some of the model blocks generates specific c-functions. +Examples of this are the lockup and the pre-lockup blocks as well as shared-libray blocks (custom code generation units). +The functions were generated once as c/h-files at one given time and are now called when used by the model functions. +The files are located under `Models/Common/pybuild_src`. +The look-up table uses a table index function and a table interpolation function. +TargetLink offers different Look-up tables in the TL library (tllib). + +## Settings for Table Index Functions + +The table index function have a number of settings defining the input and output variable types, +the type of search mechanism for finding the index and output configuration. +All of these settings define a specific c-function. + +Examples of the settings and their meaning are given below. + +### Table Index Search Methods (excerpt from the dSPACE Help) + +* Linear search, start low. +`A linear search is implemented from the lowest end of the abscissa. The algorithm will go through the abscissa entries until a value higher than the input value is found. This search is simple and fast if the table is not too large.` +* Linear search, start high. +`A linear search is implemented from the highest end of the abscissa. The algorithm will go through the abscissa entries until a value lower than the input value is found. This search is simple and fast if the table is not too large.` +* Local search. +`The search starts at the index where the previous table value was found. Local searches can be slightly slower than linear searches due to the more complex code. This is recommended when the table inputs are smooth and do not change abruptly.` +* Binary search. +`The search area is divided into two halves, depending on whether the input value is in the upper or lower part. The iterations are repeated until the adjacent entries of the specified input value are found. This search is fast, especially in large tables, but the code is more complex.` + +![tab_idx_search_method](../images/target_link/tab_idx_search_method.jpg "Different index search methods") + +If the input data varies little or the change is smooth in relation to how often the function is calculated the `Local Search` is preferable. +E.g. temperatures, torques etc. + +### Output Configurations + +* Output only the index. +`Only the index signal is written to the block output. The block output is a scalar integer value in the range of the data type selected.` +* Separate output for index and fraction. +`Both the index and the fraction are written to the block output as separate signals. The block output is a vector with two elements, where the first element is the index and the second element is the fraction.` + +**Warning:** If the option `Output only the index` is chosen, only the table indices are output which will limit the resolution. +This may not be wanted if e.g. the output shall be use in an interpolation map afterwards. +The calculation resource is though reduced. + +![tab_idx_output_format](../images/target_link/tab_idx_output_format.jpg "Different output formats") + +### Variable Type Definitions + +Different variable data types are defined in the dSPACE data dictionary. +The most commonly used are `Float32, Unit32, Int32, UInt16, Int16, UInt8, Int8, Bool`. +The breakpoint type as well as the output type can be defined in the table index function. +The input type is also influencing the table index function. + +![tab_idx_output_type](../images/target_link/tab_idx_output_type.jpg "The variable type can chosen both in the breakpoint and output") + +**All the above settings decide the logic in the table index function.** + +## Settings for Table Interpolation Functions + +The interpolation function also have the same settings defining the input and output variable types as for table index functions +but it is also possible to define if interpolation shall be applied or not as well as dimension. +All of these settings define a specific c-function. +Examples of the settings and their meaning are given below. + +### Activating Interpolation + +The interpolation function is called only if interpolation is applied. +If deactivated, only an array in the code containing the indices is necessary. + +### Dimension of the Interpolation Table + +Defines the dimension of the table. 1D or 2D are supported. + +### Distances Between Table Entries Less Than Half of Implemented Range + +Targetlink provides the possibility to save memory if you can assure that the distance between the table entries are within the scaling range. +If the option is deactivated the targetlink will execute the interpolation calculation in double width of the operands, to avoid data loss. + +**WARNING: Activate with extreme care! When this is chosen, be aware that that calibration can change the table entries thereby causing e.g. an overflow.** + +```txt +Example +The difference between two Int16 numbers can be greater than the maximum number +which can be represented in Int16. +30000-(-30000)=60000 > 32767 +``` + +![tab_int_settings](../images/target_link/tab_int_settings.jpg "Different settings for the interpolation table") + +## Creation of New Index and Interpolation Tables + +Due to the different settings available there exists many table functions. +If a suitable table function is found it is re-used. + +A table function is re-used if: + +* Input/output data types are identical. +* The search algorithms are identical. +* Interpolation Using Prelookup blocks. + * Interpolation is on/off for all tables. + * The number of dimensions is identical. + * The distances between table entries less than half of implemented range checkbox is selected in the tables concerned. +* PreLook-Up Index Search blocks. + * breakpoint data (e.g. data type). + * The output configuration is identical. + +If any of the above conditions are different another table function is needed. +For many settings there already exists a generated table function. +They are allocated under `Models/Common/pybuild_src` but if a new setting is detected the c-code for the new function needs to be generated. + +In TargetLink 4.3 and onwards some of the operations needed in the index and interpolation tables have been integrated in TargetLink´s `Fixed Point Library`. +For example `DIV` (division), `MUL` (multiplication), `SHL` (shift left <<) or `SHR`(shift right >>). +The division/multiplication operations exist for all possible input and output data types. + +As a result, if a new index or interpolation function is needed the functions are created using the Targetlink's fixed point library. + +As the implementation of the new library would affect the different build scripts, +it has been decided to continue with the old structure ofthe index and interpolation functions and not use the fixed point library. +This though requires some manual editing of a newly created functions. + +### Basics on Index Search and Interpolation + +The index search outputs a fraction apart from the index, if chosen. + +**fraction:** f = (x - x[i])/(x[i+1] - x[i]) + +which is then used by the interpolation block. + +**interpolation:** z = z[i] + f*(z[i+1] - z[i]) + +**Note:** x[i] represents the table indices, x the input value for the index search and z[i] the interpolation values with z as the output. + +The above formulas are easily recognized in the c-code of the functions. + +### Steps for Adding a New Table Function + +A couple of steps are necessary when including a new index/interpolation function. +During code generation TargetLink automatically creates the c/h-files for the function. +It also includes the new function automatically in the models c-file. + +The following steps are though necessary in order to edit and include the new table function: + +* Include the header file of the table function in the project configurations common files `Projects\`. +* Update the c-file of the table function acccordingly, see below. +* Add the new files to the repository `Models/Common/pybuild_src/(Tab...)` together with your commit. + +## Editing the Created C Code Files + +To give some insight in the necessary steps two examples are given on how to edit an index table function and an interpolation function. + +### Editing a New Table Index Function + +In this case, it is the following function: + +![tab_idx_function](../images/target_link/tab_idx_function.jpg "Example of an index table function") + +In the example the input `x` and the table indices `x_table` are UInt32, the output though shall be UInt8. + +**1. The reference to the fixed point library shall be removed in the c-file.** + +![tab_idx_edit_lib_ref](../images/target_link/tab_idx_edit_lib_ref.jpg "Removal of not needed library reference") + +**2. Correction of the fraction calculation. The formula above for calculation of the fraction is implemented in the code as below (left side).** + +![tab_idx_edit_index_calc](../images/target_link/tab_idx_edit_index_calc.jpg "Editing the calculation of the fraction") + +The naming of the libray functions gives a hint of what it does e.g. `C__U64SHLU32C6_LT32` is a left shift operation `SHL` of a UInt32 input, producing an UInt64 output. + +The input is (x-x_table[0]), refer to (x - x[i]) in the fraction formula. +The usage of left shift and type casting to double width is needed to be sure to avoid a data loss when subtracting. +See [above](#distances-between-table-entries-less-than-half-of-implemented-range). + +**Step-by-step:** + +Converting the numerator part of the fraction formula: + +```c +(UInt32) (x - x_table[0]) : Declaring that the input is UInt32 + +(UInt64) (UInt32) (x - x_table[0]) : Type casting to UInt64 (to avoid data loss) + +((UInt64) (UInt32) (x - x_table[0])) << 8 : Left shift 8 bits +``` + +The second library function that is used is `C__U8DIVU64U32` i.e. dividing `DIV` a UInt64 operator with UInt32 operator producing an UInt8 output. +The fraction which is defined as irx[1] shall be output as UInt8 according to the function call in this case. + +Declaring the denominator: + +```c +(UInt32) (x_table[1] - x_table[0]) : Declaring that the denominator is UInt32 +``` + +Calculation of the fraction (irx[1]): + +Performing the division: + +```c +(((UInt64) (UInt32) (x - x_table[0])) << 8) / ((UInt32) (x_table[1] - x_table[0])) +``` + +Assuring no data loss (using double width, UInt64): + +```c +((UInt64)(((UInt64) (UInt32) (x - x_table[0]) << 8)) / ((UInt32) (x_table[1] - x_table[0]))) +``` + +Type casting to Uint8: + +```c +irx[1] = (UInt8) ((UInt64)(((UInt64) (UInt32) (x - x_table[0]) << 8)) / ((UInt32) (x_table[1] - x_table[0]))) +``` + +**Removal of unused static variables.** + +The fixed library functions needs to create some local variabels that are not needed when the calculation is performed in one step. + +![tab_idx_remove_var](../images/target_link/tab_idx_remove_var.jpg "Editing the calculation of the fraction") + +### Editing a New Interpolation Function + +In this example we look into a 2D look-up table. +In order to calculate the output in this case, three subsequent interpolations needs to be performed. +See the below picture (excerpt from dSpace Help). + +![tab_intp_theory](../images/target_link/tab_intp_theory.jpg "Interpolating 1D or 2D look-up tables") + +The example funtion is + +![tab_intp_function](../images/target_link/tab_intp_function.jpg "2D look-up function, output UInt32") + +It has two UInt8 input axis `irx[2]` and `iry[2]` and an UInt32 output. +As seen above, three interpolations are needed in the function considering the inclination of the x- and y-curve using +a multiplication function `C__U64MULU32U16`for two UInt32 variables with an UInt64 output (using double width to avoid data loss). + +In the fixed point library, Targetlinks needs to use a multiplication `C__U64MULU32U16`and shift right `C__U32SHRU64C6_LT32` to solve the interpolation. +The steps are the same as in the above example: + +**1. The reference to the fixed point library shall be removed in the c-file.** + +![tab_intp_edit_lib_ref](../images/target_link/tab_intp_edit_lib_ref.jpg "Removal of reference to the fixed point library") + +**2. Correction of the interpolation calculation.** + +![tab_intp_edit_intp_calc](../images/target_link/tab_intp_edit_intp_calc.jpg "Editing the calculation of the intepolation") + +**3. Removal of unused static variables.** + +![tab_intp_remove_var](../images/target_link/tab_intp_remove_var.jpg "Editing the calculation of the intepolation") + +## dSpace Help topics for deep dive + +In the dSpace Help there is more in-depth information. Please search for the text below and you will find the topics. + +* Basics on Applying Output Calculation Methods (Lookup Methods). +* Basics on Applying Input Evaluation Methods (Search Methods). +* Table Function Names (Prelookup Block). +* Table Function Names (Interpolation Using Prelookup Block). diff --git a/docs/target_link/naming_convention.md b/docs/target_link/naming_convention.md new file mode 100644 index 0000000..be83a9a --- /dev/null +++ b/docs/target_link/naming_convention.md @@ -0,0 +1,182 @@ +# Naming convention + +------------------- + +[TOC] + +`__` + +## Type + +Type is indicated by the first letter, like in **s**VcEc_D_EngState. + +* **y** = global bool (model interface to suroundings). +* **x** = local bool (internal model signals). +* **s** = global variable, non bool (float, uint ...). +* **r** = local variable non bool. +* **c** = constant. +* **t** = table. +* **m** = map. + +## Prefix Two + +For example s**Vc**Ec_D_EngState. +Original meaning was **V**ehicle **C**ontrol. +In Volvo Cars, it is today used to signify that the signal is defined by VCC. + +## Module + +For example sVc**Ec**_D_EngState. +Shows the signal origin. +Insignal from supplier software partition uses **Ec** (Engine control), **Di** (Driver interface), **Bc** (Brake control). +Outsignal use the model name, for example *VcDeScl* will have out signals named *sVc**DeScl**\_X\_\**. + +## Quantity + +See table. You can find the allowed abbreviations in the file SPM_Units.xls in the ConfigDocuments folder in your project. + +| Abbreviation | Meaning | Standard Unit | +|--------------|------------------------------------------|-----------------------| +| a | Acceleration | m/s2 | +| ad | Deriv of Acc | m/s3 | +| an | Angle | CA, deg, rad | +| and | Angle/s | CA/s, deg/s, rad/s | +| Ar | Area | m2, mm2 | +| B | Boolean, flag 0/1 | - | +| D | Discrete (enumeration type) | - | +| E | Energy | J, kJ, kWh, mWh, Wh | +| ef | Efficiency | - | +| Enm | Enumeration (string type, implicit enum) | - | +| Eta | Viscosity Dynamic | mPa s, Pa s | +| F | Force | N | +| fac | Factor | - | +| Fd | Force Rate | N/s | +| fq | Frequency | Hz | +| Gear | Gear | - | +| I | Current | A, mA, uA | +| Id | Current Rate | A/s | +| J | Inertia | kgm2 | +| L | Distance, Length | m, km, mm | +| lam | lambda | - | +| lk | Distance, Length | m, km | +| m | Mass | g, kg, mg, mg/stk | +| m | Mass per Revolution | g/rev | +| md | Massflow | g/s, kg/h, kg/s, mg/s | +| mu | Viscosity Kinematic | cSt, m2/s | +| n | Revolution Speed Number | rpm, krpm, rps | +| nd | Revolution Acceleration | rpm/s | +| p | Pressure | bar, hPa, kPa, MPa | +| pd | Pressure Rate | kPa/s | +| Pw | Power | W, kW | +| Pwd | Power Rate | kW/s | +| Q | Flow | l/h, l/min, l/s, m3/h | +| q | Quantity | mg, mg/stk | +| Qd | Heat Change | | +| Qf | Quality Flag | - | +| R | Electrical Resistance | mOhm, Ohm | +| rho | Density | - | +| rt | Ratio | - | +| rtd | Change of Ratio | 1/s | +| t | Time | s, min, ms, ns, us | +| tc | Time Constant | s | +| Te | Temperature | deg C, K | +| Ted | Temperature Change | deg C/s | +| Tq | Torque | Nm | +| Tqd | Torque Rate | Nm/s2 | +| Tqi | Accumulated Torque Over Time | Nms | +| ts | Sample Time | s | +| U | Voltage | V | +| v | Velocity | km/h, m/s, mph | +| vi | Accumulated Speed Fault Over Time | m/s s | +| vol | Volume | cm3, l | +| w | Angular Velocity | rad/s | +| wd | Angular Velocity Rate | rad/s2 | +| X | Share | % | +| xb | Burned Fraction | - | +| Xd | Change of Share | %/s | +| Xi | Accumulated Percentage Over Time | %s | +| Z | Non Standard Quantity | any | +| Z | Concentration | ppm | +| Zd | Non Standard Quantity Change | any | + +## Description + +It can be useful to look at the AUTOSAR name conventions, that might be the only useful from Autosar. +An AUTOSAR name consists of four parts, see table. + +![autosar_name.jpg](../images/target_link/autosar_name.jpg) + +### Structure + +![structure.png](../images/target_link/structure.png) + +Example: + +![example_name.png](../images/target_link/example_name.png) + +![device_name.png](../images/target_link/device_name.png) + +The subfunction of a model shall be seen as a ”Device”, +e.g. EgrMonr for the Egr Flow monitor, EgrClrMonr for the Egr Cooler monitor etc. +If the model does not have sub functions, the Device can be chosen according to the standard. + +![action_name.png](../images/target_link/action_name.png) + +Usually quantity and position. + +* MFlw – Mass Flow. +* VolFlw – Volume Flow. +* P – Pressure. +* T – Temperature. +* Lam – Lambda. +* Tq – Torque. +* Ag – Angle. +* Ar – Area. +* Pos – Position. +* Pwr – Power. +* Ti – Time. +* U – Volatge. +* I – Electric Current. +* Rat – Ratio (duty cycle ratio). + +There are more, see AUTOSAR. + +For example PAmb (Ambient pressure), TIntk (Temperature in the Intake), TDs (Temp Downstream) and MFlwUs (Mass Flow Upstream). + +![condition_name.png](../images/target_link/condition_name.png) + +Calculated Signals. + +* Sp – Setpoint: Base mappning (MR also uses ”Req” – Requested). +* Tar – Target: Limited Setpoint values. +* Est – Estimated: An estimation of a value. E.g. rVcAesObd_T_SupChrgrMonrTDsEst. +* Raw – Raw – Unprocessed sensor data. + +Replacement Values. + +* Rvlu – Replacement value. + +Running Conditions. + +The limits for determening running conditions shall use the following naming: [Hi/Lo/Min/Max]EnaLim. +E.g. *EgrMonrAmbPMinEnaLim*, *SupChrgrMonrPDrpLoEnaLim* [Super Charger Pressure Drop Low Enable Limit]. +Boolean result from the limits shall use the Condition ”Enable” – ”Ena”. +E.g. *EgrMonrAmbPMinEna*, *SupChrgrMonrPDrpLoEna*. + +Test Values. + +The test values shall use the following naming: [Hi/Lo/Min/Max]TstVlu. +E.g. *EgrMonrArMinTstVal* [Egr Monitor Area Min Test Value], +*SupChrgrMonrPTstVal* [Super Charger Pressure Test Value]. + +The completion of a test value calculation shall be named: [Hi/Lo/Min/Max]TstVluCmplt. +E.g. *EgrMonrArMinTstValCmpl* [Egr Monitor Area Min Test Value Complete], +*SupChrgrMonrPTstValCmpl* [Super Charger Pressure Test Value Complete]. + +Error/Ok information faults shall be called "Errors", short name is "Err". +Passed shall be called Ok (Ok). +Determening faults conditions: "Error Threshold", i.e. the condition shall be [Hi/Lo/Min/Max]ErrThd. +E.g. *EgrMonrArErrThd*, *BoostMonrPHiErrThd*. + +Monitor Error Flag - \*Err, e.g. *EgrMonrArErr*. +Monitor Pass Flag – \*Ok, e.g. *EgrMonrArOk* [Egr Area Ok], *VVTMonrPosnMaxOk* [VVT Position Max Ok]. diff --git a/docs/target_link/non_volatile_memory.md b/docs/target_link/non_volatile_memory.md new file mode 100644 index 0000000..2ca7686 --- /dev/null +++ b/docs/target_link/non_volatile_memory.md @@ -0,0 +1,298 @@ +# Overview NVM + +-------------- + +[TOC] + +Non-volatile memory (NVM) is used when data needs to be stored long-term persistently. +Examples of NVM variables are different types of adaption values for actuators/sensors or specific functions, +e.g. for monitoring purposes which need to follow the behavior of the software/functionality over the lifecycle of the vehicle. + +There are different concepts for storing NVM variables. +One way is to save the data to random-access memory (RAM) during the execution of the application software and +then during the afterun (end of the driving cycle), save this RAM-mirror to a specific area in the flash memory. +Another way is to allocate a specific area, which is supplied over the vehicle battery, in RAM to which the parameters are allocated. + +At initialization this area is then read back into RAM-mirror and made available to the application software. + +## NVM Simulink Block + +To utilize NVM in powertrain_build, a special Simulink block needs to be created, +which should be able to read, write and reset the NVM-parameter. + +The block should contain a combination of *TL\_DataStore\** and *TL\_UnitDelay* blocks. + +The code for finding these blocks can be seen in *powertrain-build/matlab\_scripts/parseNVM.m*. + +These blocks must use the *CVC\_DISP\_NVM\** variable class. + +There is one class for normal NVM handling and one for persistent data. + +![nvm_block_example](../images/target_link/nvm_block_example.PNG) + +## NVM Handling in powertrain-build + +powertrain-build collects the NVM blocks from the models. +The NVM variables are matched against a specific json file, called *Projects/\/conf.local/nvm_structs.json*. +This list is updated automatically after running the powertrain-build "build" command. +However, the generated file needs to manually be moved to the *conf.local* folder. + +The NVM-area is divided into six structs. + +![nvm_concept](../images/target_link/nvm_concept.jpg) + +powertrain-build currently assumes that the order of these variables needs to be kept inbetween iterations of the software. +Therefore, powertrain-build automatically adds new parameters at the end of the relevant NVM struct. +If a parameter needs to be removed, it is replaced by a dummy parameter. +This assures that the backward compatibility always is meet. + +Below is an example of the contents of a *nvm_structs.json* file. + +```json +[ + { + "name": "NVM_LIST_CRITICAL2", + "allowed_datatypes": [ + "NotApplicable" + ], + "size": 16, + "instanceName": "nvm_list_critical2", + "default_datatype": "UInt16", + "includeStop": "", + "includeStart": "", + "persistent": false, + "signals": [ + { + "type": "UInt16", + "x_size": 1, + "name": "sVcModelName_D_DummyOne", + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_CRITICAL1", + "allowed_datatypes": [ + "NotApplicable" + ], + "size": 16, + "instanceName": "nvm_list_critical1", + "default_datatype": "UInt16", + "includeStop": "", + "includeStart": "", + "persistent": false, + "signals": [ + { + "type": "UInt16", + "x_size": 1, + "name": "sVcModelName_D_DummyTwo", + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_8", + "allowed_datatypes": [ + "Bool", + "UInt8", + "Int8" + ], + "size": 130, + "instanceName": "nvm_list_8", + "default_datatype": "UInt8", + "includeStop": "", + "includeStart": "", + "persistent": false, + "signals": [ + { + "type": "UInt8", + "x_size": 1, + "name": "Pos_8bit_0", + "y_size": 1 + }, + { + "type": "UInt8", + "x_size": 1, + "name": "sVcModelName_D_DummyThree", + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_16", + "allowed_datatypes": [ + "UInt16", + "Int16" + ], + "size": 768, + "instanceName": "nvm_list_16", + "default_datatype": "UInt16", + "includeStop": "", + "includeStart": "", + "persistent": false, + "signals": [ + { + "type": "UInt16", + "x_size": 7, + "name": "sVcModelName_D_DummyFour", + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_32", + "allowed_datatypes": [ + "Float32", + "UInt32", + "Int32" + ], + "size": 896, + "instanceName": "nvm_list_32", + "default_datatype": "UInt32", + "includeStop": "", + "includeStart": "", + "persistent": false, + "signals": [ + { + "type": "UInt32", + "x_size": 9, + "name": "sVcModelName_D_DummyFive", + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_8_PER", + "allowed_datatypes": [ + "Bool", + "UInt8", + "Int8" + ], + "size": 40, + "instanceName": "nvm_list_8_per", + "default_datatype": "UInt8", + "includeStop": "", + "includeStart": "", + "persistent": true, + "signals": [ + { + "name": "sVcModelName_D_DummySix", + "type": "Bool", + "x_size": 1, + "y_size": 1 + }, + { + "name": "sVcModelName_D_DummySeven", + "type": "Bool", + "x_size": 1, + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_16_PER", + "allowed_datatypes": [ + "UInt16", + "Int16" + ], + "size": 119, + "instanceName": "nvm_list_16_per", + "default_datatype": "UInt16", + "includeStop": "", + "includeStart": "", + "persistent": true, + "signals": [ + { + "name": "sVcModelName_D_DummyEight", + "type": "UInt16", + "x_size": 1, + "y_size": 1 + } + ] + }, + { + "name": "NVM_LIST_32_PER", + "allowed_datatypes": [ + "Float32", + "UInt32", + "Int32" + ], + "size": 112, + "instanceName": "nvm_list_32_per", + "default_datatype": "UInt32", + "includeStop": "", + "includeStart": "", + "persistent": true, + "signals": [ + { + "name": "sVcModelName_D_DummyNine", + "type": "UInt32", + "x_size": 1, + "y_size": 1 + } + ] + } +] +``` + +### Critical NVM Parameters + +If there is a possibility to write an NVM parameter directly to flash. +This is useful e.g. for safety critical parameters that shall not be lost if a reset occurs. +Two specific NVM struct areas called *nvm\_list\_critical1/2* can be added. +These areas are non-persistent and holds all the datatypes (4,2,1 bytes). +The two areas are needed two give higher integraty of the writing/read of the parameters. + +### Generated Files + +powertrain-build generates C code definings structs for each area. +See small examples below. + +*vcc\_nvm\_struct.h* + +```c +/* + * vcc_nvm_struct.h - struct for NVM signals + */ + +#ifndef VCC_NVM_STRUCT_H +#define VCC_NVM_STRUCT_H + +#include "tl_basetypes.h" +#include "CVC_NVM_START.h" +struct NVM_LIST_8 { + UInt8 unused[130]; +}; /* 0 bytes used of 130 */ +#include "CVC_NVM_END.h" + +#include "CVC_NVM_START.h" +struct NVM_LIST_32 { + Float32 _sVcModelName_D_DummyOne; + UInt32 unused[895]; +}; /* 4 bytes used of 3584 */ +#include "CVC_NVM_END.h" + +#include "PREDECL_START.h" +extern struct NVM_LIST_8 nvm_list_8; +extern struct NVM_LIST_32 nvm_list_32; +#include "PREDECL_END.h" + + +#define sVcModelName_D_DummyOne nvm_list_32._sVcModelName_D_DummyOne + +#endif /* VCC_NVM_STRUCT_H */ +``` + +*vcc\_nvm\_struct.c* + +```c +#include "vcc_nvm_struct.h" + +#include "CVC_NVM_START.h" +struct NVM_LIST_8 nvm_list_8; +#include "CVC_NVM_END.h" + +#include "CVC_NVM_START.h" +struct NVM_LIST_32 nvm_list_32; +#include "CVC_NVM_END.h" +``` diff --git a/docs/target_link/state_flow.md b/docs/target_link/state_flow.md new file mode 100644 index 0000000..c974c63 --- /dev/null +++ b/docs/target_link/state_flow.md @@ -0,0 +1,30 @@ +# TargetLink Configuration of State Flow + +----------------------------------------- + +[TOC] + +## TargetLink Configuration of Ports in State Flow + +If ports and locals are not properly configured in State Flow, the signals may end up as Float64, which is not a native data type. +Do not choose data type double, this will result in Float64 as data type. + +![sf_double.png](../images/target_link/sf_double.png) + +Do not choose "Inherit: Same as Simulink" either as this may also result in Float64. +It is best to choose single as Datatype for inputs or boolean for logical signals. + +![sf_inherit.png](../images/target_link/sf_inherit.png) + +The above configurations can also be done in the *TargetLink Property Manager*. +In the property manager, TL classes can also be set, see below. +The TargetLink properties can be configured by choosing *TargetLink -> Property Manager* in the menu. + +![propertyman.png](../images/target_link/propertyman.png) + +![propertyman_2.png](../images/target_link/propertyman_2.png) + +A properly configured outport is marked by blue in the picture below. +The outport marked by red can cause the undesired behavior. + +![stateflow_wiki.png](../images/target_link/stateflow_wiki.png) diff --git a/docs/target_link/struct_signalling.md b/docs/target_link/struct_signalling.md new file mode 100644 index 0000000..518e7cc --- /dev/null +++ b/docs/target_link/struct_signalling.md @@ -0,0 +1,262 @@ +# TargetLink Struct In- and Out-port Signals + +-------------------------------------------- + +[TOC] + +## Before You Start + +External struct support was recently added, +your repository might be in a state were some structs are still in the old format. + +### Inports and Outports Must Match + +The name of the generated struct is the same as the name of the _TL\_BusInport_/_TL\_BusOutport_ block. +Therefore, the developer should change the producer and the consumer of a struct at the same time. +By doing that, powertrain-build can verify that the structs look the same. +If a struct were to change in size but keep the name, powertrain-build will catch that. + +## Definings Struct Signals + +This section describes how to create struct signals. + +Easiest way to work with and share structs is to create buses and storing them in _.mat_ files, +which can be loaded where needed in the _\_par.m_ files. +Bus _.mat_ files should be stored in a shared folder, such as _Models/Common/VcBusDefinitions_. +This is very similar to how to work with shared enumerations, see [TargetLink Enumerations](./enumerations.md). + +### Outports + +To create an outgoing signal one must use the TL block _TL\_BusOutport_. +The name of the generated struct will be the same as the block name, so name the block appropriately. +Preferably, the block name should be the same as the _.mat_ file defining the bus signal. + +The insignal to this block must come from a _Bus Creator_, +where the name of the struct outport signal will be the same as the insignal. +Each struct member will get the same name as the signals entering the bus creator. + +To link to a loaded bus object, right click on the bus creator and click "Block Parameters (BusCreator)". +Select "Bus: \" as the data type. +Expand the data type options (click "\>\>") and make sure mode is set to "Bus object" and then input the name of the bus. +It is possible to browse loaded bus objects by clicking the "Edit" button. + +![bus_parameters](../images/target_link/bus_parameters.png) + +For the bus, it is important to select the class _CVC\_DISP_ (like normal outports), data type _IMPLICIT\_STRUCT_, +name macro _$L_. + +![bus_outport](../images/target_link/bus_outport.png) + +For the members, it is important to select the class _CVC\_DISP_, otherwise they won't show up in the A2L-file, +and name macro _$L_. + +![bus_outport_member](../images/target_link/bus_outport_member.png) + +A2L extract: + +```A2L +/begin MEASUREMENT + sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1 /* Name */ + "" /* LongIdentifier */ + FLOAT32_IEEE /* Datatype */ + VOID_SCALING /* Conversion */ + 1 /* Resolution */ + 0 /* Accuracy */ + -3.402823466e38 /* LowerLimit */ + 3.402823466e38 /* UpperLimit */ + READ_WRITE + /begin IF_DATA ASAP1B_ADDRESS + KP_BLOB 0x00000000 + /end IF_DATA +/end MEASUREMENT +``` + +JSON config file extract: + +```json +"outports": { + "sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1": { + "handle": "VcCcHvcBustest/VcCcHvcBustest/Subsystem/VcCcHvcBustest/Bus Outport", + "name": "sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1", + "configs": "((ALWAYS_ACTIVE))", + "description": "", + "type": "Float32", + "unit": "", + "offset": "-", + "lsb": "-", + "min": "-", + "max": "-", + "class": "CVC_DISP", + "width": 1 + } +} +``` + +C source code extract: + +```c +/**************************************************************************************************\ + CVC_DISP: CVC global observable variables in RAM | Width: N.A. +\**************************************************************************************************/ +CVC_DISP struct sVcCcHvcBustest_Bus_SomeOutBus sVcCcHvcBustest_Bus_TestSignal = { + 0.F, /* Te_BusSignal1 */ + 0.F /* Te_BusSignal2 */ +}; + +void RESTART_VcCcHvcBustest(void) +{ + sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1 = 0.F; + sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal2 = 0.F; +} +``` + +C header code extract: + +```c +/*------------------------------------------------------------------------------------------------*\ + TYPEDEFS +\*------------------------------------------------------------------------------------------------*/ +struct sVcCcHvcBustest_Bus_SomeOutBus { + Float32 Te_BusSignal1; + Float32 Te_BusSignal2; +}; /* Description: bus outport struct */ + +/**************************************************************************************************\ + CVC_DISP: CVC global observable variables in RAM | Width: N.A. +\**************************************************************************************************/ +extern CVC_DISP struct sVcCcHvcBustest_Bus_SomeOutBus sVcCcHvcBustest_Bus_TestSignal; +``` + +### Inports + +To create an incoming signal one must use the TL block _TL\_BusInport_. +The insignal to this block can either come from a _Bus Creator_ or a constant block located on the outermost layer, +preferably referencing a bus object. + +To link to a loaded bus object, right click on the bus creator/constant block and click "Block Parameters (\)". +Select "Bus: \" as the data type. +Expand the data type options (click "\>\>") and make sure mode is set to "Bus object" and then input the name of the bus. +It is possible to browse loaded bus objects by clicking the "Edit" button, see image in the "Outports" chapter. + +The name of the struct inport signal will be the same as the insignal or bus object, respectively. + +For the bus, it is important to select the class _CVC\_EXT_ (like normal inports), data type _IMPLICIT\_STRUCT_, +name macro _$L_. + +![bus_inport](../images/target_link/bus_inport.png) + +For the members, it is important to select the class _CVC\_DISP_, otherwise they won't show up in the A2L-file, +and name macro _$L_. + +![bus_inport_member](../images/target_link/bus_inport_member.png) + +A2L extract: + +```A2L +/begin MEASUREMENT + sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1 /* Name */ + "" /* LongIdentifier */ + FLOAT32_IEEE /* Datatype */ + VOID_SCALING /* Conversion */ + 1 /* Resolution */ + 0 /* Accuracy */ + -3.402823466e38 /* LowerLimit */ + 3.402823466e38 /* UpperLimit */ + READ_WRITE + /begin IF_DATA ASAP1B_ADDRESS + KP_BLOB 0x00000000 + /end IF_DATA +/end MEASUREMENT +``` + +JSON config file extract: + +```json + "inports": { + "sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1": { + "handle": "VcCcHvcBusReceive/VcCcHvcBusReceive/Subsystem/VcCcHvcBusReceive/Bus Inport", + "name": "sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1", + "configs": "((ALWAYS_ACTIVE))", + "description": "", + "type": "Float32", + "unit": "", + "offset": "-", + "lsb": "-", + "min": "-", + "max": "-", + "class": "CVC_DISP", + "width": 1 + } +} +``` + +C source code extract: + +```c +void VcCcHvcBusReceive(void) +{ + /* TargetLink outport: VcCcHvcBusReceive/Out1 + # combined # Sum: VcCcHvcBusReceive/VcCcHvcBusReceive/Sum */ + sVcCcHvcBusReceive_Te_templateSignal = sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal1 + + sVcCcHvcBustest_Bus_TestSignal.Te_BusSignal2; + + /* Gain: VcCcHvcBusReceive/Gain1 + VcCcHvcBusReceive/Gain1: folded operation multiplication to constant value 0.1 */ + rVcCcHvcBusReceive_Z_Version = 0.1F; +} +``` + +C header code extract: + +```c +#include "udt_CcHvcBusRe.h" + + +/**************************************************************************************************\ + CVC_EXT: CVC external interface input variables | Width: N.A. +\**************************************************************************************************/ +CVC_EXT struct sVcCcHvcBustest_Bus_SomeInBus sVcCcHvcBustest_Bus_TestSignal; +``` + +In this case, the struct is generated in additional header file. +Where "udt" stands for "user defined types". + +Example file, _udt\_CcHvcBusRe.h_: + +```c +/**************************************************************************************************\ + *** + *** Simulink model : VcCcHvcBusReceive_OPortMvd + *** TargetLink subsystem : VcCcHvcBusReceive_OPortMvd/VcCcHvcBusReceive + *** Codefile : udt_CcHvcBusRe.h + *** + *** Generation date: 2021-03-22 10:48:56 + *** + *** TargetLink version : 4.3p3 from 16-Oct-2018 + *** Code generator version : Build Id 4.3.0.27 from 2018-09-24 17:55:03 +\**************************************************************************************************/ + +#ifndef UDT_CCHVCBUSRE_H +#define UDT_CCHVCBUSRE_H + + +#include "tl_basetypes.h" + + + +struct sVcCcHvcBustest_Bus_SomeInBus { + Float32 Te_BusSignal1; + Float32 Te_BusSignal2; +}; /* Description: bus inport struct */ + +#endif /* UDT_CCHVCBUSRE_H */ +/*------------------------------------------------------------------------------------------------*\ + END OF FILE +\*------------------------------------------------------------------------------------------------*/ +``` + +## The Common Header File + +powertrain-build will generate a file named _VcStructs.h_, which defines all the busses/structs used in the project. + +This file can be included if you for instance use a custom _VcDummy\_spm.c_ file. diff --git a/docs/target_link/target_link.md b/docs/target_link/target_link.md new file mode 100644 index 0000000..138bf33 --- /dev/null +++ b/docs/target_link/target_link.md @@ -0,0 +1,23 @@ +# TargetLink + +------------ + +TargetLink is powertrain-builds code generator of choice. +Embedded Coder works too if set up similarily, e.g. using varible classes. + +## Using TargetLink + +* [Naming Convention](naming_convention.md) +* [Configuration of State Flow](./state_flow.md) +* [Variable Classes](./variable_classes.md) +* [Enumeration Class Variables](./enumerations.md) +* [Function Blocks in Subsystems](./function_block.md) +* [Struct In-/Out-signals](./struct_signalling.md) +* [Editing a New LookUp or PreLookup Function](./functions.md) +* [Using Custom Code Blocks](./custom_code_block.md) +* [Non Volatile Memory](./non_volatile_memory.md) +* [Diagnostics](./diagnostics.md) + +## Product Information + + diff --git a/docs/target_link/variable_classes.md b/docs/target_link/variable_classes.md new file mode 100644 index 0000000..a15b860 --- /dev/null +++ b/docs/target_link/variable_classes.md @@ -0,0 +1,249 @@ +# TargetLink Variable Classes + +----------------------------- + +[TOC] + +## General + +The only variable classes to be used are CVC classes and the class `default`. +The classes are defined in the TargetLink data dictionary (.dd) file. +A list of the variable classes used by function developers beside `default` is given here. +The ASIL variable classes are used if the parameters shall be allocated to a specific monitored memory area. + +![variable_classes](../images/target_link/variable_classes.PNG) + +All variable classes are defined in TL DataDictionary. + +## ASIL Classes + +**NOTE:** Make sure to note the names of these classes (see image above). +Instead of the more simple name ["CVC_CAL"](#calibration-constants), +the ASIL A version of "CVC_CAL" would be "ASIL_A/CVC_CAL_ASIL_A". + +Models using ASIL level variables should also mark its function calls as ASIL classed. +This is done by modifying the "FUNCTION" TargtLink block. + +![function_block](../images/target_link/function_block.png) + +TargetLink FUNCTION block with ASIL level. + +Additionally, in order to get the correct ASIL level in the `config\_VcModelName.json` file, +the name of the model needs to be added to the struct "dependability_model_asil_class" in +`ConfigDocuments/matlab\_script\_config/CodeGen\_config.json`. + +**NOTE:** The `Init function class` is generally not ASIL classified. +When we generate code, we only generate the main and restart (force box ticked) function calls. +These need to be ASIL classified. +Meaning the `Term function class` probably does not have to be ASIL classified either. + +## CVC Classes + +The variable unit must coincide with the abbreviation in the variable name. +See [naming convention](naming_convention.md). + +![variable_properties](../images/target_link/variable_properties.jpg) + +The macro `$L` uses the output line name in the variable name and the macro `$N` uses the model name, +so this variable will be named *rVcScrMdl_Z_ScrConcNoUs*. + +All blocks with a CVC class output should have a filled in "Description". +If the variable is a calibration constant then if possible, determined "Max" and "Min" values should be set. +For local readables this is optional. + +![variable_description](../images/target_link/variable_description.jpg) + +Example of a CVC class variable with filled in description and Max/Min values. + +## default Class + +The `default` class should be used for all operations where a specific variable name in the code is unnecessary. + +* The output line from a default class block should not have a line name. + If a name must be visible for the documentation the name should have the ending `_DOC`. +* The output name should be `$S_$B`. +* "Min", "Max", "Unit" and "Description" should be empty. + +![variable_default](../images/target_link/variable_default.jpg) + +The Max, Min, Unit and Description fields should be empty and the name should be `$S_$B` for default class variables. + +## External Signals + +### General Info + +The output variable name from all external out- and in-port blocks should be `$L`. + +### Inport Blocks + +The class should be `CVC_EXT` for all external inports. +The output line name from an inport block should be the complete variable name. + +![variable_inport](../images/target_link/variable_inport.jpg) + +Example of an inport with correct class, name and output line name. + +### Outport Blocks + +The class should be `CVC_DISP` for all external outports. +The input signal name to all external outports should be a long variable name propagated from an output line from a target link block +which has the output name `$S_$B` and the class `default`. + +![variable_outport](../images/target_link/variable_outport.jpg) + +This figure shows a correct implementation of a input signal to an outport block. + +### External Variables + +The properties for all external variables has to be filled in the interface description. +Although they are defines in the TargtLink models, the interface description is used to communicate with other consumers/senders. + +## Constants + +### Default Constants + +If a constant is non-adjustable by calibration and needs no name for documentation, +a numeric value should be entered in the "Constant" dialog and the variable class should be `default`. + +![variable_default_constant](../images/target_link/variable_default_constant.jpg) + +Example of a `default` class constant. + +### Unique Constants + +If a constant should have a specific name and be used only once, the class should be `CVC_CONST`. +The block name should be `Vc_` + short name, e.g. `Vc_B_Init`. +The "output name" should be `c$B` and the output line name from the constant block should be empty. +If a name must be visible for documentation the line name should have the ending `_DOC`. +The constant value should come from a variable in workspace and must coincide with the output name. +For constants the Matlab workspace variable should be declared in *VcModelName_par.m*. + +![variable_unique_constant](../images/target_link/variable_unique_constant.jpg) + +Example of a unique constant. +The constant value is from the workspace variable `Vc.D_TosModeFailSafe` defined in *VcModelName_par.m* and +the variable name is `c$B` which gives the variable name `cVc_ D_TosModeFailSafe`. + +### External Constants + +If a constant with a specific name should be used more than once the class should be `CVC_CONST_EXT`. +The variable must also be declared in the model *VcConst.mdl*. +For an example of how this is done see figures below. +The constant value should come from a variable in workspace and must coincide with the output name. +For constants, the Matlab workspace variable should be declared in *VcModelName_par.m*. + +![variable_external_constant](../images/target_link/variable_external_constant.jpg) + +Example of an external constant. + +![variable_vc_const](../images/target_link/variable_vc_const.jpg) + +The external constant variable is implemented in a "TL_DataStoreMemory" – block in the model *VcConst.mdl*. + +## Calibration parameters + +### Calibration Constants + +The output name of a calibration constant should be `c$N_$B`. The "output" type should be of class `CVC_CAL`. +The output line should not have a visible name. +The constant value should come from a variable in workspace and must coincide with the output name. + +![variable_cal_constant](../images/target_link/variable_cal_constant.jpg) + +Example of a calibration constant. + +### Calibration Tables and Maps + +All calibration lookup tables and maps should have a pre lookup block connected to their in-/out-ports. + +* If possible the "VCC_Map_1D" should be used for lookup tables and "VCC_Map_2D" for lookup maps. +* For these blocks the lookup block name under the mask should be equal to mask name. +* All input value variables to booth the lookup and pre lookup blocks should coincide with the table/map names. +* The "breakpoint data" in the pre lookup block and the "table" in the lookup block should independently be one of the classes `CVC_CAL`. + +### Calibration Tables + +* The pre lookup block name should be mask name + `_x`. + +![variable_cal_table](../images/target_link/variable_cal_table.jpg) + +Example of the correct block names in a "VCC_Map_1D" block with the mask name `rt_CreepPedCmp`. + +If the same pre lookup block is connected to more than one lookup map is allowed to ignore the rule above. +But the pre lookup name must be similar to the lookup map name and have the correct ending. + +![variable_cal_pre_look_up](../images/target_link/variable_cal_pre_look_up.jpg) + +Example of when the same prelookup block is connected to multiple lookup tables. + +The length of the "breakpoint data" vector in the pre lookup block must be equal to the number of columns in the table matrix. +The "breakpoint" name in the pre lookup and the "table" name in the lookup table should be `t$N_$B`. + +### Calibration Maps + +The two pre lookup block names should be mask name + `_r` and mask name + `_c`. + +![variable_cal_map](../images/target_link/variable_cal_map.jpg) + +Example of the correct block names in a "VCC_Lookup2D" block with the mask name `rt_TiGear2`. + +If the same pre lookup block is connected to more than one lookup map is allowed to ignore the rule above. +But the pre lookup name must be similar to the lookup map name and have the correct ending. + +* The length of the "breakpoint data" vector in the pre lookup block "mask name_c" must be equal to the number of columns in the table matrix. +* The length of the "breakpoint data" vector in the pre lookup block "mask name_r" must be equal to the number of rows in the map matrix. +* The "breakpoint" name in the pre lookup and the "table" name in the lookup table should be `m$N_$B`. + +## Mergeable Calibration Variables + +If a calibration variable should be used in more than one block, the variable must be have the class `CVC_CAL_MERGEABLE`. +The rules for mergeable calibration variables are the same as for normal calibration variables except in the following areas. +All blocks in a subsystem must have a unique name. +If it is necessary to use the same mergeable variable twice in the same subsystem the block names for these blocks should be hidden. +Instead, the name should be entered in the "block annotation", which can be found in the right-click menu under "block properties". +In this case it is no longer possible to us the macro `$B` for the variable name, instead this part of the name should be entered manually. + +![variable_cal_mergeable](../images/target_link/variable_cal_mergeable.jpg) + +Example when the same mergeable variable is used twice in the same subsystem. +In this case the block name is hidden and instead the name is entered in the "block annotation". +Since `$B` cannot be used the entered variable name is `c$N_M_ScrExhaustMol`. + +![variable_cal_mergeable_example](../images/target_link/variable_cal_mergeable_example.jpg) + +Example of Mergable table. + +## Measurable Variables + +### General About Measurable Variables + +All non-external measure variables should have one of the classes `CVC_DISP`. +The output line name from a block with a measurable variable should be the short variable name. +The output name should be `x$N_$L` for all variables with type "Bool" (abbreviation "B") and `r$N_$L` for all other types. + +![variable_measureable](../images/target_link/variable_measureable.jpg) + +This figure shows the short output line name from a block with a CVC_DISP class output variable (red markings). +The output variable name starts with an "x" since the type is "Bool" (green markings). + +### Measuring Output Variable from Masked Blocks + +When measuring the output variable from a masked block it is important to remember that the variable is defined under the mask. +The line name can therefore not be entered on the output line from the masked block. +It must be entered on the output line under the mask and be propagated on the output line from the masked block. + +![variable_measureable_masked](../images/target_link/variable_measureable_masked.jpg) + +### Max and Min Settings for Measurable Variables + +The use of "Max" and "Min" settings in blocks with class `CVC_DISP` is optional. +If "Max" and/or "Min" values are used then care must be taken. +"Max"/"Min" blocks lets you specify constrained range limits, which the code Generator assumes will never be exceeded (code optimization). +This leading range information is propagated through the model and can influence subsequent blocks. +This means that the code generator will remove "Max"/"Min" blocks in the signal chain if +they have the same value or a value outside of the set range of the processes signals. + +![variable_measureable_min_max](../images/target_link/variable_measureable_min_max.jpg) + +Example of "MinMax" block removed from the generated code, +because some signals had the same value ("8000") as signal in one of the min block inport.