OpenLLM-France/wikimedia huggingface dataset:
# OpenGL Programming/reference/glBegin
## Description

* Defines a list of points to make in to primitives.
* The type of primitive is passed when you call it.

## Useage Context
### Allowed Primitive Types

* [[OpenGL_Programming/reference/GL_POINTS
** Each vertex is a single point
* [[OpenGL_Programming/reference/GL_LINES
** Must be a multiple of 2
** Each pair of vertices is a independent line segment.
* [[OpenGL_Programming/reference/GL_LINE_STRIP
** Draws a connected group of line segments from the first vertex to the last. After the first Vertices each additonal Vertices draws a new line.
* [[OpenGL_Programming/reference/GL_LINE_LOOP
** Draws a connected group of line segments from the first vertex to the last. The last line is defined by the first and last vertex makeing a closed loop.
* [[OpenGL_Programming/reference/GL_TRIANGLES
** Each triplet of vertices as an independent triangle.
** Must be a multiple of 3
* [[OpenGL_Programming/reference/GL_TRIANGLE_STRIP
** Draws a connected group of triangles. After the first 2 vertices each additonal point defines a new triangle. The triangle is made up of the last 2 and the newest vertex moving down the list.
* [[OpenGL_Programming/reference/GL_TRIANGLE_FAN
** Draws a connected group of triangles. After the first 2 vertices each additonal point defines a new triangle. The triangle is made up of the first the last and the newest vertex moving down the list.
* [[OpenGL_Programming/reference/GL_QUADS
** Each group of four vertices as an independent quadriliteral.
** Must be a multiple of 4
* [[OpenGL_Programming/reference/GL_QUAD_STRIP
** Draws a connected group of quadriliterals. After the first 2 Vertices each additonal pair Vertices makes a new quadriliteral.
** Must be a multiple of 2 after the first 2 Vertices.
* [[OpenGL_Programming/reference/GL_POLYGON
** Draws a single polygon. same as GL_LINE_STRIP
** Must have 3 or more Vertices.

### Functions allowed inside a glBegin glEnd section

* glVertex
* glColor
* glIndex
* glNormal
* glTexCoord
* glEvalCoord
* glEvalPoint
* glMaterial
* glEdgeFlag
* glCallList
* glCallLists

## References

http://www.cs.utk.edu/~vose/c-stuff/opengl/glBegin.html
# OpenMP

Welcome to the Wikibook Parallel Programming with OpenMP! This short book serves as a tutorial for the OpenMP framework for parallel programming, using the C programming language. It discusses how to easily create parallel programs in C, or add parallel constructs to existing sequential code to make it run faster on multiprocessor and multicore machines.
* This book assumes you are already familiar with either C or C++. While the examples are in C, OpenMP works very similarly in C++ and the techniques discussed usually carry over to C++ with few modifications. We won't discuss OpenMP support in Fortran.
* The examples in this book are mostly numerical algorithms, but it is not too heavy on the math. OpenMP is popular in the scientific computing world, but it can just as easily be employed in games, server programs, or any other program that has to do a lot of computation.
* The emphasis in this book is on the OpenMP 3 standard and programming for multicore CPUs. While OpenMP 4 adds interesting new features including support for vector instructions, GPUs and accelerators, OpenMP 3 is better supported by current C and C++ compilers.

## Contents

* Overview of OpenMP
* Setting up
* Parallel loops
* Reductions: summing floating point numbers
* Parallel tasks and recursion
# OpenMP/Loops
## A motivating example

Assume we need to parallelize the following sequential code.
What we can do is assign each thread to carry out a subset of iterations.
The omp_set_num_threads(24) in above code tells the computer to spawn 24 threads when we enter the parallel region (scope of #pragma omp parallel). However, there is no guarantee that we would be given the exact number of threads as we ask for, due to resource limitations and environment constraints. Therefore, we call omp_get_num_threads within the parallel region to know actual the number of threads spawned. Then we assign the starting and ending iterations for each thread. For example, thread with id 0 (returned by omp_get_thread_num) will execute all iterations between istart and iend. Each thread will get a private instance of loop index variable, and private instances of variables declared within the parallel region.
We can simplify above function with OpenMP's for worksharing construct. It may be combined with the parallel directive as #pragma omp parallel for.
The compiler directive #pragma omp for has no effect unless it is used within a parallel region. Also, it is safe to assume code that uses OpenMP library functions but does not use #pragma omp parallel anywhere, is not parallelized by OpenMP.
# OpenSCAD User Manual/DXF Extrusion

With the import and extrusion modules it is possible to convert 2D objects read from DXF files to 3D objects. See also 2D to 3D Extrusion.

### Linear Extrude

Example of linear extrusion of a 2D object imported from a DXF file.

### Rotate Extrude

Example of rotational extrusion of a 2D object imported from a DXF file.

### Getting Inkscape to work

Inkscape is an open source drawing program. Tutorials for transferring 2d DXF drawings from Inkscape to OpenSCAD are available here:
* http://repraprip.blogspot.com/2011/05/inkscape-to-openscad-dxf-tutorial.html (Very simple, needs path segments to be straight lines)
* http://tonybuser.com/?tag=inkscape (More complicated, involves conversion to Postscript)
* http://bobcookdev.com/inkscape/inkscape-dxf.html (Better DXF Export, native support for bezier curves)
* http://www.bigbluesaw.com/saw/big-blue-saw-blog/general-updates/big-blue-saws-dxf-export-for-inkscape.html (even better support, works as of 10/29/2014, see link below registration window. Note: As of 6/17/15 only works with version 0.48.5 or earlier of inkscape, due to a breaking change made in 0.91.)
* http://www.instructables.com/id/Convert-any-2D-image-to-a-3D-object-using-OpenSCAD/ (Convert any 2D image to a 3D object using OpenSCAD)
* http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:de_inkscape_a_openscad (French, directly exports OpenSCAD file)

## Previous

CSG Export

## Next

Other 2D formats
# OpenSCAD User Manual/First Steps

Creating your first model after installing OpenSCAD.
* Creating a simple model
* Positioning an object
* Changing the color of an object
* Model views
* Opening an existing example model

## Previous

OpenSCAD User Manual

## Next

The OpenSCAD User Interface

## Notes

* ↑ For information about downloading and installing OpenSCAD, see http://www.openscad.org/downloads.html.
# OpenSCAD User Manual/DXF Export

In order to export your model as a DXF file, it must first be projected as a 2D drawing.
For instructions on using the projection function see OpenSCAD User Manual/3D to 2D Projection.
# OpenSCAD User Manual/First Steps/Changing the color of an object

We can change the color of an object by giving it RGB values. Instead of the traditional RGB values from 0 to 255 floating point values are used from 0.0 to 1.0. Note: changing the colors works only in Preview mode (F5); render mode (F6) does not currently support color.
| Usage example 1 - changing the color of an object: |
| color([1,0,0]) cube([2,3,4]); translate([3,0,0]) color([0,1,0]) cube([2,3,4]); translate([6,0,0]) color([0,0,1]) cube([2,3,4]); | OpenSCAD changing the color of an object |
Color names can be used in the 2011.12 version (and newer). The names are the same used for Web colors. For example: color("red") cube;
If you think of the entire command as a sentence, then color is an "adjective" that describes the "object" of the sentence (which is a "noun"). In this case, the object is the cube to be created. The adjective is placed before the noun in the sentence, like so: color cube;. In the same way, translate can be thought of as a "verb" that acts upon the object, and is placed like this: translate color cube;. The following code produces the same result:
If colors are nested, the outer-most color "wins" and over-rides any lower-level color statements.

### See Also

Previous: Positioning an object
Next: Model views
# MATLAB Programming/Semilog

[MATLAB Programming\|/MATLAB Programming]m]
Chapter 1: MATLAB ._.
    Fundamentals of MATLAB
    MATLAB Workspace
    MATLAB Variables
    *.mat files
Chapter 2: MATLAB Concepts
    MATLAB operator
    Data File I/O
Chapter 3: Variable Manipulation
    Numbers and Booleans
    Strings
    Portable Functions
    Complex Numbers
Chapter 4: Vector and matrices
    Vector and Matrices
    Special Matrices
    Operation on Vectors
    Operation on Matrices
    Sparse Matrices
Chapter 5: Array
    Arrays
    Introduction to array operations
    Vectors and Basic Vector Operations
    Mathematics with Vectors and Matrices
    Struct Arrays
    Cell Arrays
Chapter 6: Graphical Plotting
    Basic Graphics Commands
    Plot
    Polar Plot
    Semilogx or Semilogy
    Loglog
    Bode Plot
    Nichols Plot
    Nyquist Plot
Chapter 7: M File Programming
    Scripts
    Comments
    The Input Function
    Control Flow
    Loops and Branches
    Error Messages
    Debugging M Files
Chapter 8: Advanced Topics
    Numerical Manipulation
    Advanced File I/O
    Object Oriented Programming
    Applications and Examples
    Toolboxes and Extensions
Chapter 9: Bonus chapters
    MATLAB Benefits and Caveats
    Alternatives to MATLAB
    [MATLAB_Programming/GNU_Octave|What is Octave= (8) hsrmonic functions]
    Octave/MATLAB differences
Note that this page is a copy of the ControlTheoryPro.com page on semilogx/y commands.

## Introduction

The semilogx or semilogy commands plot data with 1 axis linear and the other axis log scale. The semilogx command plots the data on the x-axis on a log scale. For controls this is particularly useful when manually creating a bode plot.

## Bode Plots

The MATLAB bode plot is very convenient but when the plot needs to be formatted then the bode command makes this difficult. As a result this author (Gabe 13:30, 20 April 2008 (CDT)) creates bode plots using the following commands

## External Links

* ControlTheoryPro.com page on semilogx/y
# MATLAB Programming/Variables

[MATLAB Programming\|/MATLAB Programming]m]
Chapter 1: MATLAB ._.
    Fundamentals of MATLAB
    MATLAB Workspace
    MATLAB Variables
    *.mat files
Chapter 2: MATLAB Concepts
    MATLAB operator
    Data File I/O
Chapter 3: Variable Manipulation
    Numbers and Booleans
    Strings
    Portable Functions
    Complex Numbers
Chapter 4: Vector and matrices
    Vector and Matrices
    Special Matrices
    Operation on Vectors
    Operation on Matrices
    Sparse Matrices
Chapter 5: Array
    Arrays
    Introduction to array operations
    Vectors and Basic Vector Operations
    Mathematics with Vectors and Matrices
    Struct Arrays
    Cell Arrays
Chapter 6: Graphical Plotting
    Basic Graphics Commands
    Plot
    Polar Plot
    Semilogx or Semilogy
    Loglog
    Bode Plot
    Nichols Plot
    Nyquist Plot
Chapter 7: M File Programming
    Scripts
    Comments
    The Input Function
    Control Flow
    Loops and Branches
    Error Messages
    Debugging M Files
Chapter 8: Advanced Topics
    Numerical Manipulation
    Advanced File I/O
    Object Oriented Programming
    Applications and Examples
    Toolboxes and Extensions
Chapter 9: Bonus chapters
    MATLAB Benefits and Caveats
    Alternatives to MATLAB
    [MATLAB_Programming/GNU_Octave|What is Octave= (8) hsrmonic functions]
    Octave/MATLAB differences

## Variables

Variables are just a container of your data. You can give any name to your variable as long as it is under 63 characters, starts with an alphabet and is without any punctuation in between. The reason for not allowing any punctuation is that the punctuation marks like . , : , ; etc have a special meaning in MATLAB and can alter the flow of execution
is a perfectly valid variable name. There may be some variables names that are not allowed even if they are perfectly valid variable names, because they are reserved keywords and are used to notify some code execution logic. However their number is limited and meaningful names for variables can be created outside this pool of names. To find if any word is a reserved keyword, run this check on the command line.
The result would be
All values of variables are referred by their current instance in the workspace. The variables can be overwritten during the execution of MATLAB scripts and the values vary accordingly. All operations use the current value in the workspace.
Let's try something good. We all know that the value of pi is 3.1416, lets ask MATLAB the same, type this on the command window
The result is
Lets try overwriting it...
...and see it once again.
Calculate the area of a circle now.
To keep execution clean, a semicolon (;) is used to suppress output.
# MATLAB Programming/Vector and Matrices
## What is scalar,vector and matrix ?
#### Scalar

Scalars are the physical quantities that are described by magnitude only. In other words, scalars are those quantities that are represented just by their numerical value, such as 3, -5, 0.368, etc.

#### Vector

A vector is an array of numbers or a list of scalar values in one dimensional array of numbers (can be in a row or column).
This example vector A below is row vector
    $\mathbf {A} ={\begin{bmatrix}5&8&6\\\end{bmatrix}}.$
This example vector B below is column vector
    $\mathbf {B} ={\begin{bmatrix}7\\3\\2\end{bmatrix}}.$

#### Matrix

A matrix is an ordered rectangular array arrangement of numbers. They are stored as two-dimensional arrays in MATLAB. A matrix having m rows and n columns is called a matrix of order m × n or simply m × n matrix. It can be represented by one or more rows (i) AND one or more columns (j).
Back in Introduction chapter , MATLAB was originally designed to carry out operations with matrices, and received the name of MATrix LABoratory that subsequently was reduced to MATLAB.
It is possible to find applications of matrices not only in the mathematics areas, but also in a great deal of applications in engineering, in physics, in finance, in accounting, in chemistry and in biology, perhaps more.
There are many types of matrices with followings as shown
| Rectangular Matrix (Where no. of row and column are unequal) | Square Matrix (Where no. of row and column are same) | Row Matrix (Matrix with one row , aka row vector) | Column Matrix (Matrix with one column , aka column vector) | Diagonal Matrix (Square Matrix with non-diagonal elements equal to zero ) |
| $\mathbf {\begin{bmatrix}9&5\\2&7\\8&3\end{bmatrix}} .$ | $\mathbf {\begin{bmatrix}4&9&2\\3&5&7\\8&1&6\end{bmatrix}}$ | $\mathbf {\begin{bmatrix}1&4&5\\\end{bmatrix}}$ | $\mathbf {\begin{bmatrix}7\\9\\1\end{bmatrix}}$ | $\mathbf {\begin{bmatrix}8&0&0\\0&7&0\\0&0&5\end{bmatrix}}$ |

## Scalar in MATLAB

Scalar in MATLAB looks like assigning a variable to a number such as followed:

## Vectors in MATLAB

You can type following in MATLAB
For row vector , just type comma "," to separate each number
For column vector , just type semicolon ";" to separate each number

## Matrix in MATLAB

In MATLAB, to create matrix (or matrices), there is 3 important operator to be used
(a) Bracket "[" "]" as container for the matrix (b) Comma , as matrix row separator (c) Semicolon ; as matrix column separator
For example, we are creating 4X3 matrix in MATLAB using following commands.
# Pinyin/Fungus

Search Pinyin fungus
# Pinyin/GP
## Noun

* general practitioner
** GP; quarnke yisheng
# Pinyin/Galaxy

A galaxy is a huge system of stars in outer space.
xingxih shih waihtaihkong juhdah d xingtii xihtoong.
# Pinyin/Fuzhou

Fuzhou is the capital of Fujian province of China. It is situated in the areas of the Min Jiang river downstream and along the coast in the east of Fujian. Fuzhou is the political and cultural center of Fujian province. It is an important port along the coast in the southeast of China. It is one of the industrial and technological base of China. Fuzhou is the homeland of 3,000,000+ overseas Chinese. The area of Fuzhou is 13,066km2. Its population is 7,200,000+.
Furzhou shih ZG Furjiahn-sheeng sheenghuih. ta weihyur Furjiahn dongbuh d Miin Jiang xiahyour her yarnhaai dihqu. Furzhou shih Furjiahn d zhehngzhih her wernhuah zhongxin. ta shih ZG dongnarn yarnhaai d Zhohngyaoh gaangkoou. ta shih ZG gongyeh her kejih d jidih zhiyi. Furzhou shih 300'0000+ haaiwaih Huarrern d guhxiang. Furzhou d miahnji 1'3066km2, rernkoou 720'0000+.
# Pinyin/Gallbladder

In vertebrates, the gallbladder is a small organ where bile (a fluid produced by the liver) is stored and concentrated before it is released into the small intestine. Humans can live without a gallbladder. The surgical removal of the gallbladder is called a cholecystectomy.
Dǎnnáng shì jǐzhuīdòngwù de xiǎo qìguān, yòngyǐ chǔcún hé nóngsuō dǎnzhī (yóu gānzàng chǎnshēng de yètǐ), ránhòu shìfàng jìnrù xiǎocháng. Rén méiyǒu dǎnnáng yě kě shēngcún. Shǒushù qiēchú dǎnnáng chēngwéi dǎnnáng-qiēchúshù.
# Pinyin/Fuel

Fuel is a substance such as oil, gas, coal, or wood that produces heat or power when it is burned.
rarnliaoh shih rarnshao shir chaansheng rehnerng d wuhzhih, rur shiryour, meirqih, meirtahn, huoh muh'tou.
# Pinyin/Gain

to gain: to obtain something, especially something that you want
quuder: derdaoh xiaangyaoh derdaoh d mooushihwuh
# Pinyin/Friday

Friday is the day between Thursday and Saturday.
Xingqiwuu shih Xingqisih her Xingqiliuh zhijian d rih'zi.
# Pinyin/Fried chicken

See also
# Pinyin/Front

Search Pinyin front
The front is the part of something that is farthest forward.
qiarnbuh shih moouwuh zuih qiarnmiahn d buhfehn.
# Pinyin/From

See also
# Pinyin/Fruits and vegetables
## See also

* Pinyin/Vegetable
* Pinyin/Fruit
# Pinyin/French Fry

See also
# Mac OS X Tiger/System Preferences/Displays

This window allows you control over aspects over the monitors connected to the Macintosh. You can choose the resolution, the number of maximum colors to display, and the refresh rate. The Detect Displays button flashes a number on each monitor if you have more than one monitor installed, while the Rotate button allows you to rotate the monitor 90, 180 or 270 degrees. The Rotate button is only present if you have a video card that will handle screen rotation.
# Mac OS X Tiger/System Preferences/Speech

Mac OS X features a range of brilliant speech features. These go from setting the computer to read out error messages and alerts in a voice of your choice, to using a microphone and getting you Mac to do tasks through its built-in Speech Recognition.
All the settings for these for these features can be found in your Mac's System Preferences. This option can normally be found on the Dock when you first buy your Mac, but if not, it should be in your Applications folder. After System Preferences has loaded up, click Speech which comes under System.
More help about this topic can be found in your Mac's Help Viewer.
# Mac OS X Tiger/System Preferences/Dock

When the  > Dock menu is missing an option you want, you'll have to turn to the Dock pane of System Preferences. This pane gives you more fine-grained control over the Dock.
* Dock Size - This slider adjusts the size of the dock. You can also do this by dragging the thin line that separates the Dock into left and right sides.
* Magnification - When Magnification is on, the icons in your Dock “bulge” as you move your cursor over them. You'll either go gaga for this effect or find it distracting. The slider next door controls just how large the icons on the Dock will become when you move your cursor over them.
* Position on screen - This controls where the Dock is located on the screen. Most people prefer to have the Dock on the bottom, but on some small widescreen laptops, vertical space is more valuable than horizontal, and having the Dock running down the side of the screen saves a lot of space.
* Minimize using - The Genie Effect, the default setting, makes the window minimize like a genie going into a bottle. The Scale Effect is more modest, and goes faster.
* Animate opening applications - By default, application icons in the Dock bounce up and down while opening. Turning this option off makes the small triangle under the icon pulse instead.
* Automatically hide and show the Dock - When this option is turned on, the Dock will disappear completely unless you let your cursor rest right next to the edge of your screen where your Dock is. The Dock will then temporarily pop out so you can work with it. When you move the cursor away, it will disappear again.
# Mac OS X Tiger/System Preferences/Startup Disk

This is where you decide how your computer should boot. The amount of options depend on your setup and most users will have only one choice, the OS X system on the internal harddrive. Other potential options are to boot from an official OS X disc (either one of the discs you got with the computer or the CDs you get if you buy OS X) or to boot from a BootCamp partition. It's also possible to have an extra OS X on an external harddrive and boot from that one. It's even possible to boot from a volume on a network.
This preference pane is very easy to use. Click the volume you want to have as start disk and press the Restart... button. The computer will restart and boot from the system you picked.
This is also where you restart in Target Disk Mode to be able to use the computer as an external harddrive (only works with FireWire).
# Parkour/Basic Moves/Turn Vault

Quick navigation for Parkour Wikibook: 01. Introduction 02. Exercises 03. Basic Movements
04. Advanced Movements 05. Freerunning

## Steps

* Approach the rail focusing on hand placement above all else.
* Once your hands are secured in place, dip your right shoulder and begin the hop over the rail.
* As your legs side vault to one side, your right hand should take all the weight while the left hand lets go of the bar to switch positions.
* Once your hands are in position use both arms to support your weight while pivoting. Once done, you can spot where your feet will be placed.
* Guiding your feet into position, get ready to bend the knees.
* Bend the knees deeply to absorb the shock and prepare for the dismount.
# Parkour/Basic Moves/Two Handed Vault

Quick navigation for Parkour Wikibook: 01. Introduction 02. Exercises 03. Basic Movements
04. Advanced Movements 05. Freerunning

## Overview

The two handed vault is probably the easiest and the most common. This technique requires two hands and a bit of strength to pull yourself over an object. Objects are usually rails, but this method can be used in the 'cat jump' to pull yourself over.