dust3d/thirdparty/instant-meshes/instant-meshes-dust3d/ext/tbb/examples/task_group/sudoku
Jeremy Hu 2d05583937 Integrate Instant-Meshes
1. Drop windows 32bit support
Add windows 64bit support.

2. Remove Script(quickjs) support
The current integrated quickjs is a very old version which doesn’t support windows 64bit system. In the future, (TODO)WebAssembly should be integrate as plugin system.

3. Integrate Instant-Meshes
Instant-Meshes take less than 1 second on all three platforms.

4. Remove QuadriFlow
Current implementation of QuadriFlow is too slow (take about 5 seconds on the example model) to do realtime remeshing.
2020-01-04 19:59:10 +09:30
..
msvs Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
xcode/sudoku.xcodeproj Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
Makefile Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
Makefile.windows Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
input1 Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
input2 Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
input3 Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
input4 Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
readme.html Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30
sudoku.cpp Integrate Instant-Meshes 2020-01-04 19:59:10 +09:30

readme.html

<!DOCTYPE html>
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
<head>
	<meta charset="UTF-8">
	<style>
		::selection {
			background: #b7ffb7;
		}
		::-moz-selection {
			background: #b7ffb7;
		}

		body {
			font-family: Arial, Helvetica, sans-serif;
			font-size: 16px;
			width: 800px;
			margin: 0 auto;
		}
		#banner {
			/* Div for banner */
			float:left;
			margin: 0px;
			margin-bottom: 10px;
			width: 100%;
			background-color: #0071C5;
			z-index: 0;
		}
		#banner .logo {
			/* Apply to logo in banner. Add as class to image tag. */
			float: left;
			margin-right: 20px;
			margin-left: 20px;
			margin-top: 15px;
			padding-bottom: 5px;
		}
		h1 {
			text-align: center;
			font-size: 36px;
		}
		h1.title {
			/* Add as class to H1 in banner */
			font-family: "Intel Clear", Verdana, Arial, sans-serif;
			font-weight:normal;
			color: #FFFFFF;
			font-size: 170%;
			margin-right: 40px;
			margin-left: 40px;
			padding-right: 20px;
			text-indent: 20px;
		}
		.h3-alike {
			display:inline;
			font-size: 1.17em;
			font-weight: bold;
			color: #0071C5;
		}
		h3 {
			font-size: 1.17em;
			font-weight: bold;
			color: #0071C5;
		}
		.h4-alike {
			display:inline;
			font-size: 1.05em;
			font-weight: bold;
		}
		pre {
			font-family: "Consolas", Monaco, monospace;
			font-size:small;
			background: #fafafa;
			margin: 0;
			padding-left:20px;
		}
		#footer {
			font-size: small;
		}
		code {
			font-family: "Consolas", Monaco, monospace;
		}
		.code-block
		{
			padding-left:20px;
		}
		.changes {
			margin: 1em 0;
		}
		.changes input:active {
			position: relative;
			top: 1px;
		}
		.changes input:hover:after {
			padding-left: 16px;
			font-size: 10px;
			content: 'More';
		}
		.changes input:checked:hover:after {
			content: 'Less';
		}
		.changes input + .show-hide {
			display: none;
		}
		.changes input:checked + .show-hide {
			display: block;
		}

		ul {
			margin: 0;
			padding: 0.5em 0 0.5em 2.5em;
		}
		ul li {
			margin-bottom: 3px;
		}
		ul li:last-child {
			margin-bottom: 0;
		}
		.disc {
			list-style-type:disc
		}
		.circ {
			list-style-type:circle
		}
		
		.single {
			padding: 0 0.5em;
		}
		
		/* ------------------------------------------------- */
		/* Table styles                                      */
		table{
			margin-bottom:5pt;
			border-collapse:collapse;
			margin-left:0px;
			margin-top:0.3em;
			font-size:10pt;
		}
		tr{
			vertical-align:top;
		}
		th,
		th h3{
			padding:4px;
			text-align:left;
			background-color:#0071C5;
			font-weight:bold;
			margin-top:1px;
			margin-bottom:0;
			color:#FFFFFF;
			font-size:10pt;
			vertical-align:middle;
		}
		th{
			border:1px #dddddd solid;
			padding-top:2px;	 	 
			padding-bottom:0px;
			padding-right:3px;	 	 
			padding-left:3px;
		}
		td{
			border:1px #dddddd solid;
			vertical-align:top;
			font-size:100%;
			text-align:left;
			margin-bottom:0;
		}
		td,
		td p{
			margin-top:0;
			margin-left:0;
			text-align:left;
			font-size:inherit;
			line-height:120%;
		}
		td p{
			margin-bottom:0;
			padding-top:5px;
			padding-bottom:5px;
			padding-right:5px;
			padding-left:1px;
		}
		.noborder{
			border:0px none;
		}
		.noborder1stcol{
			border:0px none;
			padding-left:0pt;
		}
		td ol{
			font-size:inherit;
			margin-left:28px;
		}
		td ul{
			font-size:inherit;
			margin-left:24px;
		}
		.DefListTbl{
			width:90%;
			margin-left:-3pt;
		}
		.syntaxdiagramtbl{
			margin-left:-3pt;
		}
		.sdtbl{
		}
		.sdrow{
		}
		.sdtblp{
			border:0px none;
			font-size:inherit;
			line-height:120%;
			margin-bottom:0;
			padding-bottom:0px;
			padding-top:5px;
			padding-left:0px;
			padding-right:5px;
			vertical-align:top;
		}
		.idepara, .ide_para{
			border:0px none;
			font-size:inherit;
			line-height:120%;
			margin-bottom:0;
			padding-bottom:0px;
			padding-top:5px;
			padding-left:0px;
			padding-right:5px;
			vertical-align:top;
		}
		
		.specs {
			border-collapse:collapse;
		}
		.specs td, .specs th {
			font-size: 14px;
		}
		.specs td {
			border: 1px solid black;
		}
		.specs td td, .specs td th {
			border: none;
		}
		.specs	td, .specs td td, .specs td th {
			padding: 0 0.2em 0.2em;
			text-align: center;
		}
		.specs td tr:last-child td, 
		.specs td tr:last-child th {
			padding: 0 0.2em;
		}
		.serial-time {
		}
		.modified-time {
		width: 6.5em;
		}
		.compiler {
		}
		.comp-opt {
		}
		.sys-specs {
			width: 18em;
		}
		.note {
			font-size:small;
			font-style: italic;
		}
	</style>
	<title>Intel&reg; Threading Building Blocks. Sudoku sample</title>
