diffusionx 0.8.0

A multi-threaded crate for random number generation and stochastic process simulation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
# Changelog

All notable changes to this project will be documented in this file.

## [0.7.0] - 2025-11-25

### 🚜 Refactor

- Move native CPU optimization to build config
- Centralize parameter validation in `simulate` and `displacement` methods
- Optimize Langevin and OU process simulations with direct implementation and batch RNG
- Rename `sigma` to `scale` in continuous processes

### πŸ“š Documentation

- Update README examples for API changes and feature gates

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.7.0

## [0.6.3] - 2025-11-19

### πŸ› Bug Fixes

- Fix final step displacement in Brownian motion

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.6.3

## [0.6.2] - 2025-11-19

### 🚜 Refactor

- Optimize Langevin simulations with on-demand RNG and FMA
- Remove GPU infrastructure
- Parallelize displacement calculations for multiple processes

### πŸ“š Documentation

- Fix subordinated Langevin macro docs

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.6.2

## [0.6.0] - 2025-11-17

### 🚜 Refactor

- Add input validation and optimize displacement calculation for continuous processes
- Optimize time series generation in continuous process simulations
- Optimize displacement calculation in generalized Langevin equation
- Remove unused docs.rs metadata configuration from `Cargo.toml`
- Add input validation and optimize displacement calculation for discrete and point processes
- Add `start()` and `end()` methods to `ContinuousProcess` trait and implement inverse process calculations
- Add `start()` and `end()` methods to `DiscreteProcess` and `PointProcess` traits
- Simplify parallel moment calculations and improve error handling across all process types

### πŸ“š Documentation

- Add changelog entries for versions 0.5.0 and 0.4.15
- Update README examples with installation instructions and code improvements
- Update README examples to include required `start()` method in `ContinuousProcess` trait implementations

### βš™οΈ Miscellaneous Tasks

- Reorganize `Cargo.toml` structure and exclude GPU-related directories from package
- Bump version from 0.5.0 to 0.6.0

## [0.5.0] - 2025-11-10

### πŸš€ Features

- Add benchmarking for Langevin simulation using Criterion

### πŸ’Ό Other

- Add langevin-bench example for performance measurement

### 🚜 Refactor

- Simplify iteration over time steps in Langevin and Generalized Langevin simulations
- Streamline imports and improve simulation functions across multiple processes
- Move `docs-header.html` to project root
- Move CUDA and Metal kernel crates into `kernels/` subdirectory

### πŸ“š Documentation

- Add LaTeX math formatting to stable distribution and stochastic process documentation
- Use absolute GitHub URLs for images in README files
- Use `raw.githubusercontent.com` URLs for SVG images in README files
- Add feature flag requirement note for visualization examples in README files

### βš™οΈ Miscellaneous Tasks

- Enable KaTeX rendering in docs and docs.rs config
- Make `visualize` and `io` features optional, bump version to 0.4.16
- Bump version to 0.5.0

## [0.4.15] - 2025-10-28

### πŸš€ Features

- *(AI Generated)* Add GPU acceleration with CUDA and Metal backends
- *(AI)* Add GPU Monte Carlo stats kernels CUDA/Metal

### πŸ› Bug Fixes

- Normalize SVG/PNG output paths for plot backends
- Use `mc` instead of `montecarlo`
- Use standard deviation for BM noise sampling
- Fix FBM simulation and Levy direction
- Parallelize MSD/moment sims and validate inputs

### πŸ’Ό Other

- Refactor the CUDA and Metal kernels into separate crates.
- Generate scaled normal noise directly

### 🚜 Refactor

- Use realfft instead of rustfft for FFTs
- Enable GPU features and dependencies

### πŸ“š Documentation

- Set docs.rs target and enable doc cfg attributes
- Disable rustdoc example scraping on docs.rs
- Disable doc.scrape-examples for docs.rs

### βš™οΈ Miscellaneous Tasks

- Delete `TODO.md`
- Add rust-version, remove deny.toml, tidy docs
- Update csv dependency to 1.4
- Bump version to 0.4.10 and disable GPU features
- Bump version to 0.4.11 and disable GPU features

## [0.4.9] - 2025-10-10

### 🚜 Refactor

