2D & 3D TeX-Aware Vector Graphics Language
C++ Python Emacs Lisp C Objective-C M4 Other
Permalink
Failed to load latest commit information.
GUI correct parsing of control points Mar 15, 2016
base Derive drawBezierPatch and drawBezierTriangle from drawSurface. Feb 15, 2017
doc Make invalid string casts return an uninitialized variable. Jan 24, 2017
examples Update credits and example. Feb 16, 2017
patches Update documentation; remove obsolete cygwin patch. May 14, 2015
prc Move PRC api functions into a new namespace prc. Jan 31, 2016
tests Move compile-time check for epsdriver into environment variable Mar 7, 2016
.gitignore Fix numerical precision bug in smoothcontour3. Oct 12, 2015
BUGS Convert remaining subversion references to git. Aug 2, 2015
Delaunay.cc Reformat C++ files. Feb 9, 2009
Delaunay.h Reformat C++ files. Feb 9, 2009
EnvVarUpdate.nsh Add NSIS support files. May 9, 2012
INSTALL Update INSTALL. Aug 5, 2015
LICENSE Upgrade licence to GPL-3.0. Jul 27, 2007
LICENSE.LESSER Upgrade global license from GPL to LPGL (except as noted within indiv… Feb 21, 2009
Makefile.in Simplify code. Feb 15, 2017
README Support compilation without OpenGL. Feb 6, 2017
TODO Allocates closures only when needed. Oct 27, 2010
absyn.cc Change integer type to Int, which is set default in common.h to long … Jul 18, 2007
absyn.h Reformat C++ files. Feb 9, 2009
access.cc Refactoring of variable access. Oct 30, 2010
access.h Fix typo. Sep 28, 2011
algebra3.cc Make portability tweak. Apr 3, 2013
algebra3.h Remove M_PI. Jun 6, 2010
align.h Update FFTW++ files. Nov 8, 2015
angle.h Fix principalBranch. Nov 8, 2016
application.cc Fix an exact match bug. Dec 29, 2013
application.h Allow named arguments after rest arguments. Dec 28, 2011
arcball.cc Implement openGL-based adaptive-mesh renderer. Sep 8, 2008
arcball.h Fix oblique transformations. Sep 14, 2008
array.cc On C99-compliant machines with 64 bit integers, use compact items for Jun 14, 2010
array.h On C99-compliant machines with 64 bit integers, use compact items for Jun 14, 2010
arrayop.h Make settings.quiet suppress noninteractive standard output when verb… Mar 13, 2016
aspy.py Add operator overloading to aspy. Sep 8, 2011
asy-list.pl Added type highlighting list to asy-keywords.el and asy-mode.el. Sep 10, 2006
asy.ico Improved icon. Aug 16, 2005
asy.rc Fixed MSDOS build; improved icon. Aug 16, 2005
asymptote.nsi Fix icon directory on 64-bit MSWindows systems. May 9, 2012
asymptote.spec Update examples. Feb 13, 2017
autogen.sh Initial revision. Oct 26, 2004
ax_pthread.m4 Add missing file. May 15, 2012
bbox.h Reformat C++ files. Feb 9, 2009
bbox3.h Fix transformation of normal vectors. May 14, 2013
beziercurve.cc Partially work around OpenGL transparency bug by sorting transparent … Feb 12, 2017
beziercurve.h Simplify code. Feb 15, 2017
bezierpatch.cc Move compare function to bezierpatch.cc. Feb 19, 2017
bezierpatch.h Update credits and example. Feb 16, 2017
builtin.cc Make invalid string casts return an uninitialized variable. Jan 24, 2017
builtin.h Allocates closures only when needed. Oct 27, 2010
callable.cc Added detailed output for debugging bytecode. Jul 27, 2009
callable.h Added detailed output for debugging bytecode. Jul 27, 2009
camp.l Use # operator for integer division. May 11, 2016
camp.y Use # operator for integer division. May 11, 2016
camperror.cc Call reportFatal in psfile.close(). May 17, 2009
camperror.h Abort on write to pipe failed error. Apr 24, 2009
castop.h Make invalid string casts return an uninitialized variable. Jan 24, 2017
coder.cc Experimental closure implementation. Oct 30, 2010
coder.h Removes inst::alloc. Oct 28, 2010
coenv.cc Reformat C++ files. Feb 9, 2009
coenv.h Checks permission of both the qualifier and the field for an unravell… Nov 6, 2005
common.h Use RANDOM_MAX rather than nonportable RAND_MAX. May 19, 2014
config.guess Add missing file. May 15, 2012
config.sub Add missing file. May 15, 2012
configure.ac Implement transparency workaround also for Bezier triangles. Feb 13, 2017
constructor.cc Slightly more optimized bytecode. Jul 1, 2010
dec.cc Can compile Asymptote as a shared library. Sep 6, 2011
dec.h Fix warning messages. Sep 29, 2011
drawclipbegin.h Implement emulation of Gouraud shading in SVG. Nov 9, 2009
drawclipend.h Implement emulation of Gouraud shading in SVG. Nov 9, 2009
drawelement.h Move compare function to bezierpatch.cc. Feb 19, 2017
drawfill.cc Expose Postscript extend qualifiers for axial and radial shading May 15, 2013
drawfill.h Expose Postscript extend qualifiers for axial and radial shading May 15, 2013
drawgrestore.h Fix bugs in tex(), postscript(), gsave(), and grestore() commands. Oct 11, 2007
drawgroup.h Fix str().c_str() bugs. Feb 10, 2016
drawgsave.h Fix bugs in tex(), postscript(), gsave(), and grestore() commands. Oct 11, 2007
drawimage.h Remove duplicate variable. May 14, 2014
drawlabel.cc Use random() instead of rand() everywhere. May 19, 2014
drawlabel.h Fix undefined variable. Jan 27, 2016
drawlayer.h Enable page breaks and 3D OpenGL with ConTeXt TeX engine. May 15, 2014
drawpath.cc Fix bug #215 Line adjustment won't work with scaled pens. Feb 9, 2016
drawpath.h Change linetype pattern from a string to an array of reals: a string is Oct 27, 2009
drawpath3.cc Move compare function to bezierpatch.cc. Feb 19, 2017
drawpath3.h Support compilation without OpenGL. Feb 6, 2017
drawsurface.cc Move compare function to bezierpatch.cc. Feb 19, 2017
drawsurface.h Move compare function to bezierpatch.cc. Feb 19, 2017
drawverbatim.h Expose outname() to asy. Apr 17, 2010
entry.cc Add keyword only formals. Mar 6, 2011
entry.h CALLEE_SEARCH is no longer an option. Sep 11, 2010
env.cc Removes dead code. Oct 26, 2010
env.h FASTCAST no longer an option. Sep 11, 2010
envcompleter.cc Replaced symbol table with custom hash table. Jun 8, 2010
envcompleter.h Fix segmentation fault introduced in 1.31-23. Jun 22, 2007
errormsg.cc Can compile Asymptote as a shared library. Sep 6, 2011
errormsg.h Terse position info output by profiler. Sep 24, 2010
errors Allow named arguments after rest arguments. Dec 28, 2011
errortest.asy Add keyword only formals. Mar 6, 2011
exp.cc Fixed assert on array assignment. Feb 24, 2011
exp.h Allow named arguments after rest arguments. Dec 28, 2011
fftw++.cc Fix str().c_str() bugs. Feb 10, 2016
fftw++.h Fix str().c_str() bugs. Feb 10, 2016
fftw++asy.cc Allow compilation without fftw again. May 19, 2013
fileio.cc Fix bug #208 Quotations are broken. Jan 30, 2016
fileio.h Make quiet suppress output unless verbosity > 1. Mar 13, 2016
findsym.pl PRESYM is no longer an option. Sep 11, 2010
flatguide.cc Fix guide bug intoduced in 1.55-2. May 3, 2010
flatguide.h Fix segmentation faults with operations on guide g=cycle. Mar 14, 2009
fpu.h Change Int to int. Jan 25, 2011
frame.h Experimental closure implementation. Oct 30, 2010
fundec.cc Add keyword only formals. Mar 6, 2011
fundec.h Add keyword only formals. Mar 6, 2011
genv.cc Use standard STL include. May 15, 2014
genv.h Replaced symbol table with custom hash table. Jun 8, 2010
getopt.c Added getopt for systems without full GNU getopt support (e.g. cygwin, Jan 27, 2005
getopt.h Reformat C++ files. Feb 9, 2009
getopt1.c Added getopt for systems without full GNU getopt support (e.g. cygwin, Jan 27, 2005
glrender.cc Reinstate patch outline mode. Jan 21, 2017
glrender.h Reinstate patch outline mode. Jan 21, 2017
gsl.cc Support GSL 2.0. Nov 14, 2015
guide.cc Change multiguide to avoid deep trees in normal use. Dec 28, 2013
guide.h Change multiguide to avoid deep trees in normal use. Dec 28, 2013
guideflags.h Under MSWindows, look for ghostscript library in both 32 bit and 64 b… Apr 16, 2014
impdatum.cc Change Int to int_typ in policy.h Sep 29, 2011
inst.h Removes inst::alloc. Oct 28, 2010
install-sh Remove symbolic links from source distribution. May 20, 2009
interact.cc Fix segmentation faults in tab completion. Disable interrupts during … Feb 3, 2016
interact.h Fix segmentation faults in tab completion. Disable interrupts during … Feb 3, 2016
item.h Fix typo. Jun 5, 2016
keywords.pl Refactored interactive prompt. Moved asy code processing from main.cc to Sep 9, 2006
knot.cc Eliminated string copying in knot.cc. Jun 16, 2010
knot.h Reformat C++ files. Feb 9, 2009
lexical.h Replace locale-dependent call to atof() with locale-independent lexic… Nov 12, 2007
lnkX64IconFix.nsh Add NSIS support files. May 9, 2012
locate.cc Support compilation of native CYGWIN binaries. May 29, 2012
locate.h Move mem::list out of common.h due to ambiguities under old cxx compi… Feb 28, 2007
main.cc Simplify exit handler. Feb 2, 2016
mathop.h Use # operator for integer division. May 11, 2016
memory.h Fix typos. May 15, 2014
mod.h Change integer type to Int, which is set default in common.h to long … Jul 18, 2007
modifier.h Improve garbage collection by using GC_DECLARE_PTRFREE statements; use Jun 22, 2007
name.cc Overloading resolution optimizations. Jun 12, 2010
name.h Replaced symbol table with custom hash table. Jun 8, 2010
newexp.cc Added a (disabled) experimental function resolution optimization. Jun 2, 2010
newexp.h Added a (disabled) experimental function resolution optimization. Jun 2, 2010
opcodes.h Removes inst::alloc. Oct 28, 2010
opsymbols.pl Add 'operator tuple' via EXTRASYMBOL command. Sep 15, 2011
pair.h Work around floating point division bug in clang 3.7.0. Jan 27, 2016
parser.cc Reformat C++ files. Feb 9, 2009
parser.h Reformat C++ files. Feb 9, 2009
path.cc Fix bug #218 Core dump in subpath routine. Feb 12, 2016
path.h Consolidate and standardize min(path[]) and max(path[]) functions. Sep 8, 2012
path3.cc Implement bezier triangles in surfaces. Sep 3, 2015
path3.h Remove remaining instances of Triple type (except one instance in glr… Nov 17, 2015
pen.cc Move lastpen to the end of pen.cc so that it is initialized last. Sep 30, 2011
pen.h Portability fixes. Sep 30, 2011
picture.cc Move compare function to bezierpatch.cc. Feb 19, 2017
picture.h Work around missing epswrite driver in ghostscript-9.15. Apr 7, 2015
pipestream.cc Use blocking reads by default. May 16, 2014
pipestream.h Use blocking reads by default. May 16, 2014
policy.h Fix string length type. Jul 28, 2012
prcfile.h Move PRC api functions into a new namespace prc. Jan 31, 2016
predicates.cc Implement robust inside algorithm based on conditional subdivision and Jul 1, 2008
predicates.h Reformat C++ files. Feb 9, 2009
primitives.h Added experimental inferred variable types. Jun 1, 2010
process.cc Modified version checking for the conversion of repository to git. Jul 27, 2015
process.h Work around static initialization fiasco. Sep 28, 2011
profile.py Add nanosecond counter to profiler. Sep 19, 2010
profiler.h Profiler improvements. Sep 24, 2010
program.cc Fix clang warning regarding std::abs. Jan 27, 2016
program.h Include stddef for ptrdiff_t. Sep 17, 2012
psfile.cc Modified version checking for the conversion of repository to git. Jul 27, 2015
psfile.h Expose Postscript extend qualifiers for axial and radial shading May 15, 2013
quaternion.cc Remove M_PI. Jun 6, 2010
quaternion.h Implement openGL-based adaptive-mesh renderer. Sep 8, 2008
record.cc Experimental closure implementation. Oct 30, 2010
record.h Fix warning messages. Sep 29, 2011
refaccess.cc Added preprocessor option to print names of bltin functions. Jul 25, 2009
refaccess.h Added preprocessor option to print names of bltin functions. Jul 25, 2009
rounding.h Fix segmentation fault in default Delaunay triangulation routine. Jun 29, 2008
runarray.in Fix warning message. Feb 13, 2017
runbacktrace.in Start splitting runtime.in. Aug 19, 2009
runfile.in Suppress warning messages. May 15, 2014
runhistory.in Fix history recall bug. Oct 6, 2012
runlabel.in Use pdf 3D label processor also for luatex and lualatex tex engines. Jan 24, 2017
runmath.in Work around broken CYGWIN headers. Feb 14, 2017
runpair.in Implement 2D scalar cross product. May 26, 2014
runpath.in Remove ambiguity from min(guide) and max(guide). Sep 24, 2014
runpath3d.in Implement and document intersect(path, surface). Jun 20, 2014
runpicture.in Derive drawBezierPatch and drawBezierTriangle from drawSurface. Feb 15, 2017
runstring.in Fix bug #214 Minor bug in 'format'. Feb 7, 2016
runsystem.in Fix Boehm gc compatibility issue with compact option. Apr 19, 2014
runtime.in Fix bug #217 Reversion of one point guides. Feb 12, 2016
runtime.pl Move GSL functions to gsl.cc; implement Elmar's contributed GSL funct… Jun 20, 2010
runtimebase.in Implement bezier triangles in surfaces. Sep 3, 2015
runtriple.in Split runtime further. Aug 20, 2009
seconds.h Update FFTW++ files. Nov 8, 2015
settings.cc Use pdf 3D label processor also for luatex and lualatex tex engines. Jan 24, 2017
settings.h Use pdf 3D label processor also for luatex and lualatex tex engines. Jan 24, 2017
simpson.cc Fix simpson for a > b and f decreasing. Feb 25, 2010
stack.cc Fix str().c_str() bugs. Feb 10, 2016
stack.h Fix warning messages. Sep 29, 2011
statistics.h Update FFTW++ files. Nov 8, 2015
stm.cc Fix segmentation fault due to accessing "this" at top level. Jan 27, 2016
stm.h Can compile Asymptote as a shared library. Sep 6, 2011
symbol.cc PRESYM is no longer an option. Sep 11, 2010
symbol.h Fix Boehm gc compatibility issue with compact option. Apr 19, 2014
table.h Replaced symbol table with custom hash table. Jun 8, 2010
texfile.cc Remove unwanted extension from shipout prefix. Jan 25, 2017
texfile.h Revert "Implement alternative workaround for graphicx pagesize bug." Aug 4, 2016
tr.cc Remove M_PI. Jun 6, 2010
tr.h Work around old LGPLv2 license covering tr.h and tr.cc. May 14, 2009
transform.h Fix pen shift bounds. Jun 15, 2011
triple.h Partially work around OpenGL transparency bug by sorting transparent … Feb 12, 2017
types.cc Fix bug in rest argument signature equivalence. Jan 29, 2016
types.h Can compile Asymptote as a shared library. Sep 6, 2011
util.cc Update to gc-7.2d. Aug 17, 2012
util.h Work around broken CYGWIN headers. Feb 14, 2017
varinit.cc Start splitting runtime.in. Aug 19, 2009
varinit.h Reformat C++ files. Feb 9, 2009
virtualfieldaccess.cc Optimize virtual methods. Jul 17, 2010
virtualfieldaccess.h Optimize virtual methods. Jul 17, 2010
vm.h Fix warning messages. Sep 29, 2011
wce Don't require kpsewhich in make check for TeXLive version. Mar 7, 2016
xstream.h Reinstate missing prototypes under CYGWIN Jul 7, 2009

README

			  ASYMPTOTE
      Copyright 2004-17 Andy Hammerlindl, John Bowman, and Tom Prince

Asymptote is a powerful descriptive vector graphics language for technical
drawing, inspired by MetaPost but with an improved C++-like
syntax. Asymptote provides for figures the same high-quality level of
typesetting that LaTeX does for scientific text.

Installation instructions, documentation, binaries, and source code are
available at:

http://asymptote.sourceforge.net

Bugs/Patches/Feature Requests can be submitted using the 
Bug/Patch/Feature Tracking Systems at
http://sourceforge.net/projects/asymptote/.

Questions and comments should be sent to the Asymptote Forum:

http://sourceforge.net/p/asymptote/discussion/409349

All source files in the Asymptote project, unless explicitly noted otherwise,
are released under version 3 (or later) of the GNU Lesser General Public
License (see the files LICENSE.LESSER and LICENSE in the top-level source
directory).

========================================================================

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

========================================================================

Note that the MSWindows executable version of Asymptote can only be
released under the GNU General Public License (GPL) as it is linked against
the GNU Scientific Library, GNU Readline library, and other GPL
libraries. This version of Asymptote also ships with the dll libraries
noted below.

The source code for the 2.0.2 cygwin1.dll is available under the GPL license:
http://cygwin.com/snapshots/x86/cygwin-src-20150430.tar.xz

The source code for freeglut.dll is available under the X-Consortium license:
http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0.tar.gz

The source code for glu32.dll is available from
ftp://ftp.freedesktop.org/pub/mesa/7.6/MesaLib-7.6.tar.bz2
and patched as detailed here:
http://old.nabble.com/Error-building-MesaLib-7.6-onto-Win32-with-Microsoft-Visual-Studio-2005-and-2008-td25990977.html