| #
72037c4f
|
| 15-Dec-2021 |
Jeremy L Thompson <jeremy@jeremylt.org> |
actions - switch tarpaulin back to xml
|
| #
57e303d2
|
| 01-Oct-2021 |
Jed Brown <jed@jedbrown.org> |
Merge pull request #821 from CEED/jeremy/update-codecov-action
actions - update to codecov action v2
|
| #
ab85ce39
|
| 30-Sep-2021 |
Jeremy L Thompson <jeremy@jeremylt.org> |
actions - update to codecov action v2
|
| #
b8265431
|
| 03-May-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #763 from CEED/jeremy/rust-ci
Update Rust Github Action
|
| #
c7d4f9bf
|
| 03-May-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
actions - use latest cargo tarpaulin, see fix from https://github.com/xd009642/tarpaulin/issues/747
|
| #
7eaaafce
|
| 30-Apr-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #758 from CEED/jeremy/codecov
Small Code Coverage Updates
|
| #
327c80bf
|
| 28-Apr-2021 |
jeremylt <thompson.jeremy.luke@gmail.com> |
actions - use tarpaulin 0.16, 0.18.0-alpha missing doctests
|
| #
e6ac5b30
|
| 28-Apr-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #757 from CEED/jeremy/vecscale
vec - add CeedVectorScale
|
| #
2ac872fe
|
| 27-Apr-2021 |
jeremylt <thompson.jeremy.luke@gmail.com> |
actions - add rustfmt component
|
| #
b997b43b
|
| 15-Apr-2021 |
Jed Brown <jed@jedbrown.org> |
Merge pull request #739 from CEED/jeremy/copy-ptr
Copy Ceed Object References
|
| #
db34a149
|
| 12-Apr-2021 |
jeremylt <thompson.jeremy.luke@gmail.com> |
actions - different compiler for rust CI
|
| #
ded9b81d
|
| 12-Jan-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Rust - add examples (#683)
* Rust - initial version of ex1
Example - move closure
Co-authored-by: Jed Brown <jed@jedbrown.org>
typo fix
Co-authored-by: Jed Brown <jed@jedbrown.org>
mi
Rust - add examples (#683)
* Rust - initial version of ex1
Example - move closure
Co-authored-by: Jed Brown <jed@jedbrown.org>
typo fix
Co-authored-by: Jed Brown <jed@jedbrown.org>
minor tidying
order -> degree
drop operator applicaiton messages
* rust: make top-level workspace and use libceed from path
This allows a single "cargo test" from the top level.
* rust: add version-sync (to help us remember when we publish a crate)
* examples - consistency update
* Rust - add Cargo.lock to top level gitignore
* rust - refactor example to add tests
* Rust - test and style from workspace
* Rust - update year in header
* Rust - add error values to Error, switch to String
* Rust - add input validation in check
* Rust - format volume output in example
* Rust - update example help output
* Rust - example tests rename to simplify
* Rust - split example 1 into 3 parts
* rust: std::sync::Once for CeedRegisterAll()
* Promote CeedRegisterAll() and CeedQFunctionRegisterAll() to User
* Guard calls to CeedInit() to avoid races in parallel testing
* Examples - update rust example to new builder syntax
* Examples - add rust ex2
* Rust - add CEED_STRIDES_BACKEND
* Examples - drop unused restriction in ceed ex2
* Rust - minor documentation update
* Rust - adopt convention of 'dimension-like' values all using usize; reduces casting
* Actions - add Rust code coverage
* Rust - fix usize conversion
* Rust - update casting between i32(C interface) and usize(Rust interface)
* Actions - include Rust doctests
* Actions - Rust doctest coverange only avaliable in nightly
* Rust - drop explict typing of values passed to C get* functions
* Rust - modify version numbers tests, cargo-tarpaulin and cargo have different calling paths in tests
* cargo fmt
* Examples - add separate Rust example quiet mode
* Actions - rustfmt not always avaliable on nightly
* Rust - simplify version tests
* Actions - add a few notes
* CodeCov - try adding gallery to 'fixes'
* CodeCov - drop some codecov noise in examples
* Examples - test all combinations in ex1/ex2
* Rust - test 3d examples without quiet flag
* Actions - use gcc-10 for compatibility in gcov reports
* Examples - test gallery in 1/2/3d in Rust ex
* Gitlab - also report gcov version
* JUnit - adjust indentation
* Gitlab - make it easier to find complier info in logs
* Tests - fix minor styling strangeness in t002
* Actions - only upload rust coverage
* Actions - exclude non-rust files from rust coverage
* Cov - exclude weak symbols code, not useful cov info
* Examples - clean up options creation for tests in Rust examples
* Examples - simplify tolerance for testing Rust examples
* cargo fmt
* Examples - another match
* Examples - common Rust example code in shared local crate
Co-authored-by: Jed Brown <jed@jedbrown.org>
show more ...
|
| #
14b01f2c
|
| 16-Dec-2020 |
Jed Brown <jed@jedbrown.org> |
Merge pull request #674 from CEED/jed/static-link
static link
|
| #
6ebae11c
|
| 14-Dec-2020 |
Jed Brown <jed@jedbrown.org> |
rust: build/install libceed to OUT_DIR and update docs
* add feature `static` * add feature `system` * use pkg-config crate to identify how to link (static or dynamic) * document how to use from an
rust: build/install libceed to OUT_DIR and update docs
* add feature `static` * add feature `system` * use pkg-config crate to identify how to link (static or dynamic) * document how to use from an external project * LD_LIBRARY_PATH no longer needed for CI
show more ...
|
| #
3bc9cee3
|
| 15-Dec-2020 |
Jed Brown <jed@jedbrown.org> |
Merge pull request #671 from CEED/origin/jed/ci-github-ubuntu-20.04
CI: move GitHub Actions to ubuntu 20.04
|
| #
b0ae8d51
|
| 14-Dec-2020 |
Jed Brown <jed@jedbrown.org> |
github: move workflows to 20.04 from ubuntu-latest
|
| #
8a4ce0d7
|
| 19-Nov-2020 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Rust interface (#602)
* WIP - first rust files for bindgen
* WIP - more boilerplate, closer to building
* WIP - bindgen builds
* WIP - add Rust job to Travis
* WIP - fix malformed Travis
Rust interface (#602)
* WIP - first rust files for bindgen
* WIP - more boilerplate, closer to building
* WIP - bindgen builds
* WIP - add Rust job to Travis
* WIP - fix malformed Travis yml
* WIP - set Travis to most recent Rust
* WIP - fix include path
* WIP - update travis to specify install/after_success stages
* WIP - add cargo test to Travis job
* WIP - fix linking, for now
* WIP - rust is hard
* Ctx - update notes for Fortran usage
* WIP - small updates
* Fortran - drop unneeded cast
Co-authored-by: Jed Brown <jed@jedbrown.org>
* WIP - more tweaks
* basic skeleton.
* some cleaning.
* Drop the ceed module.
* Move the modules.
* fix mods in vector
* Rewrite vector constructor.
* Scope more precisely unsafe.
* Rename rust_ceed to bind_ceed
* Simplify Vector
* Simplifications
* Add code for ElemRestriction
* Add basis create
* Add create for operator.
* minor
* Interface - use void* for SetData interfaces
* Make - use call quiet for NVCC
* Interface - use void* for GetData interfaces
* WIP - first rust files for bindgen
* WIP - more boilerplate, closer to building
* WIP - bindgen builds
* WIP - add Rust job to Travis
* WIP - fix malformed Travis yml
* WIP - set Travis to most recent Rust
* WIP - fix include path
* WIP - update travis to specify install/after_success stages
* WIP - add cargo test to Travis job
* WIP - fix linking, for now
* WIP - rust is hard
* WIP - small updates
* WIP - more tweaks
* basic skeleton.
* some cleaning.
* Drop the ceed module.
* Move the modules.
* fix mods in vector
* Rewrite vector constructor.
* Scope more precisely unsafe.
* Rename rust_ceed to bind_ceed
* Simplify Vector
* Simplifications
* Add code for ElemRestriction
* Add basis create
* Add create for operator.
* minor
* WIP - add doctest for vector constructor
* rust: cargo fmt
* Add some functions to vector
* Fix rust enum C enum correspondance.
* Add create_tensor_H1_Lagrange
* Add create_H1 in Basis.
* Add basis functions to Ceed.
* rust: use std::ptr::null_mut instead of malloc to get a mutable pointer
* Add apply to Basis.
* WIP - documentation for basis_tensor_H1_Lagrange
* Add accessors and destructor to Basis.
* WIP - more documentation
* WIP - cargo fmt
* WIP - more tests
* Move TransposeMode in lib.rs
* Add constructors and apply to elem_restriction.rs
* WIP - remove extra whitespace
* Add accessors and destructor to ElemRestriction.
* WIP - add some more destructors and such
* WIP - add context constructor to ceed
* WIP - document sync
* make Basis ptr pub.
* make ElemRestriction ptr pub.
* add functions to Operator.
* Add other functions to Operator.
* WIP - add set_array
* WIP - put enums in lib.rs
* rust: use usize for lengths instead of i32
This offers better interop with other Rust libraries. Rust is safer
for avoiding overflow/unsigned bugs.
* rust: create vectors from slices
* WIP - add len
* WIP - hide ceed init in doctest
* WIP - add default init for testing
* WIP - switch set_array to ndarray
* WIP - add get_array/restore_array
* WIP - add get/restore_array_read
* WIP - add basis test code
* WIP - add some elemrestriction testing
* WIP - add basis apply test
* WIP - add display for ceed, vec, rstr, basis
* WIP - use core object for shared functionality for qf/op variants
* WIP - style consistency
* WIP - drop blocked restrictions for now
* WIP - minor style
* WIP - add copyright stuff
* WIP - more documentation stubs
* rust: Vector: use views (coercing to slices) as alternative to unsafe get/restore array
* rust: silence some warnings
* cargo fmt
* close code block
* add constants
* collapse qfunctions back to one class, but still need to find a way to keep users from adding fields/context to by_name qfs
* add viewing of operator tests, shows issue with operator create (but not composite)
* fix printing test, needed to add filds
* basic operator apply and apply_add tests work
* add t501 as main test of entire rust interface
* switch to usize for restr, basis args
* drop get_array, get_array_read
* add mutable view
* clean up tests a little
* minor uniformity
* more uniformity
* clean up dependencies
* drop ndarray and set_array
* drop CopyMode from public interface
* simplify setting LD_LIBRARY_PATH for Travis
* small cleaning
* Remove allow dead_code
* Add Eq to the enum types.
* Refactor unsafe block
* Remove heap allocation of string
* Reorganize use
* Refactor unsafe block
* Refactor Vector
* Rewrite Display for Basis
* Rewrite Display for Ceed
* Rewrite vector_active and vector_none.
* Remove lifetime and use Option type.
* Refactor Display functions
* Remove unused interface.
* Move fmt and CString in the prelude.
* Add minimal doc
* move allow dead_code for ffi only.
* Rename variables.
* Move exceptions in the prelude and change max_buffer_size to uppercase.
* Add a reference counted Ceed struct.
* Revert "Add a reference counted Ceed struct."
This reverts commit 019eb95b99cf0ade62ea19f39e1adb118d209121.
* Remove dead code.
* make OperatorCore pub(crate)/
* Add some documentation.
* cargo fmt
* allow dead code only for OwnPointer, as will never be used
* add tests for diagonal assembly
* drop lazy static as dep
* add cargo fmt to travis
* modify rustfmt in Travis per example
* Rust - list as v0.7
* Rust - add ElemRstrGetVectors
* Rust - drop context
* Rust - return operator tuple from multigrid level creation
* Rust - add test for multigrid creation
* Rust - full set of multigrid tests
* Rust - fmt docstrings
* Rust - style fixes
* minor
* minor doc styling
* Rust - subclass QFunctions
* rust - basic docs info
* restrict some data
* rust - incomplete impl of using closures
* rust - possible qfunction closure solution
* rust - add qf tests, there is a bug (as expected because nothing runs correctly the first time)
* rust - qfunctions seem to work
* rust - assemble pbd tests
* rust - drop qf source, for now GPU not supported, so single source not valuable
* rust - add comment about context usage
* rust - add some composite operator tests/examples
* Travis - add doc deployment
* travis - minor changes to prevent warnings
* travis - deploy on jeremy/rust for testing
* Travis - update url on travis deployment of rust docs
* Rust - doc style fixes
* Rust - use libceed as package name for consistency, add all enums to prelude
* cargo fmt
* travis - minor url fix
* Docs - add Rust docs link
* docs - fix title to include Rust
* Some suggestions.
- avoid anything that can panic inside unsafe blocks (e.g. casting)
- use slice in favor of Vec
- add Basis, ElemRestriction, Operator, QFunction, Vector to the prelude
- Reorganize some of the unsafe blocks
Co-authored-by: Adrien Champion <ptitbatt@hotmail.com>
* rustfmt
* Forgot one
* Switch vec to slice in operator.
* Rust - small test updates
* Rust - drop to_string() for QFunctionByName
* Rust - add doc deployment action
* Rust - gcc not needed for Rust doc deployment
* Rust - temp doc deployment on dev branch
* Rust - rename doc job to build
* Rust - add doc index redirect
* Rust - use &str over String in QFunctionByName
* Rust - use &str for field names as well
* Rust - use MAX_QFUNCTION_FIELDS over 16
* Rust - use high order function in some qf examples
* Rust - more qf editing
* Rust - spelling
* Rust - add debug assertions for all Opts
* Rust - use more idiomatic return in user QFunction examples
* Rust - fmt
* Rust - drop extra lines
* Rust - add a few comments for future ref
* Rust - minor wording
* Rust - minor
* Rust - update QF user function signature
* Rust - minor wording
* Rust - use rust formatting for high order function line breaks
* rust: slightly streamline suggested qfunction notation
* Rust - propegate QF signature improvement
* Rust - drop q from user QF signature
* Rust - fmt
* Rust - minor comments to help readers
* rust: cleaner type signatures on QFunction closures
* rust: infer return type in qfunction closure
* Rust - propegate improved signature
* Rust - more propegation
* Docs - updates with Rust build instructions
* formatting
* more documentation
---
Rust interface initial version
Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: Yohann Dudouit <dudouit1@llnl.gov>
Co-authored-by: Adrien Champion <ptitbatt@hotmail.com>
show more ...
|