- Use `is_multiple_of` for even check
- Remove unused dead_code allow attribute

### πŸ“š Documentation

- Update README files to include links for badges

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.4.8
- Update dependencies and clean up Cargo.toml
- Bump gauss-quad dependency to 0.2.4
- Update pre-commit-hooks to v6.0.0 in config
- Bump version to 0.4.9

## [0.4.8] - 2025-07-05

### πŸ’Ό Other

- Update version to 0.4.8

### πŸ“š Documentation

- Update macro usage examples for clarity
- Update README files for improved formatting and clarity

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.4.7

## [0.4.7] - 2025-07-05

### πŸš€ Features

- Add Langevin equation macro to simplify the generation of stochastic processes
- Add generalized and subordinated Langevin equation macros
- Add loglog plotting functionality and enhance set_config

### πŸ’Ό Other

- Bump version 0.4.6
- Add the example of macro `langevin`
- Update version to 0.4.7

### 🚜 Refactor

- Simplify error messages in parameter validation across various simulation functions

### βš™οΈ Miscellaneous Tasks

- Update dependencies and add optional feature

## [0.4.6] - 2025-06-15

### πŸ› Bug Fixes

- Adjust the duration calculation logic to accommodate the maximum duration

### πŸ’Ό Other

- Bump version 0.4.6

### 🚜 Refactor

- Optimized the duration calculation logic in the `FirstPassageTime` structure, simplified the process of finding the index using local functions, and improved the readability and maintainability of the code.
- Extracted and optimized the logic for calculating the average and occupied time, simplified the code structure, and improved readability and maintainability.

### βš™οΈ Miscellaneous Tasks

- Bump version 0.4.5

## [0.4.5] - 2025-06-11

### πŸš€ Features

- Add input parameter validation to enhance the robustness of the simulation function
- Enhanced input parameter validation to improve the robustness of simulation functions
- Enhanced input parameter validation for inverse process simulation function
- Optimize the implementation of continuous/point/jump processes and trajectories, simplify type constraints
- Enhanced input parameter validation for random walk simulation functions
- Enhanced Input Validation for Stochastic Process Simulation Functions

### πŸ’Ό Other

- Update version to 0.4.5

### βš™οΈ Miscellaneous Tasks

- Update version to 0.4.4

## [0.4.4] - 2025-06-04

### 🚜 Refactor

- Optimize sample aggregation in simulation functions

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.4.3
- Update version to 0.4.4 and add keywords

## [0.4.3] - 2025-05-30

### πŸš€ Features

- Add is_increasing function and input validation for interpolation functions

### πŸ› Bug Fixes

- Improve linspace and interpolation functions
- *(functionas.rs)* Enhance linspace function with parallel processing and add diff function
- Fix simulation functions with linspace and error handling

### πŸ’Ό Other

- Add Levy Walk simulation example

### 🚜 Refactor

- Rename FBM struct to FBm for consistency

### πŸ“š Documentation

- *(CIR.rs)* Improve simulation logic with linspace and diff functions
- *(mod.rs)* Add documentation for Brownian yet non-Gaussian process
- *(mod.rs)* Correct spelling of Fractional Brownian motion
- *(README)* Update Chinese and English documentation for Brownian yet non-Gaussian process

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.4.2
- Update version to 0.4.3

## [0.4.2] - 2025-05-28

### πŸš€ Features

- *(bng)* Implement Brownian yet non-Gaussian process simulation

### πŸ› Bug Fixes

- *(bm)* Update diffusion_coefficient default value to 0.5

### 🚜 Refactor

- Enhance path generation in Langevin and GeneralizedLangevin simulations

### πŸ“š Documentation

- Update benchmark references in README files
- Update

### βš™οΈ Miscellaneous Tasks

- Update pre-commit configuration and add new hooks
- Update version to 0.4.2 in Cargo.toml

## [0.4.1] - 2025-05-22

### πŸš€ Features

- Implement arithmetic operations for Normal distribution
- Enhance Exponential distribution for type flexibility
- Enhance Gamma distribution for type flexibility
- Enhance Normal distribution for type flexibility
- Add LegendPosition enum and integrate with PlotConfig

### πŸ› Bug Fixes