</head>
<body>
	
	<div id="banner">
		<img class="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAsCAYAAAA+aAX8AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
				jwv8YQUAAAAJcEhZcwAALiIAAC4iAari3ZIAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVh
				ZHlxyWU8AAAIN0lEQVRoQ+WaCaxdUxSGW2ouatZWaVS15nkqkZhSVERQglLEPCam1BCixhqqCKUS
				NIiYpxhqHmouIeaY5ylFzA/v1fev8+/j3N5737v3vtf3buNP/uy9/7X2Ovuse4a997m9mgltbW2L
				wRHwcHgFfAx+AH+GCb/BT2fNmvUk5ZXwYOrrOsTcCU5CJ74pPBJeA5+Bn8LfOLmagf/f8Af4NrwD
				ngg3wdTHh2pOMMB1Gejx8AE4M85mNqD/A7+D78GXkXQFTIMPwUfhdPg6/AxWTRw29b8QruPD9zwY
				zPrwHPi2xxmg3QrfgDfD05BGU24EB1HvC3s7REXgtwDsDzeEY+Ak+AJsUfwE2sJdcBN37V4whiU4
				+KGUM2JEBtpzUInZEa5g9y4FcYfAo+GLPmwOND2HFrXrnAUHWgnq0vzDB2+Bt0H9coPs1m3gmNvD
				ZyITBu234Jp26XoQfCC80sfTAXVv7wOXskuPgnHoSvnTw9P49MDdyOauAQEXhWdC4Vd4ARxmc1OB
				cW0Gv3U+lJDvKFa0ufMg4GXwR3gs7J57sRNoaWnR2+znLB2RkKds6jwItvbckIQiGO+eTkSby71t
				qh100qtsUCJxmmpSw5i2gWebR1jWm2047T1gf0vyfViJEKi/TtHua7wMdNJs8U/zDzjUpqYA47k4
				O704wY+kUZ2P+glQc5ldac9j323sF1cH2EB6h8BxYZdbRDeDOJ16UBJiHDFuMMdYbhjEGA8DxJ4h
				jXIemmMpz6ccqbZ1JUlT/3SrHC+9XeB0MjzV9RHqKFAXVg2nBkH/lxxO8aZYbhjEKEuGQH1BuCKc
				z1IAN61jAtiut1wZ+ByIkwa6r9t6ZmhSFZw9eL0gxiMw4SLLDYMYFZNRDbhpcpgwzXI5MOqSEvKM
				Ue8D+xU4r/Xe+C8HB1ThkhFgNqAXk6FVqyZuA1LcItBXQd+WUvf6YMslwFZvMs7KvMP/SculwKa3
				hfYPPsZpfsvS9QD9PRHbcOmUC9J+H2qfoRJ/0MHgFhHIQC8mQ8twxZ0Ji099vSGegn/TP0BdD/Db
				Ycn0nna9yZiceQcetFwKDE/4oNtZCtDeXHoC7dWlU1Uyvs7U6sBHJ7FaBAPU82TYJUAzFnCU+1mq
				COyfwGLi6k3G05l34BrL/wFxjA/0mKUcaNqBKiJODHclQ3sLCVqZprfEvVCLtThhiskRDFAvXhnv
				QPlfi5uW7ytTL14Nr0Bd1pfDXy1Lv93h6koGLstCLR/SuPJ5SQBBD8hPZATbWs6BrdZk7B4dDNpT
				Mjkw3bL0YjLOsxygPUWDyExtD1GNV6JAeyTUBlDCKtbrScYxhfjyj1s+B9o+dnifIj94AnpNyaC9
				f3QwkNJCTnjOsvRiMi6xrHiaA3ycyYFNbcqBpisl/aoHWaspGdg03uIc43mb/gOilt3CREslQG80
				GedmlkC1KyNPBnU9wOPWMp6Aut0S74HfwIQJ7ldTMjBPdBIiGWC0TRkQlseWNmR2tlwC9DmZjEmW
				pQ/zOAKqtwdcrnW/DpOBPtp9Ii6F9lhL1yWIo2zUvVhxzYHeLVcG/QfT/iuTA3qwan+zGndVP8p2
				k4G8E/wLW4D6PxTlnxgwaDEjaMe6n+USYOvqZKTbUrjQcor3ZSYHRtjULvCrmgwkfY5oRc9B+3Cb
				S4FhIhS+gAtZLgH9Y6GWuQU6mwx9IEqYajlA+47CsZ6lGovFBDTNkA9xM4CmpXsAWySDUrPjqZQl
				QBsfnSoB41UKAvS9ouJmDfpaDpTQ2WRcXYinCZm+pdyEtDClPgLloP0unABPp3lrpoZ+KkWskSgP
				sVZMhlat2t7LQftE2aoCh0sVBOheXclyCYjTp7W19bUsZAQtJuPLTA39gOhg0D7PJtny1xj1tWA+
				sUpAG2j7mZaqAh9tzPSVP+XStL+w/qY1XRlfWdOSYXvp7QKnU6Ayqk4jLZcB2zD4gv1iu52qkvG5
				NKPsyrCuPs9aDtDeDr4EtS7RRyXNCgfYLPtYfoC33D0Hul6tE6jOfvsMhVqaT8PWG85PXR+WxlOP
				pHUIHPNXDsif7NWAT773STdlX6vK4ebi4WRgWybZqFe86tBXUAw4BL+S7UTautTXo9yFcjdKPbsq
				PuQTsKdbZ16YLzZrAgdRRvXLCF/Big/R/wXInn5dffdMt8opNs214Bz6cyqNbUDRcZwTIWjDt3m+
				XtcBxq3pvL6p6mFftlFUE+i8JPxRCRGoawVbcVepGcF4V4eTGPNPHv+7NjUGAhzmQOl20fyhphlg
				T4CxLcQw9WC9Gxb3P4Q37NY4CHJXCuhSW3JnwEXs0qNgSHqVbw210ZP2XwK0A65/6C6NgziaAU5X
				wCIUHB4H86227gKH1+JtL3gd1N5sCdACbgZo5rtgnQKx+hLs/ixsdjBXBd2TtyKNhUOp1/dprgMQ
				rx9x16fcn1KbttrIyf9OkICWw1KApvY2YyXbpSBobKf7OGXApFtI+5d3Qq1BDoL6V87GcDVc9Ivq
				E4D+bjTQbc1i9demreDu8Ch0ffG6hdnmDMrvFbsSsAXczIGk3fwb4VYe+pwBB9Angkd83ADtqgkq
				AjetdTTV1icDlfl+Qi3AP4elHEjaDXscHgFjPdNt4ID6S9B9sNLiKoelmuFuJbCpDJi+hvqz2qFw
				iIfWc2AQusxPgvq484vH2eUgtpYHH0Hteeqb75ZwMQ+j+cDg9PlwFDwd6o9sr0KtbWI/tSPgp32M
				76H+s6mNX3030df5neGq1OtbZDUbOIlFoFaha0L9j0qfCHeAerDqVtODU8+hNThZfR1fHHbpG6kx
				9Or1LzUmVVz+HJXDAAAAAElFTkSuQmCC">
		<h1 class="title">Intel&reg; Threading Building Blocks.<br>Sudoku sample</h1>
	</div>
	
	<p>
		This directory contains a simple example that finds all solutions to a
		Sudoku board.
	<br><br>
		It uses a straightforward state-space search algorithm
		that exhibits OR-parallelism.  It can be optionally run until it
		obtains just the first solution. The point of the example is to teach
		how to use the task_group interface.
	<br><br>
		The example can be built in the offload version to run on Intel&reg; Many Integrated Core (Intel&reg; MIC) Architecture based coprocessor (see <a href="../../index.html">build instructions</a>).
	</p>

	<div class="changes">
		<div class="h3-alike">System Requirements</div>
		<input type="checkbox">
		<div class="show-hide">
			<p>
				For the most up to date system requirements, see the <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a>
			</p>
		</div>
	</div>
	
	<div class="changes">
		<div class="h3-alike">Files</div>
		<input type="checkbox" checked="checked">
		<div class="show-hide">
			<dl>
				<dt><a href="sudoku.cpp">sudoku.cpp</a>
				<dd>Driver.
				<dt><a href="input1">input1</a>
				<dd>Sample input file with modest number of solutions.
				<dt><a href="input2">input2</a>
				<dd>Sample input file with small number of solutions.
				<dt><a href="input3">input3</a>
				<dd>Sample input file with larger number of solutions.
				<dt><a href="input4">input4</a>
				<dd>Sample input file with very large number of solutions.
				<dt><a href="Makefile">Makefile</a>
				<dd>Makefile for building the example.
			</dl>
		</div>
	</div>

	<div class="changes">
		<div class="h3-alike">Directories</div>
		<input type="checkbox" checked="checked">
		<div class="show-hide">
			<dl>
				<dt><a href="msvs/">msvs</a>
				<dd>Contains Microsoft* Visual Studio* workspace for building and running the example with the Intel&reg; C++ Compiler (Windows* systems only).
				<dt><a href="xcode/">xcode</a>
				<dd>Contains Xcode* IDE workspace for building and running the example (OS X* systems only).
			</dl>
			<p>For information about the minimum supported version of IDE, see <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a></p>
		</div>
	</div>

	<div class="changes">
		<div class="h3-alike">Build instructions</div>
		<input type="checkbox" checked="checked">
		<div class="show-hide">
			<p>General build directions can be found <a href="../../index.html">here</a>.</p>
		</div>
	</div>

	<div class="changes">
		<div class="h3-alike">Usage</div>
		<input type="checkbox" checked="checked">
		<div class="show-hide">
			<dl>
				<dt><tt>sudoku <i>-h</i></tt>
				<dd>Prints the help for command line options
				<dt><tt>sudoku [<i>n-of-threads</i>=value] [<i>filename</i>=value] [<i>verbose</i>] [<i>silent</i>] [<i>find-one</i>]</tt>
				<dt><tt>sudoku [n-of-threads [filename]] [<i>verbose</i>] [<i>silent</i>] [<i>find-one</i>]</tt> 
				<dd><i>n-of-threads</i> is the number of threads to use; a range of the form <i>low</i>[:<i>high</i>], where low and optional high are non-negative integers or 'auto' for the TBB default.<br>
					<i>filename</i> is an input filename.<br>
					<i>verbose</i> - prints the first solution.<br>
					<i>silent</i> - no output except elapsed time.<br>
					<i>find-one</i> - stops after finding first solution.<br>
				<dt>To run a short version of this example, e.g., for use with Intel&reg; Parallel Inspector:
				<dd>Build a <i>debug</i> version of the example
					(see the <a href="../../index.html">build instructions</a>).
					<br>Run it with a small problem size and the desired number of threads, e.g., <tt>sudoku&nbsp;4&nbsp;input2</tt>.
			</dl>
		</div>
	</div>
	
	<br>
	<a href="../index.html">Up to parent directory</a>
	<hr>
	<div class="changes">
	<div class="h3-alike">Legal Information</div>
		<input type="checkbox">
		<div class="show-hide">
			<p>
				Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
				<br>* Other names and brands may be claimed as the property of others. 
				<br>&copy; 2016, Intel Corporation
			</p>
		</div>
	</div>	
	
</body>
</html>