Index of base_pi

## Contents

List of Anonymous functions
List of structures
List of constants
List of variables
List of functions
List of operators

## List of structures

##### rational
```struct rational
```
'p' est le numérateur, 'q' est le dénominateur. 'ep' est la précision avec laquelle le rationnel a été obtenu dans le cas où il y convertion à partir d'un irrationnel. .................................................. 'p' is the numerator, 'q' is the denominator. 'ep' is the precision with which the rational was obtained in the case of a convertion from irrational.
[Browse code]

## List of variables

##### Spline(... guide[])
`guide Spline(... guide[])=operator ..;`
[Browse code]
##### Straight(... guide[])
`guide Straight(... guide[])=operator --;`
[Browse code]

## List of functions

##### isPrime(int)
```bool isPrime(int num)
```
[Browse code]
##### join(pair[],interpolate)
```guide join(pair[] a, interpolate join=operator --)
```
[Browse code] Example 0004
##### gcd(int,int)
```int gcd(int a, int b)
```
Greatest common divisor.
[Browse code]
##### pgcd(int,int)
```int pgcd(int a, int b)
```
Greatest common divisor.
[Browse code]
##### intersectionpoints(path,pair,pair)
```pair[] intersectionpoints(path g, pair a, pair b)
```
Retourne tous les points d'intersection de la droite (ab) avec 'g'. .................................................. Return all the intersection points of the line (ab) with the path 'g'.
[Browse code] Example 0004 Example 0008
##### intersectionpointsd(path,pair,pair)
```pair[] intersectionpointsd(path g, pair a, pair b)
```
Retourne tous les points d'intersection de la demi-droite [ab) avec 'g'. .................................................. Return all the intersection points of the half-line from 'a' towards 'b' with the path 'g'.
[Browse code] Example 0005 Example 0009
##### intersectionpointsh(path,real)
```pair[] intersectionpointsh(path g, real y)
```
Retourne tous les points d'intersection de 'g' avec la droite horizontale passant par (0,y). .................................................. Return all the intersection points of the path "g" with the horizontal line passing by (0,y).
[Browse code] Example 0003
##### intersectionpointsv(path,real)
```pair[] intersectionpointsv(path g, real x)
```
Retourne tous les points d'intersection de 'g' avec la droite verticale passant par (x,0). .................................................. Return all the intersection points of the path "g" with the vertical line passing by (x,0).
[Browse code] Example 0003
##### points(path g,real[])
```pair[] points(path g, real[] t)
```
Extend 'point(path, real)' routine to array of 'real'.
[Browse code]
##### points(path,int[])
```pair [] points(path g, int[] t)
```
Extend 'point(path, int)' routine to array of 'int'.
[Browse code]
##### rational(real,real)
```rational rational(real x, real ep=1/10^5)
```
Retourne le rationnel qui approxime 'x' tel que 'abs(p/q-x)<=ep'. .................................................. Return the rational which approximates 'x' such as 'abs(p/q-x)<=ep'.
[Browse code] Example 0002
##### intersectp(path,pair,int,real)
```real intersectp(path g, pair a, int n=1, real fuzz=0)
```
Retourne le "temps" par rapport à 'g' du premier point d'intersection de 'g' avec le plus petit cercle de centre 'a' coupant 'g'. La précision du découpage peut être augmentée en augmentant 'n'. .................................................. Return the time along 'g' of the first intersection point of the path "g" with the smaller circle centered in 'a' and which is intersecting 'g'. The cutting precision is increased by increasing n.
[Browse code]
##### intersectsd(path,pair,pair)
```real[] intersectsd(path g, pair a, pair b)
```
Retourne les "temps" par rapport à 'g' de tous les points d'intersection de la demi-droite [ab) avec 'g'. .................................................. Return the times along 'g' of all intersection points of the half-line from 'a' towards 'b' with the path 'g'.
[Browse code]
##### intersectsh(path g, real y)
```real[] intersectsh(path p, real y)
```
Retourne les "temps" par rapport à 'g' de tous les points d'intersection de 'g' avec la droite horizontale passant par (0,y). La précision du découpage peut être augmentée en augmentant 'n'. .................................................. Return the times along 'g' of all intersection points of the path 'g' with the horizontal line passing by (0,y).
[Browse code]
##### intersectsv(path,real)
```real[] intersectsv(path p, real x)
```
Retourne les "temps" par rapport à 'g' de tous les points d'intersection de 'g' avec la droite verticale passant par (x,0). .................................................. Return the times along "g" of all intersection points of the path "g" with the vertical line passing by (x,0).
[Browse code] Example 0006
##### texfrac(int,int,string,bool,bool,bool,bool)
```string texfrac(int p, int q,
string factor="",
bool signin=false, bool factorin=true,
bool displaystyle=false,
bool zero=true)
```
Retourne le code LaTeX pour écrire la fraction p/q*factor. Si 'signin' vaut 'true' le signe '-' est dans la fraction (au numérateur). Si 'displaystyle' vaut 'true' le code est en mode 'displaystyle'. Si 'zero' vaut 'false' et 'p' vaut 0, le code génère 0/p*factor; 0 si 'zero' vaut 'true'. .................................................. Return the LaTeX code to write the fraction p/q*factor. If 'signin' is 'true' the sign '-' is inside the fraction (within the numerator). If 'displaystyle' is 'true' the code is in mode 'displaystyle'. If 'zero' is 'false' and 'p' is 0, the code generates 0/p*factor; 0 if 'zero' is 'true'.
[Browse code] Example 0001
##### texfrac(rational,string,bool,bool,bool,bool)
```string texfrac(rational x,
string factor="",
bool signin=false, bool factorin=true,
bool displaystyle=false,
bool zero=true)
```
[Browse code] Example 0002
##### drawline(picture,Label,pair,bool,pair,bool,align,pen,arrowbar,arrowbar,margin,Label,marker)
```void drawline(picture pic=currentpicture, Label L="",pair P, bool dirP, pair Q, bool dirQ,
align align=NoAlign, pen p=currentpen,
arrowbar arrow=None, arrowbar bar=None, margin margin=NoMargin,
Label legend="", marker marker=nomarker)
```
Ajoute les deux paramètres 'dirP' et 'dirQ' à la routine native 'drawline' du module 'math'. La segment [PQ] sera prolongé en direction de P si 'dirP=true', en direction de Q si 'dirQ=true'. Si 'dirP=dirQ=true', le comportement est celui du 'drawline' natif. Ajoute tous les autres paramètres de 'draw'. .................................................. Add the two parameters 'dirP' and 'dirQ' to the native routine 'drawline' of the module 'maths'. Segment [PQ] will be prolonged in direction of P if 'dirP=true', in direction of Q if 'dirQ=true'. If 'dirP=dirQ=true', the behavior is that of the native 'drawline'. Add all the other parameters of 'Draw'.
[Browse code] Example 0010
##### drawline(picture,Label,path,bool,bool,align,pen,arrowbar,arrowbar,margin,Label,marker)
```void drawline(picture pic=currentpicture, Label L="",path g, bool begin=true, bool end=true,
align align=NoAlign, pen p=currentpen,
arrowbar arrow=None, arrowbar bar=None, margin margin=NoMargin,
Label legend="", marker marker=nomarker)
```
[Browse code] Example 0010
##### finalbounds(picture,pen)
```void finalbounds(picture pic=currentpicture,pen p=currentpen)
```
Write the final bounding box of picture 'pic'. This routine is useful to determine the right top and left bottom point for enlarging manually the bounding box.
[Browse code]