- Validate standard deviation in rands function
- Specify numeric type for standard normal random samples
- *(example)* Specify numeric type for standard normal random samples in CIR.rs

### 🚜 Refactor

- Clean up documentation in simulation module
- Enhance type stability and remove Sized bounds in process traits
- Simplify trait implementations for type stability
- Remove redundant documentation for PointProcess trait implementations
- Update README files for clarity and consistency
- Simplify StandardStable struct by removing Copy trait

### πŸ“š Documentation

- Correct capitalization in documentation for Fractional Brownian motion
- Remove redundant documentation for ContinuousProcess trait implementations
- Remove redundant documentation comments across multiple files
- Specify numeric type for standard normal random samples

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.4.0
- Add rustfmt configuration for code formatting
- Remove rustfmt configuration file
- Update version to 0.4.1 in Cargo.toml

## [0.4.0] - 2025-05-19

### πŸš€ Features

- Implement LΓ©vy walk simulation
- Add linear interpolation and linspace functions
- Implement TAMSD simulation for point processes

### 🚜 Refactor

- Rename `traits.rs` to `basic.rs`
- Refactor simulation traits
- Rename getter methods for consistency
- Refact functional module for stochastic processes
- Update random sampling methods to use u64
- Update process traits to improve type stability
- Enhance type stability in Visualize trait implementations
- Simplify parameter types in simulation methods
- Update random sampling methods to use usize
- Rename methods for consistency and enhance type stability
- Update random sampling methods to improve type stability
- *(example)* Update simulation method signatures for type stability
- Rename Fbm to FBM for consistency
- Update documentation and method signatures for type stability

### πŸ“š Documentation

- Update documentation for LΓ©vy walk in mod.rs
- Update process documentation with module references

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.13
- Add `.idea` to .gitignore
- Bump version to 0.4.0 in Cargo.toml

## [0.3.13] - 2025-05-15

### πŸš€ Features

- Rename module `jump` to `point`,  change `LevyWalk` into `point`

### πŸ’Ό Other

- Update CTRW module import from `jump` to `point`

### 🚜 Refactor

- Update TAMSD struct to use generic process type
- Remove optional CSV feature and clean up error handling
- Update PlotConfig to include stairs option and simplify trajectory handling

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.3.13 in Cargo.toml

## [0.3.12] - 2025-05-12

### πŸ› Bug Fixes

- Update error handling in ensure_output_dir function

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.11
- Bump version to 0.3.12 in Cargo.toml
- Update CHANGELOG for version 0.3.12

## [0.3.11] - 2025-05-09

### πŸš€ Features

- Add visualization error types to XError enum
- Enhance ContinuousProcess and TAMSD with new methods
- Add variance method to TAMSD for enhanced statistical analysis

### πŸ’Ό Other

- Implement CIR process simulation and visualization
- Update output formatting in CIR example for improved readability

### 🚜 Refactor

- Use iterator style for path generation in Langevin simulations

### πŸ“š Documentation

- Enhance README examples with additional print statements
- Update README files to simplify descriptions and enhance clarity
- Update README files to include type annotations for methods
- Update README files to remove unnecessary type annotations
- Update README-zh.md to correct terminology for methods
- Update README files to improve clarity and consistency in random distributions and stochastic processes
- Update README-zh.md for terminology consistency
- Update README files to reflect changes in features and usage
- Update output formatting and terminology in README files
- Improve error handling and documentation in random number generation modules
- Enhance documentation for continuous simulation processes
- Enhance documentation for random walk simulation
- Enhance documentation for birth-death and CTRW processes
- Enhance documentation for circulant embedding and CSV writing
- Enhance documentation for plotting functions
- Update README files with new entries and error message improvements

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.3.11 in Cargo.toml

## [0.3.10] - 2025-05-07

### πŸš€ Features

- Add `TAMSD` struct and implementation for time-averaged mean square displacement
- Add GaussLegendreError to XError enum
- Refactor README examples to include main function

### πŸ“š Documentation

- Update traits.rs documentation to include structs

### πŸ§ͺ Testing

- Ignore continuous trajectory test for now

### βš™οΈ Miscellaneous Tasks

