Disabled external gits
This commit is contained in:
		@@ -0,0 +1,62 @@
 | 
			
		||||
# Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
#
 | 
			
		||||
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
# you may not use this file except in compliance with the License.
 | 
			
		||||
# You may obtain a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
# Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
# See the License for the specific language governing permissions and
 | 
			
		||||
# limitations under the License.
 | 
			
		||||
 | 
			
		||||
# Common Makefile that builds and runs example.
 | 
			
		||||
 | 
			
		||||
# Just specify your program basename
 | 
			
		||||
PROG=Fractal
 | 
			
		||||
ARGS=auto
 | 
			
		||||
PERF_RUN_ARGS=auto 1 1000000 silent
 | 
			
		||||
LIGHT_ARGS=auto 1 1000
 | 
			
		||||
 | 
			
		||||
# Trying to find if icl.exe is set
 | 
			
		||||
CXX1 = $(TBB_CXX)-
 | 
			
		||||
CXX2 = $(CXX1:icl.exe-=icl.exe)
 | 
			
		||||
CXX  = $(CXX2:-=cl.exe)
 | 
			
		||||
# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
 | 
			
		||||
#UI = con
 | 
			
		||||
UI = gdi
 | 
			
		||||
#UI = dd
 | 
			
		||||
 | 
			
		||||
# Machine architecture, auto-detected from TBB_TARGET_ARCH by default
 | 
			
		||||
# Use XARCH variable to change it. See index.html for more information
 | 
			
		||||
ARCH0 = $(TBB_TARGET_ARCH)-
 | 
			
		||||
ARCH1 = $(ARCH0:ia32-=x86)
 | 
			
		||||
ARCH2 = $(ARCH1:intel64-=AMD64)
 | 
			
		||||
XARCH = $(ARCH2:-=x86)
 | 
			
		||||
 | 
			
		||||
MAKEINC = ../../common/gui/Makefile.win
 | 
			
		||||
SOURCES = fractal.cpp main.cpp 
 | 
			
		||||
 | 
			
		||||
all: release test
 | 
			
		||||
release: compiler_check
 | 
			
		||||
	@$(MAKE) -f $(MAKEINC) UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
 | 
			
		||||
debug: compiler_check
 | 
			
		||||
	@$(MAKE) -f $(MAKEINC) UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) /D TBB_USE_DEBUG" LFLAGS="$(LDFLAGS) tbb_debug.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
 | 
			
		||||
clean:
 | 
			
		||||
	@cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest msvs\gui.res
 | 
			
		||||
test:
 | 
			
		||||
	$(PROG) $(ARGS)
 | 
			
		||||
light_test:
 | 
			
		||||
	$(PROG) $(LIGHT_ARGS)
 | 
			
		||||
 | 
			
		||||
perf_build: compiler_check
 | 
			
		||||
	@$(MAKE) -f $(MAKEINC) UI=con CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES) " EXE=$(PROG).exe build_one
 | 
			
		||||
perf_run:
 | 
			
		||||
	$(PROG) $(PERF_RUN_ARGS)
 | 
			
		||||
 | 
			
		||||
compiler_check:
 | 
			
		||||
	@echo compiler_test>compiler_test && @$(CXX) /E compiler_test >nul 2>&1  || echo "$(CXX) command not found. Check if CXX=$(CXX) is set properly"
 | 
			
		||||
	@cmd.exe /C del compiler_test
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										244
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/fractal.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										244
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/fractal.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,244 @@
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
 | 
			
		||||
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
    you may not use this file except in compliance with the License.
 | 
			
		||||
    You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
        http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
    See the License for the specific language governing permissions and
 | 
			
		||||
    limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include "fractal.h"
 | 
			
		||||
 | 
			
		||||
#include "tbb/parallel_for.h"
 | 
			
		||||
#include "tbb/blocked_range2d.h"
 | 
			
		||||
#include "tbb/tick_count.h"
 | 
			
		||||
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
video *v;
 | 
			
		||||
extern bool silent;
 | 
			
		||||
extern bool schedule_auto;
 | 
			
		||||
extern int grain_size;
 | 
			
		||||
 | 
			
		||||
