Age | Commit message (Expand) | Author |
2021-02-26 | Fix home-page in guix.scm.•••* guix.scm (extent-sampling): Fix home-page.
| Arun Isaac |
2021-02-26 | Add README.•••* README.org: New file.
| Arun Isaac |
2021-02-26 | Comment about building and installing shared library.•••* CMakeLists.txt: Comment about building and installing shared
library.
| Arun Isaac |
2021-02-26 | Include GNUInstallDirs earlier in CMakeLists.•••* CMakeLists.txt: Include GNUInstallDirs earlier.
| Arun Isaac |
2021-02-26 | Wrap volume-window function.•••* scm/extent-sampling/wrap.scm (volume-window): New function.
| Arun Isaac |
2021-02-26 | Remove unused neval variable.•••* src/extent-sampling.sc (integral-per-direction): Remove neval from
function arguments.
(integral): Adjust integral-per-direction function call.
| Arun Isaac |
2021-02-24 | Remove workaround for sph-sc negation bug.•••The bug has been fixed upstream.
* src/integrands.sc (gaussian-integrand): Remove workaround for sph-sc
negation bug.
| Arun Isaac |
2021-02-23 | Wrap integral function.•••* scm/extent-sampling/wrap.scm (maybe-procedure->integrand, integral):
New functions.
| Arun Isaac |
2021-02-23 | Wrap volume function.•••* scm/extent-sampling/wrap.scm (maybe-procedure->extent-oracle,
maybe-procedure->integrand): New functions.
| Arun Isaac |
2021-02-23 | Wrap integrands.•••* scm/extent-sampling/wrap.scm (make-integrand,
make-polynomial-integrand, gaussian-integrand,
x-coordinate-integrand): New functions.
| Arun Isaac |
2021-02-23 | Wrap extent oracles.•••* scm/extent-sampling/wrap.scm (make-extent-oracle,
make-bernoulli-params, make-bernoulli-oracle, true-volume-procedure,
bernoulli-true-volume, make-uniform-params, make-uniform-oracle,
uniform-true-volume, make-beta-params, make-beta-oracle,
beta-true-volume, make-cube-params, make-cube-oracle,
cube-true-volume, make-spheroid-params, make-spheroid-oracle,
spheroid-true-volume): New functions.
| Arun Isaac |
2021-02-23 | Implement the lower incomplete gamma function as a scheme wrapper.•••With this change, the wrapper around the gsl lower incomplete gamma
function is directly in scheme. Earlier, there was one layer of
wrapping in C which needed to be wrapped again in scheme.
* include/utils.h (lower_incomplete_gamma): Delete function.
* src/utils.sc (lower-incomplete-gamma): Delete function.
* scm/extent-sampling/wrap.scm (lower-incomplete-gamma): New function.
| Arun Isaac |
2021-02-23 | Provide test integrals.•••* include/integrands.h, src/integrands.sc: New files.
| Arun Isaac |
2021-02-23 | Redefine integrand_t as a struct.•••This change will make it easier for the scheme wrapper to curry
integrands.
* include/extent-sampling.h (integrand_t): Redefine type as struct.
(integral): Pass pointer to integrand_t.
* src/extent-sampling.sc (integral-per-direction, integral): Handle
new integrand-t type.
(invoke-integrand): New sc macro.
| Arun Isaac |
2021-02-23 | Implement uniform-true-volume without log.•••Logarithmic functions trip up when their parameter is 0.
* src/oracles.sc (uniform-true-volume): Implement without log.
| Arun Isaac |
2021-02-23 | Rename function scope params argument to avoid name conflict.•••* src/oracles.sc (bernoulli-extent-oracle, bernoulli-true-volume,
uniform-extent-oracle, uniform-true-volume, beta-extent-oracle,
beta-true-volume, cube-extent-oracle, cube-extent-oracle-with-center,
cube-true-volume, ellipsoid-extent-oracle, ellipsoid-true-volume,
spheroid-extent-oracle, spheroid-true-volume): Rename params argument
to -params.
| Arun Isaac |
2021-02-23 | Wrap gsl polynomial evaluation function.•••* scm/extent-sampling/wrap.scm (polyval): New function.
| Arun Isaac |
2021-02-23 | Wrap gsl rstat functions.•••* scm/extent-sampling/wrap.scm (rstat-alloc, rstat-n): New functions.
| Arun Isaac |
2021-02-11 | Pass extent-oracle-t as pointer.•••* include/extent-sampling.h (volume, volume_window, integral,
volume_cone, volume_experiment): Pass extent_oracle_t as pointer.
* src/extent-sampling.sc: Likewise.
| Arun Isaac |
2021-02-11 | Change extent oracle and true volume prototypes.•••This change will make it easier for the scheme wrapper to curry extent
oracles.
* include/extent-sampling.h (extent_oracle_t): Define as a struct that
bundles the parameters required by the actual extent oracle.
* include/oracles.h (bernoulli_params, uniform_params, beta_params,
cube_params, ellipsoid_params, spheroid_params): New types.
(bernoulli_extent_generator, uniform_extent_generator,
beta_extent_generator): Rename to bernoulli_extent_oracle,
uniform_extent_oracle, beta_extent_oracle respectively and change to
the new extent oracle prototype.
(bernoulli_true_volume, uniform_true_volume, beta_true_volume,
cube_extent_oracle, cube_extent_oracle_with_center, cube_true_volume,
ellipsoid_extent_oracle, ellipsoid_true_volume,
spheroid_extent_oracle, spheroid_true_volume): Change to new extent
oracle and true volume prototypes.
* src/oracles.sc: Likewise.
* src/extent-sampling.sc (invoke-extent-oracle): New macro.
(volume, volume-window, integral, volume-cone): Call using new extent
oracle prototype.
| Arun Isaac |
2021-02-11 | Include gsl_vector.h instead of gsl_blas.h.•••* include/oracles.h: Include gsl_vector.h instead of gsl_blas.h.
| Arun Isaac |
2021-02-11 | Remove unnecessary whitespace.•••* src/nd-random.sc (solid-angle->planar-angle): Remove unnecessary
whitespace at the beginning of the line.
| Arun Isaac |
2021-02-11 | Link libextentsampling with libgsl and libgslcblas.•••* CMakeLists.txt: Link libextentsampling with libgsl and libgslcblas.
| Arun Isaac |
2021-02-11 | Remove cube maximum extent function.•••We are not using maximum extent functions anymore.
* src/oracles.sc (cube-maximum-extent): Delete function.
* include/oracles.h (cube-maximum-extent): Delete function declaration.
| Arun Isaac |
2021-02-10 | Remove unnecessary solver type variable.•••* src/utils.sc (with-root-fsolver): Rewrite without a temporary solver
type variable.
| Arun Isaac |
2021-02-10 | Fix collision between solver type and solver type variable.•••* src/utils.sc (with-root-fsolver): Fix collision between solver type
and solver type variable.
| Arun Isaac |
2021-02-10 | Add guix.scm.•••* guix.scm: New file.
| Arun Isaac |
2021-02-10 | Declare planar, solid angle conversion functions as public.•••* src/nd-random.sc (planar-angle->solid-angle,
solid-angle->planar-angle): Declare these to be a part of the public
interface of the module.
| Arun Isaac |
2021-02-10 | Add pre-installation environment script.•••The pre-inst-env script is required to find freshly built libraries
and scheme files before installation.
* pre-inst-env.in: New file.
* CMakeLists.txt: Configure pre-inst-env.in with correct paths.
| Arun Isaac |
2021-02-10 | Add scheme wrapper.•••* scm/extent-sampling/load-libs.scm.in, scm/extent-sampling/wrap.scm:
New files.
* CMakeLists.txt: Check for guile. Build and install scheme wrapper.
(change_extension): New function.
| Arun Isaac |
2021-02-09 | Install headers and shared library.•••* CMakeLists.txt: Install headers and shared library.
| Arun Isaac |
2021-02-09 | Make indentation of generated C sources optional.•••This is so as to not make indent a build dependency.
* CMakeLists.txt: Indent generated C sources only when the indent
program is found. Don't fail when indent is not found.
| Arun Isaac |
2021-02-05 | Use let* instead of declare and set.•••* src/macros/macros.sc (with-alloc): Use let* instead of declare and
set.
| Arun Isaac |
2021-02-05 | Replace underscores in identifiers with hyphens.•••* src/utils.sc (angle-between-vectors, gaussian-cdf, bisection,
bisection-rlimit): Replace underscores in identifiers with hyphens.
| Arun Isaac |
2021-02-05 | Specify dependency on src/macros/macros.sc.•••Not all SC files need depend on src/macros/macros.sc, but we make this
simplifying assumption so as to not have to scan the source files at
build time.
* CMakeLists.txt: Make every SC file depend on src/macros/macros.sc.
| Arun Isaac |
2021-02-05 | Add gitignore.•••* .gitignore: New file.
| Arun Isaac |
2021-02-05 | Use semantic versioning.•••* CMakeLists.txt: Use semantic versioning. Introduce patch version
number.
| Arun Isaac |
2021-02-05 | Migrate C source to SC.•••sph-sc is a scheme-like S-expression syntax for C. It elements much of
the pain and repetition involved in writing C syntax.
* src/extent-sampling.c, src/gaussian-nd-random.c, src/nd-random.c,
src/oracles.c, src/utils.c: Delete files.
* src/extent-sampling.sc, src/gaussian-nd-random.sc,
src/macros/macros.sc, src/nd-random.sc, src/oracles.sc, src/utils.sc:
New files.
* CMakeLists.txt: Generate C source files from SC source files.
| Arun Isaac |
2021-02-05 | Declare infinity_norm as static.•••* src/oracles.c (infinity_norm): Declare as static.
| Arun Isaac |
2021-02-05 | Remove unused geometric progression functions.•••* include/utils.h (gprate, gpterm): Delete function prototype
declarations.
* src/utils.c (gprate, gpterm): Delete functions.
| Arun Isaac |
2021-02-05 | Remove unused extent oracles.•••* include/oracles.c (symmetric_spiral_extent_oracle,
right_triangle_extent_oracle, right_triangle_true_volume,
sphere_extent_oracle, sphere_maximum_extent, plane_extent_oracle):
Delete function prototype declarations.
* src/oracles.c (symmetric_spiral_extent_oracle,
right_triangle_extent_oracle, right_triangle_true_volume,
sphere_extent_oracle, sphere_maximum_extent, plane_extent_oracle):
Delete functions.
| Arun Isaac |
2021-02-03 | Move source files and headers to separate directories.•••* extent-sampling.h, gaussian-nd-random.h, nd-random.h, oracles.h,
utils.h: Move into include directory.
* extent-sampling.c, gaussian-nd-random.c, nd-random.c, oracles.c,
utils.c: Move into src directory.
* CMakeLists.txt: Set include as include directory. Look for source
files inside src directory.
| Arun Isaac |
2021-02-03 | Set up a cmake build system.•••* Makefile: Delete file.
* CMakeLists.txt: New file.
| Arun Isaac |
2021-02-03 | Add Gaussian n-d random functions.•••* gaussian-nd-random.c, gaussian-nd-random.h: New files.
| Arun Isaac |
2021-02-03 | Initial commit | Arun Isaac |