- Update py-diffusion submodule to dirty state
- Add gauss-quad dependency in Cargo.toml
- Add categories and keywords in Cargo.toml
- Bump version to 0.3.10 in Cargo.toml
- Update CHANGELOG for version 0.3.10
- Remove keywords from Cargo.toml

## [0.3.9] - 2025-05-06

### πŸš€ Features

- Implement From trait for PlotterError to XError

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.3.9 in Cargo.toml

## [0.3.8] - 2025-05-06

### πŸ› Bug Fixes

- Expose csv module in utils for better accessibility

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.7
- Add py-diffusion submodule
- Bump version to 0.3.8 in Cargo.toml

## [0.3.7] - 2025-05-06

### πŸš€ Features

- Add ensure_output_dir function to handle output directory creation
- Integrate ensure_output_dir in write_csv function

### 🚜 Refactor

- Remove ensure_output_dir function from draw.rs

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.6
- Bump version to 0.3.7 in Cargo.toml

## [0.3.6] - 2025-05-06

### πŸš€ Features

- Add Geometric Brownian motion simulation
- Add Geometric Brownian motion module
- Enhance ContinuousProcess and DiscreteProcess traits
- Add CSV error handling and CSV writing functionality
- Add CSV feature to default dependencies in Cargo.toml

### πŸ› Bug Fixes

- Mark GeometricBrownianMotion as completed in TODO list

### 🚜 Refactor

- Remove unused methods from continuous process simulations
- Remove unused simulation methods from RandomWalk
- Remove unused simulation methods from BirthDeath, CTRW, and Poisson

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.5
- Bump version to 0.3.6 in Cargo.toml

## [0.3.5] - 2025-04-29

### πŸš€ Features

- Add Brownian meander simulation implementation
- Add Brownian meander module to continuous simulation
- Add Asymmetric LΓ©vy process simulation
- Add Cauchy and Asymmetric Cauchy process simulations
- Add Gamma distribution random number generation
- Add Inverse process for continuous processes
- Implement Gamma process simulation

### πŸ› Bug Fixes

- Improve error handling and documentation in random distributions
- Update README documentation path for consistency

### 🚜 Refactor

- Simplify Brownian excursion simulation logic
- Improve code readability and structure in Brownian meander simulation

### πŸ“š Documentation

- Update README for random number generation and visualization
- Update README to include Brownian meander
- Update documentation to include Brownian meander in simulation module
- Mark Brownian meander as completed in TODO list
- Update README for visualization configuration consistency
- Add Cauchy process to README
- Update simulation module documentation to include Cauchy process
- Mark Cauchy process as completed in TODO list
- Add Chinese version link to README
- Update README for improved clarity and links
- Update random module documentation to include Gamma distribution
- Update Levy and Subordinator simulation examples for clarity
- Add Gamma process to README
- Add Gamma process to simulation documentation
- Mark Gamma process as completed in TODO list

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.4
- Update authors and description in Cargo.toml
- Bump version to 0.3.5 in Cargo.toml

## [0.3.4] - 2025-04-24

### πŸš€ Features

- Add FFT planner lock error to XError enum
- Enhance CirculantEmbedding with eigenvalue caching and FFT plans
- Enhance CirculantEmbedding with eigenvalue computation and caching
- Add Brownian excursion example simulation
- Add Brownian excursion simulation implementation
- Add visualization test for Brownian motion
- Update trajectory visualization to SVG format

### πŸ› Bug Fixes

- Replace unwrap with ? in simulation methods for better error handling
- Correct occupation time parameter in Brownian excursion test

### πŸ’Ό Other

- Add Brownian bridge example simulation

### 🚜 Refactor

- Update simulation return types from PointPair to Pair
- Simplify type casting in simulation methods
- Update CTRW simulation methods for improved clarity
- Update PlotConfig defaults and improve data handling

### πŸ“š Documentation

- Update documentation for random and simulation modules
- Update TODO list to mark BrownianBridge as completed
- Add Brownian excursion to the README files
- Add Brownian excursion description to simulation module
- Update mod.rs to include Brownian excursion in module exports
- Update TODO list to mark BrownianExcursion as completed

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.3
- Comment out unused pre-commit hooks for Rust
- Update dependency versions in Cargo.toml
- Update GitHub Actions workflow to include stable branch
- Update dependencies and version in Cargo.toml

