Files
astronomy/generate
Don Cross 43d05b25bd Jupiter Moons: stubbed the idea of a model optimizer.
I want to experiment with truncating the L1.2 series to
sacrifice some accuracy for smaller generated code.
To that end, I implemented the ability to save the
Jupiter moons model after loading it. I added a 'jmopt'
command to the 'generate' program that will do this
optimization. For now, it just loads the model and
saves it back to a different file. Then the code generator
loads from the saved file instead of the original.
This commit verifies that everything is still working,
before I start truncating the series.
2021-04-11 13:42:23 -04:00
..
2019-04-23 17:44:56 -04:00
2021-02-07 17:09:21 -05:00
2019-04-08 22:25:38 -04:00

Source Generator

This directory contains code and data for generating the various language implementations of Astronomy Engine.

It is only needed by contributors who want to make enhancements or fix bugs. People who just want to use the astronomy calculator for a given programming langauge can safely ignore this directory and use the source code that has already been generated for that language.


Linux

Tool setup

The following tools are required for developers:

  • gcc
  • Node.js
  • npm

Optional documentation generation

The following steps are optional, if you want to generate documentation.

Install these packages:

  • jsdoc2md
  • doxygen
  • xsltproc
  • graphviz

In the directory generate, create a file generate_c_docs; it doesn't matter what it contains. This enables creating documentation for the C code.

Change into the directory hydrogen and execute: npm init.

Build process

Once you have all the tools installed and configured, you are ready to proceed.

Change into the generate directory (this directory) and run the bash script ./run to rebuild all code, generate all documentation, and run all the unit tests.


Windows

Tool setup

The following tools are required for developers:

  • Microsoft Visual Studio (2015 or later Community Edition is freely available and works fine).
  • Node.js
  • npm

Optional documentation generation

The following steps are optional, if you want to generate documentation.

Install these packages:

In the directory generate, create a file generate_c_docs; it doesn't matter what it contains. This enables creating documentation for the C code.

Change into the directory hydrogen and execute: npm init.

Build process

Once you have all the tools installed and configured, you are ready to proceed.

Change into the generate directory (this directory) and run the batch file run.bat to rebuild all code, generate all documentation, and run all the unit tests.


Mac

I could use some help getting this to work on the Mac. If you are looking for an open source project to help with, and you have a Mac, here is your chance! Creating issues is welcome. Creating pull requests is even more welcome! This should be similar to the Linux steps, but may require some tweaks.