Skip to content

Commit

Permalink
add mir.quadrature
Browse files Browse the repository at this point in the history
  • Loading branch information
9il committed Feb 7, 2020
1 parent 7b64dcf commit a156537
Show file tree
Hide file tree
Showing 14 changed files with 480 additions and 2 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ docs/

# Code coverage
*.lst
mir-integral-test-library
build
doc
docs
subprojects/*/
mir-integral-test-test_travis
16 changes: 16 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
sudo: false

language: d

d:
- dmd
- ldc

addons:
apt:
packages:
- liblapack-dev
- libblas-dev

script:
- dub test -c test_travis
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
# mir-integral
Integration routines
# Numerical Integration Routines

## Contents

### `mir.quadrature`

- Gauss-Hermite Quadrature
- Gauss-Jacobi Quadrature
- Gauss-Laguerre Quadrature
- Gauss-Legendre Quadrature
13 changes: 13 additions & 0 deletions dub.sdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name "mir-integral"
description "Integration routines"
authors "Ilya Yaroshenko"
copyright "Copyright © 2020 Symmetry Investments and Kaleidic Associates"
license "BSL-1.0"
dependency "mir-lapack" version=">=1.2.2"

configuration "library" {
}

configuration "test_travis" {
subConfiguration "mir-lapack" "blas"
}
11 changes: 11 additions & 0 deletions dub.selections.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"fileVersion": 1,
"versions": {
"cblas": "2.0.4",
"lapack": "0.3.0",
"mir-algorithm": "3.7.17",
"mir-blas": "1.1.9",
"mir-core": "1.0.2",
"mir-lapack": "1.2.2"
}
}
60 changes: 60 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
project('mir-integral', 'd', 'c', version : '1.0.0', license: 'BSL-1.0')

cblas_d_dep = dependency('cblas-d', fallback : ['cblas', 'cblas_dep'])
lapack_d_dep = dependency('lapack-d', fallback : ['lapack', 'lapack_dep'])
mir_lapack_dep = dependency('mir-lapack', fallback : ['mir-lapack', 'mir_lapack_dep'])
mir_algorithm_dep = dependency('mir-algorithm', fallback : ['mir-algorithm', 'mir_algorithm_dep'])
mir_blas_dep = dependency('mir-blas', fallback : ['mir-blas', 'mir_blas_dep'])

required_deps = [
cblas_d_dep,
lapack_d_dep,
mir_algorithm_dep,
mir_blas_dep,
mir_lapack_dep,
]

mir_integral_dir = include_directories('source/')

mir_integral_src = [
'source/mir/quadrature.d',
]

mir_integral_lib = library(meson.project_name(),
mir_integral_src,
include_directories: mir_integral_dir,
install: true,
version: meson.project_version(),
dependencies: required_deps,
)

mir_integral_dep = declare_dependency(
link_with: [mir_integral_lib],
include_directories: mir_integral_dir,
dependencies: required_deps,
)

install_subdir('source/',
strip_directory : true,
install_dir: 'include/d/' + meson.project_name(),
)

import('pkgconfig').generate(mir_integral_lib,
description: 'Integration Routines',
subdirs: 'd/' + meson.project_name(),
)

if get_option('with_test')

mir_lapack_test_exe = executable(meson.project_name() + '-test',
mir_integral_src,
include_directories: mir_integral_dir,
d_unittest: true,
d_module_versions: ['mir_test'],
link_args: '-main',
dependencies: required_deps,
)

test(meson.project_name() + '-test', mir_lapack_test_exe)

endif
1 change: 1 addition & 0 deletions meson_options.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
option('with_test', type : 'boolean', value : false)
Loading

0 comments on commit a156537

Please sign in to comment.