## [0.3.3] - 2025-04-15

### πŸš€ Features

- Add deny.toml configuration file for cargo-deny
- Add pre-commit configuration for Rust and Python
- Implement Brownian bridge simulation

### πŸ“š Documentation

- Update mod.rs to include Brownian bridge in the simulation module documentation
- Update README files to include Brownian bridge in the list of processes

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.3.2 in Cargo.toml
- Update CHANGELOG for version 0.3.2
- Update GitHub Actions workflow to include specific file paths for Rust files
- Comment out unused pre-commit hooks for Rust
- Bump version to 0.3.3 in Cargo.toml

## [0.3.2] - 2025-04-05

### πŸš€ Features

- Enhance Fbm simulation and CirculantEmbedding functionality
- Add error handling for non-positive definite matrices

### 🚜 Refactor

- Update default implementations for simulation structs
- Clean up error messages in error.rs
- Update error messages for clarity
- Clean up error messages in error.rs

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.1
- Update GitHub Actions workflow to install dependencies
- Add optional dependency once_cell in Cargo.toml

## [0.3.1] - 2025-03-31

### πŸš€ Features

- Add TODO list for stochastic processes
- Introduce discrete process and trajectory traits
- Add discrete module for simulation
- Add random walk module to discrete simulation
- Implement LatticeRandomWalk for discrete simulation
- Implement RandomWalk struct for discrete simulation

### πŸ› Bug Fixes

- Correct capitalization in Chinese and English README files

### 🚜 Refactor

- Change module visibility to public in simulation files
- Update types in discrete simulation traits

### πŸ“š Documentation

- Enhance error handling documentation for diffusionx crate
- Enhance documentation and structure for stochastic processes
- Update benchmark section in README files
- Remove software environment details from Chinese README
- Improve comments in Brownian motion simulation
- Update README files to include DiscreteProcess trait
- Update README files to include Random Walk

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.3.0
- Remove unused benchmark for random number generation
- Bump version to 0.3.1 in Cargo.toml

## [0.3.0] - 2025-03-22

### πŸš€ Features

- Update CHANGELOG for version 0.2.2
- Add plotting functions for continuous and point trajectories
- Refactor simulation modules and add continuous processes
- Update documentation for version 0.2.2 and add visualization examples

### πŸ› Bug Fixes

- Update documentation for functional distribution simulation

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.3.0 in Cargo.toml

## [0.2.2] - 2025-03-20

### πŸš€ Features

- Implement Exponential, Normal, and Poisson distributions with error handling
- Add InvalidParameters error variant to XError enum
- Enhance visualization of Ornstein-Uhlenbeck process
- Enhance PlotConfig and visualization functionality
- Update version and add visualization feature

### πŸ’Ό Other

- Add examples for various stochastic processes

### βš™οΈ Miscellaneous Tasks

- Update CHANGELOG for version 0.2.1
- Update GitHub Actions workflow to limit branches for push and pull requests
- Update .gitignore to include tmp directory

## [0.2.1] - 2025-03-18

### πŸš€ Features

- Add visualization feature and enhance error handling

### βš™οΈ Miscellaneous Tasks

- Bump version to 0.2.1 and update dependencies

## [0.2.0] - 2025-03-18

### πŸš€ Features

- *(visualization)* Add optional visualization feature with Plotters integration
- *(visualization)* Enhance visualization capabilities with new PlotConfig and plotter modules
- *(error)* Add VisualizationError and PlotterError enums for enhanced error handling in visualization
- *(visualization)* Add time_step field and drawing trait for visualization
- *(error)* Add InvalidColor variant to PlotterError enum for enhanced error reporting
- *(visualization)* Enhance PlotConfig with new fields and color handling
- *(visualization)* Enhance PlotConfig and Visualize trait for improved plotting
- Update version to 0.2.0 and add visualization feature

### πŸ› Bug Fixes

- *(visualization)* Update PlotConfig struct for improved type handling
- *(tests)* Update occupation time assertions for stability

### 🚜 Refactor