color_t fractal::calc_one_pixel( int x0, int y0 ) const {
 | 
			
		||||
    unsigned int iter;
 | 
			
		||||
    double fx0, fy0, xtemp, x, y, mu;
 | 
			
		||||
 | 
			
		||||
    color_t color;
 | 
			
		||||
 | 
			
		||||
    fx0 = (double)x0 - (double) size_x / 2.0;
 | 
			
		||||
    fy0 = (double)y0 - (double) size_y / 2.0;
 | 
			
		||||
    fx0 = fx0 / magn + cx;
 | 
			
		||||
    fy0 = fy0 / magn + cy;
 | 
			
		||||
 | 
			
		||||
    iter = 0; x = 0; y = 0;
 | 
			
		||||
    mu = 0;
 | 
			
		||||
 | 
			
		||||
    while (((x*x + y*y) <= 4) && (iter < max_iterations)) {
 | 
			
		||||
        xtemp = x*x - y*y + fx0;
 | 
			
		||||
        y = 2*x*y + fy0;
 | 
			
		||||
        x = xtemp;
 | 
			
		||||
        mu += exp(-sqrt(x*x+y*y));
 | 
			
		||||
        iter++;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (iter == max_iterations) {
 | 
			
		||||
        // point corresponds to the mandelbrot set
 | 
			
		||||
        color = v->get_color(255, 255, 255);
 | 
			
		||||
        return color;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int b = (int)(256*mu);
 | 
			
		||||
    int g = (b/8);
 | 
			
		||||
    int r = (g/16);
 | 
			
		||||
 | 
			
		||||
    b = b>255 ? 255 : b;
 | 
			
		||||
    g = g>255 ? 255 : g;
 | 
			
		||||
    r = r>255 ? 255 : r;
 | 
			
		||||
 | 
			
		||||
    color = v->get_color(r, g, b);
 | 
			
		||||
    return color;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal::clear() {
 | 
			
		||||
    drawing_area area( off_x, off_y, size_x, size_y, dm ) ;
 | 
			
		||||
 | 
			
		||||
    // fill the rendering area with black color
 | 
			
		||||
    for (int y=0; y<size_y; ++y) {
 | 
			
		||||
        area.set_pos( 0, y );
 | 
			
		||||
        for (int x=0; x<size_x; ++x) {
 | 
			
		||||
            area.put_pixel( v->get_color(0, 0, 0) );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal::draw_border( bool is_active ) {
 | 
			
		||||
    color_t color = is_active ? v->get_color(0, 255, 0) // green color
 | 
			
		||||
                                : v->get_color(96, 128, 96); // green-gray color
 | 
			
		||||
 | 
			
		||||
    // top border
 | 
			
		||||
    drawing_area area0( off_x-1, off_y-1, size_x+2, 1, dm );
 | 
			
		||||
    for (int i=-1; i<size_x+1; ++i)
 | 
			
		||||
        area0.put_pixel(color);
 | 
			
		||||
    // bottom border
 | 
			
		||||
    drawing_area area1( off_x-1, off_y+size_y, size_x+2, 1, dm );
 | 
			
		||||
    for (int i=-1; i<size_x+1; ++i)
 | 
			
		||||
        area1.put_pixel(color);
 | 
			
		||||
    // left border
 | 
			
		||||
    drawing_area area2( off_x-1, off_y, 1, size_y+2, dm );
 | 
			
		||||
    for (int i=0; i<size_y; ++i)
 | 
			
		||||
        area2.set_pixel(0, i, color);
 | 
			
		||||
    // right border
 | 
			
		||||
    drawing_area area3( size_x+off_x, off_y, 1, size_y+2, dm );
 | 
			
		||||
    for (int i=0; i<size_y; ++i)
 | 
			
		||||
        area3.set_pixel(0, i, color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal::render_rect( int x0, int y0, int x1, int y1 ) const {
 | 
			
		||||
    // render the specified rectangle area
 | 
			
		||||
    drawing_area area(off_x+x0, off_y+y0, x1-x0, y1-y0, dm);
 | 
			
		||||
    for ( int y=y0; y<y1; ++y ) {
 | 
			
		||||
        area.set_pos( 0, y-y0 );
 | 
			
		||||
        for ( int x=x0; x<x1; ++x ) {
 | 
			
		||||
            area.put_pixel( calc_one_pixel( x, y ) );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class fractal_body {
 | 
			
		||||
    fractal &f;
 | 
			
		||||
public:
 | 
			
		||||
    void operator()( tbb::blocked_range2d<int> &r ) const {
 | 
			
		||||
        if ( v->next_frame() )
 | 
			
		||||
            f.render_rect( r.cols().begin(), r.rows().begin(), r.cols().end(), r.rows().end() );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fractal_body( fractal &_f ) : f(_f) {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void fractal::render( tbb::task_group_context &context ) {
 | 
			
		||||
    // Make copy of fractal object and render fractal with parallel_for with
 | 
			
		||||
    // the provided context and partitioner chosen by schedule_auto.
 | 
			
		||||
    // Updates to fractal are not reflected in the render.
 | 
			
		||||
    fractal f = *this;
 | 
			
		||||
    fractal_body body(f);
 | 
			
		||||
 | 
			
		||||
    if( schedule_auto )
 | 
			
		||||
        tbb::parallel_for( tbb::blocked_range2d<int>(0, size_y, grain_size, 0, size_x, grain_size ),
 | 
			
		||||
                body, tbb::auto_partitioner(), context);
 | 
			
		||||
    else
 | 
			
		||||
        tbb::parallel_for( tbb::blocked_range2d<int>(0, size_y, grain_size, 0, size_x, grain_size ),
 | 
			
		||||
                body, tbb::simple_partitioner(), context);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal::run( tbb::task_group_context &context ) {
 | 
			
		||||
    clear();
 | 
			
		||||
    context.reset();
 | 
			
		||||
    render( context );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool fractal::check_point( int x, int y ) const {
 | 
			
		||||
    return x >= off_x && x <= off_x+size_x &&
 | 
			
		||||
            y >= off_y && y <= off_y+size_y;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::calc_fractal( int num ) {
 | 
			
		||||
    // calculate the fractal
 | 
			
		||||
    fractal &f = num ? f1 : f0;
 | 
			
		||||
 | 
			
		||||
    tbb::tick_count t0 = tbb::tick_count::now();
 | 
			
		||||
    while ( v->next_frame() && num_frames[num] != 0 ) {
 | 
			
		||||
        f.run( context[num] );
 | 
			
		||||
        if ( num_frames[num]>0 ) num_frames[num] -= 1;
 | 
			
		||||
    }
 | 
			
		||||
    tbb::tick_count t1 = tbb::tick_count::now();
 | 
			
		||||
 | 
			
		||||
    if ( !silent ) {
 | 
			
		||||
        printf("  %s fractal finished. Time: %g\n", num ? "Second" : "First", (t1-t0).seconds());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::switch_active( int new_active ) {
 | 
			
		||||
    if( new_active!=-1 ) active = new_active;
 | 
			
		||||
    else                 active = 1-active; // assumes 'active' is only 0 or 1
 | 
			
		||||
    draw_borders();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::set_num_frames_at_least( int n ) {
 | 
			
		||||
    if ( num_frames[0]<n ) num_frames[0] = n;
 | 
			
		||||
    if ( num_frames[1]<n ) num_frames[1] = n;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::run( bool create_second_fractal ) {
 | 
			
		||||
    // First argument of arenas construntor is used to restrict concurrency
 | 
			
		||||
    arenas[0].initialize(num_threads);
 | 
			
		||||
    arenas[1].initialize(num_threads / 2);
 | 
			
		||||
 | 
			
		||||
    draw_borders();
 | 
			
		||||
 | 
			
		||||
    // the second fractal is calculating on separated thread
 | 
			
		||||
    if ( create_second_fractal ) {
 | 
			
		||||
        arenas[1].execute( [&] {
 | 
			
		||||
            groups[1].run( [&] { calc_fractal( 1 ); } );
 | 
			
		||||
        } );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    arenas[0].execute( [&] {
 | 
			
		||||
        groups[0].run( [&] { calc_fractal( 0 ); } );
 | 
			
		||||
    } );
 | 
			
		||||
 | 
			
		||||
    if ( create_second_fractal ) {
 | 
			
		||||
        arenas[1].execute( [&] { groups[1].wait(); } );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    arenas[0].execute( [&] { groups[0].wait(); } );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::draw_borders() {
 | 
			
		||||
    f0.draw_border( active==0 );
 | 
			
		||||
    f1.draw_border( active==1 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fractal_group::fractal_group( const drawing_memory &_dm, int _num_threads, unsigned int _max_iterations, int _num_frames ) : f0(_dm), f1(_dm), num_threads(_num_threads) {
 | 
			
		||||
    // set rendering areas
 | 
			
		||||
    f0.size_x = f1.size_x = _dm.sizex/2-4;
 | 
			
		||||
    f0.size_y = f1.size_y = _dm.sizey-4;
 | 
			
		||||
    f0.off_x = f0.off_y = f1.off_y = 2;
 | 
			
		||||
    f1.off_x = f0.size_x+4+2;
 | 
			
		||||
 | 
			
		||||
    // set fractals parameters
 | 
			
		||||
    f0.cx = -0.6f; f0.cy = 0.0f; f0.magn = 200.0f;
 | 
			
		||||
    f1.cx = -0.6f; f1.cy = 0.0f; f1.magn = 200.0f;
 | 
			
		||||
    f0.max_iterations = f1.max_iterations = _max_iterations;
 | 
			
		||||
 | 
			
		||||
    // initially the first fractal is active
 | 
			
		||||
    active = 0;
 | 
			
		||||
 | 
			
		||||
    num_frames[0] = num_frames[1] = _num_frames;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void fractal_group::mouse_click( int x, int y ) {
 | 
			
		||||
    // assumption that the point is not inside any fractal area
 | 
			
		||||
    int new_active = -1;
 | 
			
		||||
 | 
			
		||||
    if ( f0.check_point( x, y ) ) {
 | 
			
		||||
        // the point is inside the first fractal area
 | 
			
		||||
        new_active = 0;
 | 
			
		||||
    } else if ( f1.check_point( x, y ) ) {
 | 
			
		||||
        // the point is inside the second fractal area
 | 
			
		||||
        new_active = 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ( new_active != -1 && new_active != active ) {
 | 
			
		||||
        switch_active( new_active );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										164
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/fractal.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/fractal.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,164 @@
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
 | 
			
		||||
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
    you may not use this file except in compliance with the License.
 | 
			
		||||
    You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
        http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
    See the License for the specific language governing permissions and
 | 
			
		||||
    limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef FRACTAL_H_
 | 
			
		||||
#define FRACTAL_H_
 | 
			
		||||
 | 
			
		||||
#include <atomic>
 | 
			
		||||
#include "../../common/gui/video.h"
 | 
			
		||||
#include "../../common/utility/get_default_num_threads.h"
 | 
			
		||||
 | 
			
		||||
#include "tbb/task.h"
 | 
			
		||||
#include "tbb/task_arena.h"
 | 
			
		||||
#include "tbb/task_group.h"
 | 
			
		||||
 | 
			
		||||
//! Fractal class
 | 
			
		||||
class fractal {
 | 
			
		||||
    //! Left corner of the fractal area
 | 
			
		||||
    int off_x, off_y;
 | 
			
		||||
    //! Size of the fractal area
 | 
			
		||||
    int size_x, size_y;
 | 
			
		||||
 | 
			
		||||
    //! Fractal properties
 | 
			
		||||
    float cx, cy;
 | 
			
		||||
    float magn;
 | 
			
		||||
    float step;
 | 
			
		||||
    unsigned int max_iterations;
 | 
			
		||||
 | 
			
		||||
    //! Drawing memory object for rendering
 | 
			
		||||
    const drawing_memory &dm;
 | 
			
		||||
 | 
			
		||||
    //! One pixel calculation routine
 | 
			
		||||
    color_t calc_one_pixel( int x, int y ) const;
 | 
			
		||||
    //! Clears the fractal area
 | 
			
		||||
    void clear();
 | 
			
		||||
    //! Draws the border around the fractal area
 | 
			
		||||
    void draw_border( bool is_active );
 | 
			
		||||
    //! Renders the fractal
 | 
			
		||||
    void render( tbb::task_group_context &context );
 | 
			
		||||
    //! Check if the point is inside the fractal area
 | 
			
		||||
    bool check_point( int x, int y ) const;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    //! Constructor
 | 
			
		||||
    fractal( const drawing_memory &dm ) : step(0.2), dm(dm) {
 | 
			
		||||
#if _MSC_VER && _WIN64 && !__INTEL_COMPILER
 | 
			
		||||
        // Workaround for MSVC x64 compiler issue
 | 
			
		||||
        volatile int i=0;
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
    //! Runs the fractal calculation
 | 
			
		||||
    void run( tbb::task_group_context &context );
 | 
			
		||||
    //! Renders the fractal rectangular area
 | 
			
		||||
    void render_rect( int x0, int y0, int x1, int y1 ) const;
 | 
			
		||||
 | 
			
		||||
    void move_up()   { cy += step; }
 | 
			
		||||
    void move_down() { cy -= step; }
 | 
			
		||||
    void move_left() { cx += step; }
 | 
			
		||||
    void move_right(){ cx -= step; }
 | 
			
		||||
 | 
			
		||||
    void zoom_in() { magn *= 2.; step /= 2.; }
 | 
			
		||||
    void zoom_out(){ magn /= 2.; step *= 2.; }
 | 
			
		||||
 | 
			
		||||
    void quality_inc() { max_iterations += max_iterations/2; }
 | 
			
		||||
    void quality_dec() { max_iterations -= max_iterations/2; }
 | 
			
		||||
 | 
			
		||||
    friend class fractal_group;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//! The group of fractals
 | 
			
		||||
class fractal_group {
 | 
			
		||||
    //! Fractals definition
 | 
			
		||||
    fractal f0, f1;
 | 
			
		||||
    //! Number of frames to calculate
 | 
			
		||||
    std::atomic<int> num_frames[2];
 | 
			
		||||
 | 
			
		||||
    //! Contexts, arenas and groups for concurrent computation
 | 
			
		||||
    tbb::task_group_context context[2];
 | 
			
		||||
    tbb::task_arena arenas[2];
 | 
			
		||||
    tbb::task_group groups[2];
 | 
			
		||||
 | 
			
		||||
    //! Border type enumeration
 | 
			
		||||
    enum BORDER_TYPE {
 | 
			
		||||
        BORDER_INACTIVE = 0,
 | 
			
		||||
        BORDER_ACTIVE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    //! The number of the threads
 | 
			
		||||
    int num_threads;
 | 
			
		||||
    //! The active (high priority) fractal number
 | 
			
		||||
    int active;
 | 
			
		||||
 | 
			
		||||
    //! Draws the borders around the fractals
 | 
			
		||||
    void draw_borders();
 | 
			
		||||
    //! Sets priorities for fractals calculations
 | 
			
		||||
    void set_priorities();
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    //! Constructor
 | 
			
		||||
    fractal_group( const drawing_memory &_dm,
 | 
			
		||||
            int num_threads = utility::get_default_num_threads(),
 | 
			
		||||
            unsigned int max_iterations = 100000, int num_frames = 1 );
 | 
			
		||||
    //! Run calculation
 | 
			
		||||
    void run( bool create_second_fractal=true );
 | 
			
		||||
    //! Mouse event handler
 | 
			
		||||
    void mouse_click( int x, int y );
 | 
			
		||||
    //! Fractal calculation routine
 | 
			
		||||
    void calc_fractal( int num );
 | 
			
		||||
    //! Get number of threads
 | 
			
		||||
    int get_num_threads() const { return num_threads; }
 | 
			
		||||
    //! Reset the number of frames to be not less than the given value
 | 
			
		||||
    void set_num_frames_at_least( int n );
 | 
			
		||||
    //! Switch active fractal
 | 
			
		||||
    void switch_active( int new_active=-1 );
 | 
			
		||||
    //! Get active fractal
 | 
			
		||||
    fractal& get_active_fractal() { return  active ? f1 : f0; }
 | 
			
		||||
 | 
			
		||||
    void active_fractal_zoom_in() {
 | 
			
		||||
        get_active_fractal().zoom_in();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_zoom_out() {
 | 
			
		||||
        get_active_fractal().zoom_out();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_quality_inc() {
 | 
			
		||||
        get_active_fractal().quality_inc();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_quality_dec() {
 | 
			
		||||
        get_active_fractal().quality_dec();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_move_up() {
 | 
			
		||||
        get_active_fractal().move_up();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_move_down() {
 | 
			
		||||
        get_active_fractal().move_down();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_move_left() {
 | 
			
		||||
        get_active_fractal().move_left();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
    void active_fractal_move_right() {
 | 
			
		||||
        get_active_fractal().move_right();
 | 
			
		||||
        context[active].cancel_group_execution();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* FRACTAL_H_ */
 | 
			
		||||
@@ -0,0 +1,84 @@
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
 | 
			
		||||
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
    you may not use this file except in compliance with the License.
 | 
			
		||||
    You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
        http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
    See the License for the specific language governing permissions and
 | 
			
		||||
    limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef FRACTAL_VIDEO_H_
 | 
			
		||||
#define FRACTAL_VIDEO_H_
 | 
			
		||||
 | 
			
		||||
#include "../../common/gui/video.h"
 | 
			
		||||
#include "fractal.h"
 | 
			
		||||
 | 
			
		||||
extern video *v;
 | 
			
		||||
extern bool single;
 | 
			
		||||
 | 
			
		||||
class fractal_video : public video
 | 
			
		||||
{
 | 
			
		||||
    fractal_group *fg;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void on_mouse( int x, int y, int key ) {
 | 
			
		||||
        if( key == 1 ) {
 | 
			
		||||
            if ( fg ) {
 | 
			
		||||
                fg->set_num_frames_at_least(20);
 | 
			
		||||
                fg->mouse_click( x, y );
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void on_key( int key ) {
 | 
			
		||||
        switch ( key&0xff ) {
 | 
			
		||||
            case esc_key:
 | 
			
		||||
                running = false; break;
 | 
			
		||||
 | 
			
		||||
            case 'q':
 | 
			
		||||
                if( fg ) fg->active_fractal_zoom_in(); break;
 | 
			
		||||
            case 'e':
 | 
			
		||||
                if( fg ) fg->active_fractal_zoom_out(); break;
 | 
			
		||||
 | 
			
		||||
            case 'r':
 | 
			
		||||
                if( fg ) fg->active_fractal_quality_inc(); break;
 | 
			
		||||
            case 'f':
 | 
			
		||||
                if( fg ) fg->active_fractal_quality_dec(); break;
 | 
			
		||||
 | 
			
		||||
            case 'w':
 | 
			
		||||
                if( fg ) fg->active_fractal_move_up(); break;
 | 
			
		||||
            case 'a':
 | 
			
		||||
                if( fg ) fg->active_fractal_move_left(); break;
 | 
			
		||||
            case 's':
 | 
			
		||||
                if( fg ) fg->active_fractal_move_down(); break;
 | 
			
		||||
            case 'd':
 | 
			
		||||
                if( fg ) fg->active_fractal_move_right(); break;
 | 
			
		||||
        }
 | 
			
		||||
        if( fg ) fg->set_num_frames_at_least(20);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void on_process() {
 | 
			
		||||
        if ( fg ) {
 | 
			
		||||
            fg->run( !single );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    fractal_video() :fg(0) {
 | 
			
		||||
        title = "Dynamic Priorities in TBB: Fractal Example";
 | 
			
		||||
        v = this;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void set_fractal_group( fractal_group &_fg ) {
 | 
			
		||||
        fg = &_fg;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* FRACTAL_VIDEO_H_ */
 | 
			
		||||
							
								
								
									
										87
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
 | 
			
		||||
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
    you may not use this file except in compliance with the License.
 | 
			
		||||
    You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
        http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
    See the License for the specific language governing permissions and
 | 
			
		||||
    limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#define VIDEO_WINMAIN_ARGS
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
#include "fractal.h"
 | 
			
		||||
#include "fractal_video.h"
 | 
			
		||||
 | 
			
		||||
#include "tbb/tick_count.h"
 | 
			
		||||
 | 
			
		||||
#include "../../common/utility/utility.h"
 | 
			
		||||
 | 
			
		||||
bool silent = false;
 | 
			
		||||
bool single = false;
 | 
			
		||||
bool schedule_auto = false;
 | 
			
		||||
int grain_size = 8;
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    try{
 | 
			
		||||
        tbb::tick_count mainStartTime = tbb::tick_count::now();
 | 
			
		||||
 | 
			
		||||
        // It is used for console mode for test with different number of threads and also has
 | 
			
		||||
        // meaning for GUI: threads.first  - use separate event/updating loop thread (>0) or not (0).
 | 
			
		||||
        //                  threads.second - initialization value for scheduler
 | 
			
		||||
        utility::thread_number_range threads( utility::get_default_num_threads );
 | 
			
		||||
        int num_frames = -1;
 | 
			
		||||
        int max_iterations = 1000000;
 | 
			
		||||
 | 
			
		||||
        // command line parsing
 | 
			
		||||
        utility::parse_cli_arguments(argc,argv,
 | 
			
		||||
            utility::cli_argument_pack()
 | 
			
		||||
            //"-h" option for displaying help is present implicitly
 | 
			
		||||
            .positional_arg(threads,"n-of-threads",utility::thread_number_range_desc)
 | 
			
		||||
            .positional_arg(num_frames,"n-of-frames","number of frames the example processes internally")
 | 
			
		||||
            .positional_arg(max_iterations,"max-of-iterations","maximum number of the fractal iterations")
 | 
			
		||||
            .positional_arg(grain_size,"grain-size","the grain size value")
 | 
			
		||||
            .arg(schedule_auto, "use-auto-partitioner", "use tbb::auto_partitioner")
 | 
			
		||||
            .arg(silent, "silent", "no output except elapsed time")
 | 
			
		||||
            .arg(single, "single", "process only one fractal")
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        fractal_video video;
 | 
			
		||||
 | 
			
		||||
        // video layer init
 | 
			
		||||
        if ( video.init_window(1024, 512) ) {
 | 
			
		||||
            video.calc_fps = false;
 | 
			
		||||
            video.threaded = threads.first > 0;
 | 
			
		||||
            // initialize fractal group
 | 
			
		||||
            fractal_group fg( video.get_drawing_memory(), threads.last, max_iterations, num_frames );
 | 
			
		||||
            video.set_fractal_group( fg );
 | 
			
		||||
            // main loop
 | 
			
		||||
            video.main_loop();
 | 
			
		||||
        }
 | 
			
		||||
        else if ( video.init_console() ) {
 | 
			
		||||
            // in console mode we always have limited number of frames
 | 
			
		||||
            num_frames = num_frames<0 ? 1 : num_frames;
 | 
			
		||||
            for(int p = threads.first;  p <= threads.last; p = threads.step(p) ) {
 | 
			
		||||
                if ( !silent ) printf("Threads = %d\n", p);
 | 
			
		||||
                fractal_group fg( video.get_drawing_memory(), p, max_iterations, num_frames );
 | 
			
		||||
                fg.run( !single );
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        video.terminate();
 | 
			
		||||
        utility::report_elapsed_time((tbb::tick_count::now() - mainStartTime).seconds());
 | 
			
		||||
        return 0;
 | 
			
		||||
    } catch ( std::exception& e ) {
 | 
			
		||||
        std::cerr<<"error occurred. error text is :\"" <<e.what()<<"\"\n";
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/gui.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/gui.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										90
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/gui.rc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/gui.rc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
// Microsoft Visual C++ generated resource script.
 | 
			
		||||
//
 | 
			
		||||
#include "resource.h"
 | 
			
		||||
 | 
			
		||||
#define APSTUDIO_READONLY_SYMBOLS
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Generated from the TEXTINCLUDE 2 resource.
 | 
			
		||||
//
 | 
			
		||||
#define APSTUDIO_HIDDEN_SYMBOLS
 | 
			
		||||
#include "windows.h"
 | 
			
		||||
#undef APSTUDIO_HIDDEN_SYMBOLS
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#undef APSTUDIO_READONLY_SYMBOLS
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// English (U.S.) resources
 | 
			
		||||
 | 
			
		||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 | 
			
		||||
#pragma code_page(1252)
 | 
			
		||||
#endif //_WIN32
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Icon
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
// Icon with lowest ID value placed first to ensure application icon
 | 
			
		||||
// remains consistent on all systems.
 | 
			
		||||
IDI_GUI   ICON                    "gui.ico"
 | 
			
		||||
IDI_SMALL               ICON                    "small.ico"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef APSTUDIO_INVOKED
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// TEXTINCLUDE
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
1 TEXTINCLUDE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "resource.h\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
2 TEXTINCLUDE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
 | 
			
		||||
    "#include ""windows.h""\r\n"
 | 
			
		||||
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
 | 
			
		||||
    "\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
3 TEXTINCLUDE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "\r\n"
 | 
			
		||||
    "\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#endif    // APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// String Table
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
STRINGTABLE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    IDS_APP_TITLE           "gui"
 | 
			
		||||
    IDC_GUI   "GUI"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#endif    // English (U.S.) resources
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef APSTUDIO_INVOKED
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Generated from the TEXTINCLUDE 3 resource.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#endif    // not APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (c) 2005-2020 Intel Corporation
 | 
			
		||||
 | 
			
		||||
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
    you may not use this file except in compliance with the License.
 | 
			
		||||
    You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
        http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
    See the License for the specific language governing permissions and
 | 
			
		||||
    limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#define IDC_MYICON                      2
 | 
			
		||||
#define IDD_GUI                         102
 | 
			
		||||
#define IDS_APP_TITLE                   103
 | 
			
		||||
#define IDI_GUI                         107
 | 
			
		||||
#define IDI_SMALL                       108
 | 
			
		||||
#define IDC_GUI                         109
 | 
			
		||||
#define IDR_MAINFRAME                   128
 | 
			
		||||
#define IDC_STATIC                      -1
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/small.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/msvs/small.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										445
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/readme.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										445
									
								
								cs440-acg/ext/tbb/examples/task_arena/fractal/readme.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,445 @@
 | 
			
		||||
<!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® Threading Building Blocks. Fractal 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® Threading Building Blocks.<br>Fractal sample</h1>
 | 
			
		||||
	</div>
 | 
			
		||||
	
 | 
			
		||||
	<p>
 | 
			
		||||
		The example calculates two classical Mandelbrot fractals with different concurrency levels. 
 | 
			
		||||
	<br><br>
 | 
			
		||||
		The application window is divided into two areas where fractals are rendered.
 | 
			
		||||
		The example also has the console mode.
 | 
			
		||||
	</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="main.cpp">main.cpp</a>
 | 
			
		||||
				<dd>Main program which parses command line options and runs the fractals calculation in GUI or Console mode.
 | 
			
		||||
				<dt><a href="fractal.h">fractal.h</a>
 | 
			
		||||
				<dd>Interfaces of fractal and fractal_group classes.
 | 
			
		||||
				<dt><a href="fractal.cpp">fractal.cpp</a>
 | 
			
		||||
				<dd>Implementations of fractal and fractal_group classes.
 | 
			
		||||
				<dt><a href="fractal_video.h">fractal_video.h</a>
 | 
			
		||||
				<dd>GUI mode support interface.
 | 
			
		||||
				<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 (Windows* systems only).
 | 
			
		||||
				<dt><a href="xcode/">xcode</a>
 | 
			
		||||
				<dd>Contains Xcode* IDE workspace for building and running the example (macOS* 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>fractal <i>-h</i></tt>
 | 
			
		||||
				<dd>Prints the help for command line options
 | 
			
		||||
				<dt><tt>fractal [<i>n-of-threads=value</i>] [<i>n-of-frames=value</i>] [<i>max-of-iterations=value</i>] [<i>grain-size=value</i>] [<i>silent</i>] [<i>single</i>]</tt>
 | 
			
		||||
				<dt><tt>fractal [<i>n-of-threads</i> [<i>n-of-frames</i> [<i>max-of-iterations</i> [<i>grain-size</i>]]]] [<i>silent</i>] [<i>single</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 a platform-specific default number.<br>
 | 
			
		||||
					<i>n-of-frames</i> is a number of frames the example processes internally.<br>
 | 
			
		||||
					<i>max-of-iterations</i> is a maximum number of the fractal iterations.<br>
 | 
			
		||||
					<i>grain-size</i> is an optional grain size, must be a positive integer. <br>
 | 
			
		||||
					<i>use-auto-partitioner</i> - use tbb::auto_partitioner.<br>
 | 
			
		||||
					<i>silent</i> - no output except elapsed time.<br>
 | 
			
		||||
					<i>single</i> - process only one fractal.<br>
 | 
			
		||||
 | 
			
		||||
				<dt>To run a short version of this example, e.g., for use with Intel® 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 fractal iterations number and the desired number of threads, e.g., <tt>fractal 4 1 10000</tt>.
 | 
			
		||||
			</dl>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
	<div class="changes">
 | 
			
		||||
		<div class="h3-alike">Hot keys</div>
 | 
			
		||||
		<input type="checkbox" checked="checked">
 | 
			
		||||
		<div class="show-hide">
 | 
			
		||||
			<p>
 | 
			
		||||
				The following hot keys can be used in interactive execution mode when the example is compiled with the graphical user interface:
 | 
			
		||||
			</p>
 | 
			
		||||
			<dl>
 | 
			
		||||
				<dt><left mouse button>
 | 
			
		||||
				<dd>Make the fractal active
 | 
			
		||||
				<dt><w>
 | 
			
		||||
				<dd>Move the active fractal up
 | 
			
		||||
				<dt><a>
 | 
			
		||||
				<dd>Move the active fractal to the left
 | 
			
		||||
				<dt><s>
 | 
			
		||||
				<dd>Move the active fractal down
 | 
			
		||||
				<dt><d>
 | 
			
		||||
				<dd>Move the active fractal to the right
 | 
			
		||||
				<dt><q>
 | 
			
		||||
				<dd>Zoom in the active fractal
 | 
			
		||||
				<dt><e>
 | 
			
		||||
				<dd>Zoom out the active fractal
 | 
			
		||||
				<dt><r>
 | 
			
		||||
				<dd>Increase quality (count of iterations for each pixel) the active fractal
 | 
			
		||||
				<dt><f>
 | 
			
		||||
				<dd>Decrease quality (count of iterations for each pixel) the active fractal
 | 
			
		||||
				<dt><esc>
 | 
			
		||||
				<dd>Stop execution.
 | 
			
		||||
			</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>© 2020, Intel Corporation
 | 
			
		||||
			</p>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>	
 | 
			
		||||
	
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -0,0 +1,613 @@
 | 
			
		||||
// !$*UTF8*$!
 | 
			
		||||
{
 | 
			
		||||
	archiveVersion = 1;
 | 
			
		||||
	classes = {
 | 
			
		||||
	};
 | 
			
		||||
	objectVersion = 46;
 | 
			
		||||
	objects = {
 | 
			
		||||
 | 
			
		||||
/* Begin PBXBuildFile section */
 | 
			
		||||
		84011722152D687A00B07E4D /* fractal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84011720152D687A00B07E4D /* fractal.cpp */; };
 | 
			
		||||
		84B8DA77152CA90100D59B95 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA6F152CA90100D59B95 /* main.m */; };
 | 
			
		||||
		84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
 | 
			
		||||
		84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
 | 
			
		||||
		84B8DA7A152CA90100D59B95 /* (null) in Resources */ = {isa = PBXBuildFile; };
 | 
			
		||||
		84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */; };
 | 
			
		||||
		84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7E152CA97B00D59B95 /* MainMenu.xib */; };
 | 
			
		||||
		84B8DA87152CA99C00D59B95 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
 | 
			
		||||
		84B8DA9A152CADF400D59B95 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
 | 
			
		||||
		84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D017551527431F0008A4E0 /* Cocoa.framework */; };
 | 
			
		||||
		84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D01775152744BD0008A4E0 /* OpenGL.framework */; };
 | 
			
		||||
		D31F32341C11798900A77D54 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
 | 
			
		||||
		D31F32351C11798E00A77D54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA6F152CA90100D59B95 /* main.m */; };
 | 
			
		||||
		D31F32361C11799200A77D54 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
 | 
			
		||||
		D31F32371C11799500A77D54 /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
 | 
			
		||||
		D31F323A1C117A6200A77D54 /* iOS.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D31F32381C117A1700A77D54 /* iOS.storyboard */; };
 | 
			
		||||
		D31F323B1C117BE300A77D54 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
 | 
			
		||||
		D31F323C1C117BE700A77D54 /* fractal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84011720152D687A00B07E4D /* fractal.cpp */; };
 | 
			
		||||
/* End PBXBuildFile section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXBuildRule section */
 | 
			
		||||
		C3C589782191C36D00DAC94C /* PBXBuildRule */ = {
 | 
			
		||||
			isa = PBXBuildRule;
 | 
			
		||||
			compilerSpec = com.intel.compilers.icc.latest;
 | 
			
		||||
			fileType = sourcecode.cpp;
 | 
			
		||||
			isEditable = 1;
 | 
			
		||||
			outputFiles = (
 | 
			
		||||
			);
 | 
			
		||||
			script = "# Type a script or drag a script file from your workspace to insert its path.\n";
 | 
			
		||||
		};
 | 
			
		||||
		C3C5897A2191DC7A00DAC94C /* PBXBuildRule */ = {
 | 
			
		||||
			isa = PBXBuildRule;
 | 
			
		||||
			compilerSpec = com.intel.compilers.icc.latest;
 | 
			
		||||
			fileType = sourcecode.cpp;
 | 
			
		||||
			isEditable = 1;
 | 
			
		||||
			outputFiles = (
 | 
			
		||||
			);
 | 
			
		||||
			script = "# Type a script or drag a script file from your workspace to insert its path.\n";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXBuildRule section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFileReference section */
 | 
			
		||||
		8401171F152D687A00B07E4D /* fractal_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fractal_video.h; path = ../fractal_video.h; sourceTree = "<group>"; };
 | 
			
		||||
		84011720152D687A00B07E4D /* fractal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fractal.cpp; path = ../fractal.cpp; sourceTree = "<group>"; };
 | 
			
		||||
		84011721152D687A00B07E4D /* fractal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fractal.h; path = ../fractal.h; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA13152C9AC600D59B95 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/libtbb.dylib; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA6F152CA90100D59B95 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../../../common/gui/xcode/tbbExample/main.m; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA70152CA90100D59B95 /* OpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenGLView.h; path = ../../../common/gui/xcode/tbbExample/OpenGLView.h; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA71152CA90100D59B95 /* OpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OpenGLView.m; path = ../../../common/gui/xcode/tbbExample/OpenGLView.m; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tbbAppDelegate.h; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.h; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = tbbAppDelegate.m; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.m; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "tbbExample-Prefix.pch"; path = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch"; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA7D152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA7F152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = MainMenu.xib; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA82152CA99C00D59B95 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../main.cpp; sourceTree = "<group>"; };
 | 
			
		||||
		84B8DA99152CADF400D59B95 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = "<group>"; };
 | 
			
		||||
		84D017511527431F0008A4E0 /* tbbExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		84D017551527431F0008A4E0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		84D017581527431F0008A4E0 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		84D017591527431F0008A4E0 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		84D0175A1527431F0008A4E0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		84D01775152744BD0008A4E0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		D31F321D1C11796D00A77D54 /* tbbExample_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		D31F32381C117A1700A77D54 /* iOS.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = iOS.storyboard; path = ../iOS.storyboard; sourceTree = "<group>"; };
 | 
			
		||||
		D31F323F1C11B5C900A77D54 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/libtbb.dylib; sourceTree = "<group>"; };
 | 
			
		||||
		D31F32401C11B5C900A77D54 /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = ../../../../lib/libtbbmalloc.dylib; sourceTree = "<group>"; };
 | 
			
		||||
		D31F32901C12E67300A77D54 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/ios/libtbb.dylib; sourceTree = "<group>"; };
 | 
			
		||||
		D31F32911C12E67300A77D54 /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = ../../../../lib/ios/libtbbmalloc.dylib; sourceTree = "<group>"; };
 | 
			
		||||
/* End PBXFileReference section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFrameworksBuildPhase section */
 | 
			
		||||
		84D0174E1527431F0008A4E0 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */,
 | 
			
		||||
				84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		D31F321A1C11796D00A77D54 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXFrameworksBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXGroup section */
 | 
			
		||||
		84011727152D68D200B07E4D /* Sources */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				8401171F152D687A00B07E4D /* fractal_video.h */,
 | 
			
		||||
				84B8DA82152CA99C00D59B95 /* main.cpp */,
 | 
			
		||||
				84011720152D687A00B07E4D /* fractal.cpp */,
 | 
			
		||||
				84011721152D687A00B07E4D /* fractal.h */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Sources;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84B8DA6C152CA8D900D59B95 /* tbbExample */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84011727152D68D200B07E4D /* Sources */,
 | 
			
		||||
				84B8DA98152CAD8600D59B95 /* Gui layer */,
 | 
			
		||||
				84B8DA7B152CA97B00D59B95 /* Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			name = tbbExample;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84B8DA7B152CA97B00D59B95 /* Resources */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				D31F32381C117A1700A77D54 /* iOS.storyboard */,
 | 
			
		||||
				84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */,
 | 
			
		||||
				84B8DA7E152CA97B00D59B95 /* MainMenu.xib */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Resources;
 | 
			
		||||
			path = ../../../common/gui/xcode/tbbExample/en.lproj;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84B8DA98152CAD8600D59B95 /* Gui layer */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84B8DA99152CADF400D59B95 /* macvideo.cpp */,
 | 
			
		||||
				84B8DA6F152CA90100D59B95 /* main.m */,
 | 
			
		||||
				84B8DA70152CA90100D59B95 /* OpenGLView.h */,
 | 
			
		||||
				84B8DA71152CA90100D59B95 /* OpenGLView.m */,
 | 
			
		||||
				84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */,
 | 
			
		||||
				84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */,
 | 
			
		||||
				84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */,
 | 
			
		||||
			);
 | 
			
		||||
			name = "Gui layer";
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84D017461527431F0008A4E0 = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84B8DA6C152CA8D900D59B95 /* tbbExample */,
 | 
			
		||||
				84D017541527431F0008A4E0 /* Frameworks */,
 | 
			
		||||
				84D017521527431F0008A4E0 /* Products */,
 | 
			
		||||
			);
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84D017521527431F0008A4E0 /* Products */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84D017511527431F0008A4E0 /* tbbExample.app */,
 | 
			
		||||
				D31F321D1C11796D00A77D54 /* tbbExample_ios.app */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Products;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84D017541527431F0008A4E0 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				D31F323F1C11B5C900A77D54 /* libtbb.dylib */,
 | 
			
		||||
				D31F32401C11B5C900A77D54 /* libtbbmalloc.dylib */,
 | 
			
		||||
				D31F32901C12E67300A77D54 /* libtbb.dylib */,
 | 
			
		||||
				D31F32911C12E67300A77D54 /* libtbbmalloc.dylib */,
 | 
			
		||||
				84D01775152744BD0008A4E0 /* OpenGL.framework */,
 | 
			
		||||
				84D017551527431F0008A4E0 /* Cocoa.framework */,
 | 
			
		||||
				84D017571527431F0008A4E0 /* Other Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Frameworks;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84D017571527431F0008A4E0 /* Other Frameworks */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84B8DA13152C9AC600D59B95 /* libtbb.dylib */,
 | 
			
		||||
				84D017581527431F0008A4E0 /* AppKit.framework */,
 | 
			
		||||
				84D017591527431F0008A4E0 /* CoreData.framework */,
 | 
			
		||||
				84D0175A1527431F0008A4E0 /* Foundation.framework */,
 | 
			
		||||
			);
 | 
			
		||||
			name = "Other Frameworks";
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXGroup section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXNativeTarget section */
 | 
			
		||||
		84D017501527431F0008A4E0 /* tbbExample */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				84D0174D1527431F0008A4E0 /* Sources */,
 | 
			
		||||
				84D0174E1527431F0008A4E0 /* Frameworks */,
 | 
			
		||||
				84D0174F1527431F0008A4E0 /* Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
				C3C589782191C36D00DAC94C /* PBXBuildRule */,
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
			);
 | 
			
		||||
			name = tbbExample;
 | 
			
		||||
			productName = tbbExample;
 | 
			
		||||
			productReference = 84D017511527431F0008A4E0 /* tbbExample.app */;
 | 
			
		||||
			productType = "com.apple.product-type.application";
 | 
			
		||||
		};
 | 
			
		||||
		D31F321C1C11796D00A77D54 /* tbbExample_ios */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = D31F32331C11796D00A77D54 /* Build configuration list for PBXNativeTarget "tbbExample_ios" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				D31F32191C11796D00A77D54 /* Sources */,
 | 
			
		||||
				D31F321A1C11796D00A77D54 /* Frameworks */,
 | 
			
		||||
				D31F321B1C11796D00A77D54 /* Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
				C3C5897A2191DC7A00DAC94C /* PBXBuildRule */,
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
			);
 | 
			
		||||
			name = tbbExample_ios;
 | 
			
		||||
			productName = tbbExample_ios;
 | 
			
		||||
			productReference = D31F321D1C11796D00A77D54 /* tbbExample_ios.app */;
 | 
			
		||||
			productType = "com.apple.product-type.application";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXNativeTarget section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXProject section */
 | 
			
		||||
		84D017481527431F0008A4E0 /* Project object */ = {
 | 
			
		||||
			isa = PBXProject;
 | 
			
		||||
			attributes = {
 | 
			
		||||
				CLASSPREFIX = tbb;
 | 
			
		||||
				LastUpgradeCheck = 1000;
 | 
			
		||||
				TargetAttributes = {
 | 
			
		||||
					D31F321C1C11796D00A77D54 = {
 | 
			
		||||
						CreatedOnToolsVersion = 7.1.1;
 | 
			
		||||
					};
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
			buildConfigurationList = 84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "fractal" */;
 | 
			
		||||
			compatibilityVersion = "Xcode 3.2";
 | 
			
		||||
			developmentRegion = English;
 | 
			
		||||
			hasScannedForEncodings = 0;
 | 
			
		||||
			knownRegions = (
 | 
			
		||||
				en,
 | 
			
		||||
				Base,
 | 
			
		||||
			);
 | 
			
		||||
			mainGroup = 84D017461527431F0008A4E0;
 | 
			
		||||
			productRefGroup = 84D017521527431F0008A4E0 /* Products */;
 | 
			
		||||
			projectDirPath = "";
 | 
			
		||||
			projectRoot = "";
 | 
			
		||||
			targets = (
 | 
			
		||||
				84D017501527431F0008A4E0 /* tbbExample */,
 | 
			
		||||
				D31F321C1C11796D00A77D54 /* tbbExample_ios */,
 | 
			
		||||
			);
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXProject section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXResourcesBuildPhase section */
 | 
			
		||||
		84D0174F1527431F0008A4E0 /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				84B8DA7A152CA90100D59B95 /* (null) in Resources */,
 | 
			
		||||
				84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */,
 | 
			
		||||
				84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		D31F321B1C11796D00A77D54 /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				D31F323A1C117A6200A77D54 /* iOS.storyboard in Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXResourcesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXSourcesBuildPhase section */
 | 
			
		||||
		84D0174D1527431F0008A4E0 /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				84B8DA77152CA90100D59B95 /* main.m in Sources */,
 | 
			
		||||
				84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */,
 | 
			
		||||
				84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */,
 | 
			
		||||
				84B8DA87152CA99C00D59B95 /* main.cpp in Sources */,
 | 
			
		||||
				84B8DA9A152CADF400D59B95 /* macvideo.cpp in Sources */,
 | 
			
		||||
				84011722152D687A00B07E4D /* fractal.cpp in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		D31F32191C11796D00A77D54 /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				D31F32351C11798E00A77D54 /* main.m in Sources */,
 | 
			
		||||
				D31F323C1C117BE700A77D54 /* fractal.cpp in Sources */,
 | 
			
		||||
				D31F32361C11799200A77D54 /* OpenGLView.m in Sources */,
 | 
			
		||||
				D31F32371C11799500A77D54 /* tbbAppDelegate.m in Sources */,
 | 
			
		||||
				D31F323B1C117BE300A77D54 /* main.cpp in Sources */,
 | 
			
		||||
				D31F32341C11798900A77D54 /* macvideo.cpp in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXSourcesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXVariantGroup section */
 | 
			
		||||
		84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */ = {
 | 
			
		||||
			isa = PBXVariantGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84B8DA7D152CA97B00D59B95 /* en */,
 | 
			
		||||
			);
 | 
			
		||||
			name = InfoPlist.strings;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		84B8DA7E152CA97B00D59B95 /* MainMenu.xib */ = {
 | 
			
		||||
			isa = PBXVariantGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				84B8DA7F152CA97B00D59B95 /* en */,
 | 
			
		||||
			);
 | 
			
		||||
			name = MainMenu.xib;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXVariantGroup section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCBuildConfiguration section */
 | 
			
		||||
		84D01770152743200008A4E0 /* Debug64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = c11;
 | 
			
		||||
				GCC_DYNAMIC_NO_PIC = NO;
 | 
			
		||||
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_OPTIMIZATION_LEVEL = 0;
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = (
 | 
			
		||||
					"DEBUG=1",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 | 
			
		||||
				GCC_VERSION = "";
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				HEADER_SEARCH_PATHS = (
 | 
			
		||||
					"$(TBBROOT)/include",
 | 
			
		||||
					/opt/intel/tbb/include,
 | 
			
		||||
				);
 | 
			
		||||
				ICC_CXX_LANG_DIALECT = "c++11";
 | 
			
		||||
				ICC_TBB = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"$(TBBROOT)/lib",
 | 
			
		||||
					/opt/intel/tbb/lib,
 | 
			
		||||
				);
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				ONLY_ACTIVE_ARCH = YES;
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"-m64",
 | 
			
		||||
					"-ltbb_debug",
 | 
			
		||||
				);
 | 
			
		||||
				SDKROOT = macosx;
 | 
			
		||||
				VALID_ARCHS = x86_64;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug64;
 | 
			
		||||
		};
 | 
			
		||||
		84D01771152743200008A4E0 /* Release64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = YES;
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = c11;
 | 
			
		||||
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_VERSION = "";
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				HEADER_SEARCH_PATHS = (
 | 
			
		||||
					"$(TBBROOT)/include",
 | 
			
		||||
					/opt/intel/tbb/include,
 | 
			
		||||
				);
 | 
			
		||||
				ICC_CXX_LANG_DIALECT = "c++11";
 | 
			
		||||
				ICC_TBB = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"$(TBBROOT)/lib",
 | 
			
		||||
					/opt/intel/tbb/lib,
 | 
			
		||||
				);
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"-m64",
 | 
			
		||||
					"-ltbb",
 | 
			
		||||
				);
 | 
			
		||||
				SDKROOT = macosx;
 | 
			
		||||
				VALID_ARCHS = x86_64;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release64;
 | 
			
		||||
		};
 | 
			
		||||
		84D01773152743200008A4E0 /* Debug64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = NO;
 | 
			
		||||
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 | 
			
		||||
				GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
 | 
			
		||||
				HEADER_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				RUN_CLANG_STATIC_ANALYZER = YES;
 | 
			
		||||
				USER_HEADER_SEARCH_PATHS = "";
 | 
			
		||||
				VERSION_INFO_BUILDER = "$(TARGET_NAME)";
 | 
			
		||||
				WRAPPER_EXTENSION = app;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug64;
 | 
			
		||||
		};
 | 
			
		||||
		84D01774152743200008A4E0 /* Release64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = NO;
 | 
			
		||||
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 | 
			
		||||
				GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
 | 
			
		||||
				HEADER_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				RUN_CLANG_STATIC_ANALYZER = YES;
 | 
			
		||||
				USER_HEADER_SEARCH_PATHS = "";
 | 
			
		||||
				VERSION_INFO_BUILDER = "$(TARGET_NAME)";
 | 
			
		||||
				WRAPPER_EXTENSION = app;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release64;
 | 
			
		||||
		};
 | 
			
		||||
		D31F32311C11796D00A77D54 /* Debug64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = dwarf;
 | 
			
		||||
				DEVELOPMENT_TEAM = "";
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = (
 | 
			
		||||
					"DEBUG=1",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"__TBB_IOS=1",
 | 
			
		||||
				);
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				HEADER_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = YES;
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
				TARGETED_DEVICE_FAMILY = "1,2";
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug64;
 | 
			
		||||
		};
 | 
			
		||||
		D31F32321C11796D00A77D54 /* Release64 */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				DEVELOPMENT_TEAM = "";
 | 
			
		||||
				ENABLE_NS_ASSERTIONS = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = "__TBB_IOS=1";
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				HEADER_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				MACOSX_DEPLOYMENT_TARGET = 10.11;
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = NO;
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
				TARGETED_DEVICE_FAMILY = "1,2";
 | 
			
		||||
				VALIDATE_PRODUCT = YES;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release64;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCBuildConfiguration section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCConfigurationList section */
 | 
			
		||||
		84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "fractal" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				84D01770152743200008A4E0 /* Debug64 */,
 | 
			
		||||
				84D01771152743200008A4E0 /* Release64 */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release64;
 | 
			
		||||
		};
 | 
			
		||||
		84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				84D01773152743200008A4E0 /* Debug64 */,
 | 
			
		||||
				84D01774152743200008A4E0 /* Release64 */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release64;
 | 
			
		||||
		};
 | 
			
		||||
		D31F32331C11796D00A77D54 /* Build configuration list for PBXNativeTarget "tbbExample_ios" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				D31F32311C11796D00A77D54 /* Debug64 */,
 | 
			
		||||
				D31F32321C11796D00A77D54 /* Release64 */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release64;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCConfigurationList section */
 | 
			
		||||
	};
 | 
			
		||||
	rootObject = 84D017481527431F0008A4E0 /* Project object */;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,91 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Scheme
 | 
			
		||||
   LastUpgradeVersion = "0710"
 | 
			
		||||
   version = "1.3">
 | 
			
		||||
   <BuildAction
 | 
			
		||||
      parallelizeBuildables = "YES"
 | 
			
		||||
      buildImplicitDependencies = "YES">
 | 
			
		||||
      <BuildActionEntries>
 | 
			
		||||
         <BuildActionEntry
 | 
			
		||||
            buildForTesting = "YES"
 | 
			
		||||
            buildForRunning = "YES"
 | 
			
		||||
            buildForProfiling = "YES"
 | 
			
		||||
            buildForArchiving = "YES"
 | 
			
		||||
            buildForAnalyzing = "YES">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "D31F321C1C11796D00A77D54"
 | 
			
		||||
               BuildableName = "tbbExample_ios.app"
 | 
			
		||||
               BlueprintName = "tbbExample_ios"
 | 
			
		||||
               ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </BuildActionEntry>
 | 
			
		||||
      </BuildActionEntries>
 | 
			
		||||
   </BuildAction>
 | 
			
		||||
   <TestAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES">
 | 
			
		||||
      <Testables>
 | 
			
		||||
      </Testables>
 | 
			
		||||
      <MacroExpansion>
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "D31F321C1C11796D00A77D54"
 | 
			
		||||
            BuildableName = "tbbExample_ios.app"
 | 
			
		||||
            BlueprintName = "tbbExample_ios"
 | 
			
		||||
            ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </MacroExpansion>
 | 
			
		||||
      <AdditionalOptions>
 | 
			
		||||
      </AdditionalOptions>
 | 
			
		||||
   </TestAction>
 | 
			
		||||
   <LaunchAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      launchStyle = "0"
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      ignoresPersistentStateOnLaunch = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES"
 | 
			
		||||
      debugServiceExtension = "internal"
 | 
			
		||||
      allowLocationSimulation = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "D31F321C1C11796D00A77D54"
 | 
			
		||||
            BuildableName = "tbbExample_ios.app"
 | 
			
		||||
            BlueprintName = "tbbExample_ios"
 | 
			
		||||
            ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
      <AdditionalOptions>
 | 
			
		||||
      </AdditionalOptions>
 | 
			
		||||
   </LaunchAction>
 | 
			
		||||
   <ProfileAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES"
 | 
			
		||||
      savedToolIdentifier = ""
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "D31F321C1C11796D00A77D54"
 | 
			
		||||
            BuildableName = "tbbExample_ios.app"
 | 
			
		||||
            BlueprintName = "tbbExample_ios"
 | 
			
		||||
            ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </ProfileAction>
 | 
			
		||||
   <AnalyzeAction
 | 
			
		||||
      buildConfiguration = "Debug">
 | 
			
		||||
   </AnalyzeAction>
 | 
			
		||||
   <ArchiveAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      revealArchiveInOrganizer = "YES">
 | 
			
		||||
   </ArchiveAction>
 | 
			
		||||
</Scheme>
 | 
			
		||||
@@ -0,0 +1,93 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Scheme
 | 
			
		||||
   version = "1.3">
 | 
			
		||||
   <BuildAction
 | 
			
		||||
      parallelizeBuildables = "YES"
 | 
			
		||||
      buildImplicitDependencies = "YES">
 | 
			
		||||
      <BuildActionEntries>
 | 
			
		||||
         <BuildActionEntry
 | 
			
		||||
            buildForTesting = "YES"
 | 
			
		||||
            buildForRunning = "YES"
 | 
			
		||||
            buildForProfiling = "YES"
 | 
			
		||||
            buildForArchiving = "YES"
 | 
			
		||||
            buildForAnalyzing = "YES">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "84D017501527431F0008A4E0"
 | 
			
		||||
               BuildableName = "tbbExample.app"
 | 
			
		||||
               BlueprintName = "tbbExample"
 | 
			
		||||
               ReferencedContainer = "container:tbbExample.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </BuildActionEntry>
 | 
			
		||||
      </BuildActionEntries>
 | 
			
		||||
   </BuildAction>
 | 
			
		||||
   <TestAction
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES"
 | 
			
		||||
      buildConfiguration = "Debug">
 | 
			
		||||
      <Testables>
 | 
			
		||||
      </Testables>
 | 
			
		||||
      <MacroExpansion>
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "84D017501527431F0008A4E0"
 | 
			
		||||
            BuildableName = "tbbExample.app"
 | 
			
		||||
            BlueprintName = "tbbExample"
 | 
			
		||||
            ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </MacroExpansion>
 | 
			
		||||
   </TestAction>
 | 
			
		||||
   <LaunchAction
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      launchStyle = "0"
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      customWorkingDirectory = "/tmp"
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      ignoresPersistentStateOnLaunch = "NO"
 | 
			
		||||
      debugDocumentVersioning = "NO"
 | 
			
		||||
      allowLocationSimulation = "YES">
 | 
			
		||||
      <BuildableProductRunnable>
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "84D017501527431F0008A4E0"
 | 
			
		||||
            BuildableName = "tbbExample.app"
 | 
			
		||||
            BlueprintName = "tbbExample"
 | 
			
		||||
            ReferencedContainer = "container:fractal.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
      <EnvironmentVariables>
 | 
			
		||||
         <EnvironmentVariable
 | 
			
		||||
            key = "DYLD_LIBRARY_PATH"
 | 
			
		||||
            value = "$(SRCROOT)/../../../../lib"
 | 
			
		||||
            isEnabled = "YES">
 | 
			
		||||
         </EnvironmentVariable>
 | 
			
		||||
      </EnvironmentVariables>
 | 
			
		||||
      <AdditionalOptions>
 | 
			
		||||
      </AdditionalOptions>
 | 
			
		||||
   </LaunchAction>
 | 
			
		||||
   <ProfileAction
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES"
 | 
			
		||||
      savedToolIdentifier = ""
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      debugDocumentVersioning = "YES">
 | 
			
		||||
      <BuildableProductRunnable>
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "84D017501527431F0008A4E0"
 | 
			
		||||
            BuildableName = "tbbExample.app"
 | 
			
		||||
            BlueprintName = "tbbExample"
 | 
			
		||||
            ReferencedContainer = "container:tbbExample.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </ProfileAction>
 | 
			
		||||
   <AnalyzeAction
 | 
			
		||||
      buildConfiguration = "Debug">
 | 
			
		||||
   </AnalyzeAction>
 | 
			
		||||
   <ArchiveAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      revealArchiveInOrganizer = "YES">
 | 
			
		||||
   </ArchiveAction>
 | 
			
		||||
</Scheme>
 | 
			
		||||
							
								
								
									
										343
									
								
								cs440-acg/ext/tbb/examples/task_arena/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										343
									
								
								cs440-acg/ext/tbb/examples/task_arena/index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,343 @@
 | 
			
		||||
<!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® Threading Building Blocks. Samples on task_arena feature</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® Threading Building Blocks.<br>Samples on <code>task_arena</code> feature</h1>
 | 
			
		||||
	</div>
 | 
			
		||||
	
 | 
			
		||||
	<p>
 | 
			
		||||
		This directory has examples of how to use the <code>task_arena</code> feature.
 | 
			
		||||
	</p>
 | 
			
		||||
 | 
			
		||||
	<div class="changes">
 | 
			
		||||
		<div class="h3-alike">Directories</div>
 | 
			
		||||
		<input type="checkbox" checked="checked">
 | 
			
		||||
		<div class="show-hide">
 | 
			
		||||
			<dl>
 | 
			
		||||
				<dt><a href="fractal/readme.html">fractal</a>
 | 
			
		||||
				<dd>The example calculates two classical Mandelbrot fractals with different concurrency limits.
 | 
			
		||||
			</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>© 2020, Intel Corporation
 | 
			
		||||
			</p>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user