- *(functions)* Remove sine and cosine functions for pi calculations
- *(functions)* Remove gamma function documentation
- *(visualization)* Update .gitignore and remove plotter module
- *(visualization)* Simplify RGBColor conversion in Color enum
- *(visualization)* Remove visualization module and related dependencies

### πŸ“š Documentation

- *(changelog)* Update CHANGELOG.md for version 0.1.9

### βš™οΈ Miscellaneous Tasks

- *(dependencies)* Simplify Cargo.toml by removing features section and updating optional dependencies to required
- *(visualization)* Comment out plotter module and its usage
- *(workflow)* Update GitHub Actions to include 'plot' branch for CI

## [0.1.9] - 2025-03-12

### πŸš€ Features

- *(simulation)* Add Birth-death process simulation module

### πŸ“š Documentation

- *(readme)* Update roadmap with Birth-death process feature

### βš™οΈ Miscellaneous Tasks

- *(changelog)* Update CHANGELOG.md for version 0.1.8
- *(version)* Bump library version to 0.1.9 in Cargo.toml

## [0.1.8] - 2025-03-08

### πŸš€ Features

- *(simulation)* Add Ornstein-Uhlenbeck process simulation module

### πŸ’Ό Other

- *(rust-ver 0.1.7)* Bump version to 0.1.7 and update changelog

### 🚜 Refactor

- Restructure project and remove Python bindings to a new repo
- *(simulation)* Generalize Langevin and Generalized Langevin structs with generic function types

### πŸ“š Documentation

- Refactor README for improved clarity and content
- Update README language links and formatting
- *(readme)* Enhance README with comprehensive library overview and refined examples

### πŸ§ͺ Testing

- Refactor test suites for simulation modules
- Modify Langevin test case to remove strict assertion

## [Rust-v0.1.7] - 2025-03-05

### πŸš€ Features

- *(py-diffusionx)* Add support for FBM, CTRW and Langevin processes
- *(levy_walk)* Add Levy walk simulation module

### 🚜 Refactor

- Format

### πŸ“š Documentation

- *(changelog)* Add entries for Python-v0.1.3 and Rust-v0.1.6 releases

## [Rust-v0.1.6] - 2025-03-04

### πŸš€ Features

- *(CTRW)* Add continuous-time random walk model

### πŸ’Ό Other

- Bump Rust crate version 0.1.6

### πŸ“š Documentation

- *(CHANGELOG)* Update changelog for Rust v0.1.5 release
- *(bm,fbm)* Improve documentation and code formatting

## [Rust-v0.1.5] - 2025-03-01

### πŸš€ Features

- *(Rust)* Add Circulant Embedding Method for Gaussian Random Fields
- *(Simulation)* Implement Fractional Brownian Motion (fBm) simulation

### 🚜 Refactor

- *(Simulation)* Improve code formatting and import organization
- *(circulant_embedding.rs)* Enhance performance and add variance normalization
- *(circulant_embedding.rs)* Remove variance normalization code
- *(utils)* Reorganize utility functions and add circulant embedding module

### βš™οΈ Miscellaneous Tasks

- *(Dependencies)* Upgrade Rust dependencies for advanced numerical computing
- *(Dependencies)* Remove ndarray dependency from project

## [Rust-v0.1.4] - 2025-02-24

### πŸš€ Features

- *(Rust)* Add occupation time for inverse subordinator
- *(Python)* Add functional simulation methods for first passage time and occupation time
- *(Python)* Add Poisson, Subordinator, and Inverse Subordinator simulation classes
- *(Rust)* Add Langevin equation simulation module
- *(Simulation)* Add Generalized Langevin Equation Simulation
- *(Simulation)* Add Subordinated Langevin Equation Simulation

### πŸ› Bug Fixes

- *(Langevin)* Correct stochastic simulation noise scaling

### πŸ’Ό Other

- Release Rust version 0.1.3
- Bump Python package version to 0.1.2

### 🚜 Refactor

- *(Langevin)* Remove unnecessary start position validation

### πŸ“š Documentation

- *(Rust)* Update CHANGELOG for version 0.1.3
- *(CHANGELOG)* Update changelog for Python version 0.1.2
- Update benchmark results with new hardware and software configuration
- *(Rust)* Update README and documentation for Langevin equation implementations

### βš™οΈ Miscellaneous Tasks

- Update project dependencies and benchmark performance
- Bump package version to 0.1.4

## [Rust-0.1.3] - 2025-02-21

### πŸš€ Features

- *(Rust)* Add subordinator simulation module
- *(Rust)* Add Poisson process simulation module
- *(Rust)* Add callable feature for simulation processes, which needs `nightly`.
- Add point process simulation methods for first passage and occupation time
- *(Rust)* Implement inverse subordinator simulation

### 🚜 Refactor

- Move simulate_with_duration implementation to traits module
- Standardize import statements and code formatting
- Optimize slice copying in point process duration simulation

### πŸ“š Documentation

- Improve documentation for Brownian motion and LΓ©vy process simulations
- Update README with subordinator process roadmap
- *(Rust)* Implement subordinator and Poisson process simulations

### βš™οΈ Miscellaneous Tasks

- Remove rust-toolchain.toml configuration
- Update Rust toolchain and license configuration
- Remove callable feature and nightly Rust toolchain

## [Rust-v0.1.2] - 2025-02-19

### πŸš€ Features

- Add occupation time functionality
- Add LΓ©vy process simulation and related functionality
- Add occupation time for Brownian motion

### πŸ› Bug Fixes

- *(Python)* Add input validation for Brownian motion and LΓ©vy process methods

### πŸ’Ό Other

- Lower Python version requirement to 3.9

### 🚜 Refactor

- Remove gamma function implementations from utils
- Enhance simulation traits with continuous and point process abstractions
- Update Brownian motion and LΓ©vy process simulation traits
- Optimize occupation time calculation using iterator methods
- Improve code formatting and import organization
- Introduce simulation prelude module for simplified imports
- Expose simulation module traits and functional components

### πŸ“š Documentation

- Add comprehensive README for Python package
- Update README with new features and progress
- Update project roadmap and feature tracking
- Update README files with comprehensive random number generation and simulation examples

### βš™οΈ Miscellaneous Tasks

- Add PyPI publication workflow for Python package
- Switch Rust toolchain from stable to beta in publish workflow
- Remove test step from Python publish workflow
- Add changelog and git-cliff configuration
- Update CHANGELOG.md with recent project developments
- Bump project version to 0.1.2
- Prepare Rust release v0.1.2

## [0.1.0] - 2025-02-19

### πŸš€ Features

- Add minmax utility function for finding min and max values in f64 arrays
- Add first passage time (FPT) calculation for Brownian motion
- Enhance first passage time (FPT) calculation with max duration
- Add Levy process simulation module

### πŸ’Ό Other

- Add justfile for generating Rust documentation

### 🚜 Refactor

- Traits
- Update Brownian motion simulation and traits
- Simplify Moment and Functional trait implementations
- Remove unused unchecked Brownian motion constructor
- Restructure simulation traits and add first passage time functionality
- Implement StochasticProcess and Trajectory for Brownian motion
- Remove nightly feature and related code

### πŸ“š Documentation

- Update README with comprehensive library overview and usage examples
- Simplify README with focused usage examples
- Update README with refined usage examples and syntax
- Update README with first passage time (FPT) example
- Refine README with updated Brownian motion simulation examples
- δΈ­ζ–‡,  English docs
- Update README with first passage time (FPT) max duration example
- Generate Rust documentation for DiffusionX library
- Update Rust documentation for DiffusionX library
- Modify justfile to clean documentation directory before generation
- Add documentation badge to README files
- Add Julia version reference to README files
- Update Rust documentation for simulation module
- Update README examples for Brownian motion simulation
- Add extensibility section to README files
- Minor README update for extensibility section
- Update documentation links in README files
- Update documentation badge links to Rust documentation path
- Minor documentation updates and formatting improvements
- Remove generated Rust documentation files

### πŸ§ͺ Testing

- Add comprehensive random number generation tests
- *(rust)* Add statistical utility functions for random number generation tests
- *(python)* Enhance stable distribution random number generation tests

### βš™οΈ Miscellaneous Tasks

- Minor formatting in types module
- Add GitHub Pages deployment workflow for documentation

<!-- generated by git-cliff -->